环境:
Python:3.6.1
selenium:3.4.3
Firefox:54.0.1
geckodriver:0.15.0
chrome:59.0.3
chromedriver:v3.1
自动化测试基础
1、软件测试分类
根据项目流程:单元测试(编码)、集成测试(设计)、系统测试(需求)、验收测试
根据代码是否可见:白盒测试、黑盒测试、灰盒测试
功能测试:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试
性能测试:负载测试、压力测试
手工测试:手工执行测试用例
自动化测试:性能自动化和功能自动化
冒烟测试:在对系统进行正式测试之前,先验证主要功能是否实现,是否具备可测性
回归测试:修改代码之后确保没有引入新的错误,或导致其他代码产生错误
随机测试:为了模拟用户的操作,测试中输入的数据都是随机的,以便发现一些边缘性的错误
探索性测试:强调主观能动性,碰到问题时主动改变策略
安全测试:验证产品是否符合安全需求定义和产品质量标准
2、什么项目适合自动化
1)项目需求变动不频繁
2)项目周期长
3)自动化测试脚本可复用
3、自动化测试分类和工具
1)分类:UI自动化、接口自动化、单元测试自动化
QTP:企业级自动化测试工具,支持B/S,C/S架构
robot framework:Python语言编写,支持关键字驱动,分布式测试
Watir:基于web模式的功能自动化测试工具
selenium:支持多语言、多平台、多浏览器
4、selenium工具
1)特点:多语言---Java、Python、PHP、ruby
多平台---Windows、Linux、Mac
多浏览器----Firefox、chrome、IE
开源、免费
简单、灵活
2)selenium1.0
selenium IDE:实现浏览器操作的简单录制和回放,支持多种语言
selenium Grid:自动化测试辅助工具
并行执行
通过一个主机控制用例在不同环境、不同浏览器下执行
selenium RC:selenium的核心,支持多种编程语言编写脚本,通过selenium服务器作为代理服务器去访问应用,从而实现测试的目的。
selenium RC:client libraries---编写测试脚本,控制selenium server的库
,selenium server---控制浏览器行为
selenium server:selenium core---一堆js函数,嵌入到浏览器中,通过这些函数控制浏览器操作launcher---启动浏览器,并将selenium core加载到浏览器中,将selenium server的http proxy设置为浏览器的代理服务器
3)selenium2.0
webdriver替代了selenium RC,为了向下兼容性,selenium RC仍然可以使用
selenium RC通过嵌入到浏览器中的js函数操作
webdriver针对各浏览器开发,通过原生浏览器支持或者浏览器扩展控制浏览器