目前自动化测试可谓是人人在提,而且自动化工具和一些开源框架也是层出不穷。截止现在,我也接触了一些自动化的知识,分享下。
一、WebUI自动化
1. 工具或框架
Unittest框架,Selenium+Webdriver+Python集成开发
- 优势: ①使用脚本直接来写,可以锻炼测试的代码能力 ②对于一个团队中人才的吸引也是有很大帮助的 ③可以更方便的加入一些断言或者错误处理 ③对于一些数据处理可能更灵活些
- 劣势: ①对测试人员的代码功底可能要求稍微高一点 ②对脚本的健壮性要求比较高
2. 框架说明 【对应的截图见步骤3-框架截图】 ①:截图功能。保存所有截图的图片,主要是用于复杂的页面,开发成本大的时候,可以把运行过程中的某些页面截图,保留现场,方便问题查找; ②:报告日志。把运行的过程和结果数据,全部保存起来,并且以Html的格式显示,比较直观,利于问题分析; ③:测试用例集。主要是所有的测试用例的集中管理,测试用例名称必须以test开头,这样unitetest才能识别到用例; ④:工具集。主要包含配置文件的调用、工程初始化、配置文件读取、邮件发送(设置对应的收发邮件人,可以把测试报告以邮件附件的方式发给项目组成员,方便大家查阅) ⑤:业务单元模块。主要是要实现的业务单元功能模块,包含具体的业务功能和操作; ⑥:框架入口。就是运行整个框架或者脚本的入口,此入口可实现一键操作就可以运行该工程下的所有测试用例。也可以单独制定运行某一条用例; ⑦:配置文件。所有的配置文件,包含execl、conf、json等格式的配置文件。主要用于参数化,数据驱动,配置信息等。
3. 框架截图
二、Web接口自动化
1. 工具或框架
Unittest框架,Selenium+Request+Python集成开发
- 优势: 同WebUI自动化
- 劣势: 同WebUI自动化
直接使用接口工具,如postman、Jmeter等
2. 框架截图 ①直接用脚本的话,其实和UI差不多,如下: ②如果使用工具的话,当然也很方便,postman如下: ①:接口请求的方式,如post、get、put等 ②:接口的URL ③:接口请求的Body格式及内容
三、Web服务性能测试
1. 工具或框架
LoadRunner+Nmon
2. 工具说明
- LoadRunner:
①可以提供脚本录制; ②支持多种协议; ③部分版本是可以pojie的; ④可设置多种测试场景; ⑤软件本身可以给出一些性能指标,如:错误数、事务平均响应时间、每秒点击次数、吞吐率等
- Nmon
直接装在被测服务器上,可以监控服务的CPU、IO、进程、线程、内存等信息
3. 工具截图 LR: NMON:
四、移动端自动化
1. 工具或框架
UI自动化:Appium+Python/Java 安卓系统兼容性:Google CTS
2. 框架说明 主要内容可以查看如下图: APPIUM:
GOOGLS CTS:
五、桌面端自动化
1. 工具或框架
Ranorex+C#/VBS
- 优势: 选择Ranorex,主要是因为可以进行破解,而且支持的平台比较多,最主要目前的自己的项目是基于QT集成开发。貌似qtp不支持qt控件,具体没怎么研究。
2. 框架说明
桌面端这个,后边会单独出一章比较详细的内容,当做是自己的学习笔记了。