为什么要做自动化测试?
- 节省手动测试的人力和成本,提高测试时间和质量
- 有助于提升测试团队的测试技术
- 公司项目需求,便捷自己
分层自动化测试
- UI测试(不管是CS还是web端元素测试),web测试元素变动比较大,不要定位
- 集成接口测试
- 单元测试(一般比较稳定,一般是开发人员测试,测试人员也可以接口测试)
什么产品适合自动化测试?
- 功能成熟(需求变动较小)
- 产品更新维护周期长
- 项目进度不太大
- 比较频繁的回归测试
- 软件开发比较规范,具有可测试性
- 脚本具有可复用性
selenium 技术
- 元素定位的几种方法:webDriver API ,selenium IDE ,selenium Grid
Python 技术
- 函数 、类、方法:读写文件,unitest 单元测试框架, HTML test Runner.py(生产测试报告)发邮件模块,多线程技术等
selenium的特点:
- 开源、免费
- 多浏览器支持,fixfor,chrome 、IE
- 多平台支持:Linux、windows、Mac
- 多语言支持:java、python、ruby、php、c#
- 多web页面有良好的支持
- 简单(API),灵活(开发语言驱动)
- 支持分布式测试用例执行
selenium家谱
- selenium 1.0包括了:selenium IDE,selenium Grid,selenium RC三部分组成(selenium IDE 是firefox的一个插件,可以录制和回放脚本 selenium Grid,可以测试浏览器的兼容性,用于实现多线程分布式测试)
- selenium RC包含了:通过java script Client、selenium Servier
- selenium server 包含了:launcher:启动浏览器,Http Proxy:selenium seerver 的Http请求, Gore 嵌入到浏览器的JS代码
- selenium 2.0=selenium1.0+webDrive 向下兼容