自动化测试相关
-
概念
自动化测试就是在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果,也就是将人为的测试转为机器执行的过程; -
常见自动化测试工具
QTP、selenium、jmeter(UI自动化)、appium(手机)、soapui(UI自动化)、Loadrunner等;
自动化测试方法
测试对象:UI、接口、代码;
测试过程:系统测试、集成测试、单元测试;
执行人员:测试人员、开发人员;
自动化测试流程:
(1)确定和搭建测试框架;
(2)编写测试用例,将测试用例转为自动化测试脚本;
(3)执行自动化测试脚本;
(4)输出执行结果报告;
(5)完善自动化测试脚本;
自动化测试适合什么项目?
回答这个问题时我们不能一概而论,首先要知道我们有UI自动化和接口自动化,UI自动化适合界面元素比较稳定的项目,它使用自动化的时机是前端开发完成之后并且项目功能稳定时;而接口自动化适合后端开发完成,并且项目功能稳定的项目,它使用自动化的时机是在后端开发完成之后,就可以进行接口测试;
selenium
selenium是web自动化测试工具,他的优点有:
(1)免费小巧;
(2)支持多平台,例如支持Windows、Linux、MAC;
(3)支持多浏览器,例如支持IE、Chrome、Firefox、Safari、edge;
(4)支持多语言,例如支持C、java、ruby、Python、C#;
(5)支持分布式;
selenium2.0版本继承了webdriver,webdriver解决了之前selenium存在的一些问题,而selenium有解决了webdriver存在的问题,那么webdriver的工作原理是什么?
我们这里可以使用许多业内人士使用的一个例子来介绍,我们可以将webdriver浏览器驱动比作一个出租车司机开出租车的例子,这里我在网上复制来的一个图:
它有三个角色:
乘客:告诉司机去哪里,怎么走;
司机:按照乘客的要求操控出租车;
出租车:按照司机的操控来行驶,把乘客送到目的地;
其实在编写selenium webdriver的自动化测试时,也是三个角色,如图:
编写自动化代码的测试工程师 : 运行自动化代码将请求发送到浏览器驱动;
浏览器驱动:解析自动化测试的代码,解析后将其发送给浏览器;
浏览器:执行浏览器驱动发送的指令,最终完成工程师想要的操作;
也就是编写自动化代码的测试工程师相当于乘客,浏览器驱动相当于司机,浏览器相当于出租车;
执行自动化脚本,会执行以下步骤:
(1)对于每个Selenium命令,都会创建一个HTTP请求并将其发送到浏览器驱动程序
(2)浏览器驱动使用HTTP服务器来获取HTTP请求
(3)HTTP服务器确定实现Selenium命令所需的步骤
(4)实现步骤在浏览器上执行
(5)执行状态被发送回HTTP服务器
(6)在HTTP服务器返回该状态的自动化脚本