广州住建网站,wordpress网站跳转nginx,梅州建设网站,江苏建设厅网站更新1.概述
selenium#xff1a;
基于JavaScript代码库的自动化测试框架#xff0c;通过脚本语言#xff0c;模拟用户行为操作#xff0c;最接近用户真实场景#xff0c;实现对web自动测试。
Selenium#xff0c;是目前的最火爆企业最主流的webUI自动化框架
pytest:
pytest是…1.概述
selenium
基于JavaScript代码库的自动化测试框架通过脚本语言模拟用户行为操作最接近用户真实场景实现对web自动测试。
Selenium是目前的最火爆企业最主流的webUI自动化框架
pytest:
pytest是一个非常成熟的全功能的Python测试框架是unittest框架的扩展主要特点有以下几点
1、简单灵活非常方便的组织自动化测试用例
2、支持参数化可以细粒度地控制要测试的测试用例
3、能够支持简单的单元测试和复杂的功能测试比如web端selenium/移动端appnium等自动化测试、request接口自动化测试
4、pytest具有很多第三方插件并且可以自定义扩展比如测试报告生成失败重运行机制
5、测试用例的skip和fail处理
6、结合业界最美的测试报告allureJenkins持续集成
2.环境搭建
pip install -U pytest
pytest-xdist #多线程
pip install -U pytest-rerunfailures #重试运行cases
pip install pytest-html #生成测试报告
pytest --version # 会展示当前已安装版本
3.编写规则
编写pytest测试样例非常简单只需要按照下面的规则
测试文件以test_开头以test结尾也可以
测试类以Test开头并且不能带有 init 方法
测试函数以test开头
断言使用基本的assert即可
4.seleniumpytest案例实操import pytest # 引入pytest包
def test_a(): # test开头的测试函数
print(-------test_a)
assert 1 # 断言成功
def test_b():
print(-------test_b)
assert 0 # 断言失败
if name main:
pytest.main([-s, class01.py])
可以包含一个或多个Test开头的测试类test_开头的函数
1.测试类主函数模式
pytest.main([-s, test.py])
2.命令行模式运行
pytest 文件路径测试文件名
5. 扩展插件
5.1. 测试报告 pytest-html
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,-n2])
-n2 表示2个线程并发运行所有的测试用例
5.3 allure测试报告allure-pytest
运行用例pytest.main([-s, -q, --alluredir, ./report/xml])
pytest 测试目标文件 --alluredir 数据目录
运行后的结果是生成xml的数据集合
生成报告allure generate --clean ./report/xml/ -o ./results/html/
第一个是数据集目录第二个是生成报告目录
-o是指向目标生成测试报告的目录
6.conftest配置
当自动化用例越来越庞大的时候很多用例的数据可以共享复用让用例脚本可读性维护性更高比如登录等
conftest.py 配置里可以实现数据共享比如py跨文件共享前置
conftest.py配置脚本名称是固定的不能改名称
不需要import导入 conftest.pypytest用例会自动查找自从使用了pytest框架爱了爱了深深的感受到它的可扩展性和灵活性老板再也不用担心我的自动化效率低
原创不易燃烧秀发输出内容如果有一丢丢收获点个赞鼓励一下吧
整理了一份216页软件测试大厂面试题以及2020推荐最新的简历模板送给小伙伴们关注公众号程序员一凡回复【简历】自行领取和一些小伙伴建立一个技术交流群一起探讨技术分享技术资料旨在共同学习进步如果感兴趣就加入我们吧