更多学习教程关注公众号:程序员一凡
1.概述
基于JavaScript代码库的自动化测试框架,通过脚本语言,模拟用户行为操作,最接近用户真实场景,实现对web自动测试。
Selenium,是目前的最火爆企业最主流的webUI自动化框架
pytest是一个非常成熟的全功能的Python测试框架,是unittest框架的扩展,主要特点有以下几点:
[if !supportLists]l [endif]1、简单灵活,非常方便的组织自动化测试用例;
[if !supportLists]l [endif]2、支持参数化,可以细粒度地控制要测试的测试用例;
[if !supportLists]l [endif]3、能够支持简单的单元测试和复杂的功能测试,比如web端selenium/移动端appnium等自动化测试、request接口自动化测试
[if !supportLists]l [endif]4、pytest具有很多第三方插件,并且可以自定义扩展,比如测试报告生成,失败重运行机制
[if !supportLists]l [endif]5、测试用例的skip和fail处理;
[if !supportLists]l [endif]6、结合业界最美的测试报告allure+Jenkins,持续集成
pytest
pip install -Upytest-rerunfailures #重试运行cases
pip install pytest-html #生成测试报告
[if !supportLists]l [endif]测试文件以test_开头(以_test结尾也可以)
[if !supportLists]l [endif]测试类以Test开头,并且不能带有init 方法
[if !supportLists]l [endif]测试函数以test_开头
[if !supportLists]l [endif]断言使用基本的assert即可
import pytest #引入pytest包
pytest.main(['-s', 'class01.py'])
可以包含一个或多个Test开头的测试类,test_开头的函数
pytest.main(['-s', 'test.py'])
pytest.main(['-s','test.py','--html=./report/result.html'])
:表示当前路径下生成report文件夹,result.html文件
5.2 批量运行用例:pytest-xdist
pytest.main(['-s','test.py','--html=./report/result.html','-n=2'])
运行用例:pytest.main(['-s', '-q', '--alluredir',
'./report/xml'])
生成报告:allure generate --clean ./report/xml/ -o
./results/html/
当自动化用例越来越庞大的时候,很多用例的数据可以共享,复用,让用例脚本可读性,维护性更高,比如登录等
conftest.py 配置里可以实现数据共享,比如py跨文件共享前置
不需要import导入conftest.py,pytest用例会自动查找
自从使用了pytest框架,爱了爱了,深深的感受到它的可扩展性和灵活性,老板再也不用担心我的自动化效率低
更多学习教程关注公众号:程序员一凡
网友评论