概念
自动化测试模型可以看作自动化测试框架与工具设计的思想。
本地Web测试站点搭建:
- 工具:帝国CMS
- 下载地址:http://www.phome.net/download/
- 安装步骤
- 解压安装包;
- 将安装包的“EmpireServer”目录复制到D盘根目录;(D:\EmpireServer目录名不可更改)
- 双击“D:\EmpireServer\一键安装.bat”;(用vista或windows7以上则要鼠标右键以管理员身份运行)
- 至此,运行环境及帝国CMS全部安装完毕;
- 在浏览器打入:http://localhost/e/admin 后回车,进入帝国CMS后台登陆界面。
- 前台地址:http://localhost
- 后台地址:http://localhost/e/admin
(登录用户名、密码与认证码均为admin)
线性模型
线性脚本中每个脚本都相互独立,且不会产生其他依赖与调用,其实就是简单模拟用户某个操作流程产生的脚本。
案例:在帝国软件主页自动登录和退出操作
1 | from selenium import webdriver |
模块化驱动测试
线性模型虽然每个用例都可以拿出来独立运行,但是用例之间重复代码很多,开发、维护成本高。其实把重复的操作代码封装为独立的公共模块,当用例执行时需要用到这部分,直接调用即可,这就是模块驱动的方式。比如登录系统、退出登录、截图函数等等。
1 | from selenium import webdriver |
调用登录模块
1 | from LoginClass import * |
数据驱动测试
模块驱动的模型虽然解决了脚本的重复问题,但是需要测试不同数据的用例时,模块驱动的方式就不很适合了。
接口自动化中测试用例和脚本的分离、测试不同的账号执行情况、操作的流程相同但是数据不同等等这些用数据驱动吧。
数据驱动就是数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变。
装载数据的方式可以是列表、字典或是外部文件(txt、csv、xml、excel),目的就是实现数据和脚本的分离。
1 | from selenium import webdriver |
数据驱动调用
1 | from LoginClass_Para import * |
关键字驱动测试
通过关键字的改变引起测试结果的改变叫关键字驱动测试。
selenium IDE也是一种传统的关键字驱动的自动化工具,Robot Framework 是一个功能更强大的关键字驱动测试框架