UI自动化测试框架基于python-selenium-unittest-HTMLTestRunner
互联网公司更新迭代比较快,版本发布频率较高,在每次上线之前要做一次整体的回归测试,所以留给测试人员的时间并没有很多, 实施UI自动化测试,构建到jenkins上进行周期的运行,提测后,或者上线前都会进行运行测试,保障每一次更新迭代功能不受影响。
框架主要使用了page_object模式,对每个页面进行封装,需要操作时直接调用封装的方法,这样做的好处是如果页面发生变化,不需要 去调整用例,只需要对封装的页面进行调整。
分模块管理,互不影响,随时组装,即拿即用。
#测试框架分层设计 把常见的操作和查找封装成基础类,不管是什么产品,可直接拿来复用 业务层主要是封装对象页面类,一个页面建一个类,业务层页面继承基础层 用例层针对产品页面功能进行构造摸拟执行测试 框架层提供基础组件,支撑整个流程执行及功能扩展,给用例层提供各页面的元素数据、用例测试数据,测试报告输出等
安装说明如下:
下载地址如下:
https://www.python.org/downloads/release/python-365/
安装时记得勾选Add Python 3.6 to PATH
cmd命令行输入如下:
Pip install selenium
Pip install requests
或
进入到程序根目录运行:
pip install -r requirements.txt
把driver目录下的浏览器驱动文件chromedriver文件和报表插件HTMLTestRunner_PY3.py放置在指定目录
chromedriver复制到chrome目录和path下,如C:\Program Files (x86)\Google\Chrome\Application
chromedriver复制到python目录和path下,如D:\software\python36
HTMLTestRunner_PY3.py复制到python目录lib下,如C:\Python36\Lib
框架使用说明如下:
例如,我们要新增登录功能测试用例:
首先,在page_obj目录下新增一个loginPage.py文件,是用来封装登录页面对象类,执行登录测试流程操作; 然后,在test_case目录下创建测试用例文件A_login_case.py,采用测试业务代码驱动读取测试数据; 综上所述,编写用例方法只需要按以上两个个步骤创建->编写即可。
HTML报告日志 HTML报告点击截图,弹出截图 测试报告通过的日志 自动截图存放指定的目录 邮件测试报告
尽量用相对路径的xpath表达式;
查找元素优先用显示等待;
用例与用例之间尽量避免产生依赖,用例可以独立执行;
用例执行结束后对测试场景进行还原,避免影响其他用例的执行;
脚本执行失败后加入重试机制,提升用例的稳定性;
尽量保证单独的测试环境,避免其他的测试同步进行;
UI自动化测试用例是从手工测试用例中提取出来的,跟手工测试用例相比,自动化测试用例更加注重用例的严谨性,选择用例的时候遵循以下原则:
优先选取覆盖产品核心功能的用例;
从成本考量,不要选择流程过于复杂的用例;
选取的用例可以是重复执行,繁琐的部分,比如字段验证、提示信息验证;
优先实现正向的测试用例,反向用例一般情况复杂、数量多;
2022-04-14 1.测试报告文件调整为HTMLTestRunner_cn.py,请将文件放置在\Python\Python36\Lib目录下 2.调整测试用例每个case文件启动一次浏览器(之前为每个用例启动一次) 3.通过正则获取图片验证码base64,用dddocr自动识别图片验证码
2022-04-20 1.调整每个case文件只需要第一条用例执行登陆即可,相同case下的其他用例取消登陆,增加运行速度。
2022-04-25 1.增加错误重试机制,当用例执行错误或者失败,则重新处理一次,取最后一次结果 2.增加报告发送邮件正文,编写html类型的邮件正文,MIMEtext()用于定义邮件正文
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。