单元测试:对软件开发中,对软件的最小单位(函数、方法)进行正确性检查测试。
java框架:jnuit和testing。
python框架:unittest和pytest。
流程:i:测试发现:从多个文件中找到测试用例。
ii:测试执行:按照一定顺序和规则去执行并生成结果。
iii:测试判断:通过断言判断预期结果和实际结果的差异。
iV:测试报告:统计测试进度,耗时、通过率,生成测试报告。
自动化测试框架:
单元测试框架只是自动化测试框架的组成部分之一。
python成熟的单元测试框架,更灵活。
可以和selenlum,request,applum结合实现web、接口、app自动化。
可以实现测试用例的跳过和失败用例重试。
pytest可以和allure生成美观的测试报告。
pytest可以和jenkins持续集成。
pytest有很多强大的插件:pytest-html(生成html格式的自动化测试报告)
pytest-xdlst(测试用例分布式执行,多CPU分发)
pytest-ordering(改变测试用例的执行顺序)
pytest-returnfailures(用例失败重跑)
allure-pytest(生成美观的测试报告)。
插件批量下载:创建requirement.txt,将插件的名称下上,然后执行pip install -r requirement.txt即可。
-s 表示输出调试信息,包括print打印信息。
-v 表示输出详细信息
-vs 表示v和s一起使用
-n 表示多线程使用:pytest -vs ./testcase/test_login.py -n 2
通过读取pytest.ini配置文件运行。
pytest.ini文件是pytest的单元测试框架的配置文件。
在测试用例文件中添加pytest.mark.xxx标记用例属于什么
pytest.mark.run(order=2) 通过设置不同的order设置用例执行顺序
pytest.mark.skip(reason="xxx") 跳过测试用例,原因xxx
pytest.mark.smoke 设置该用例是smoke类型的
在全局配置文件pytest.ini添加上不同的分组
执行pytest -m "smoke" #这样-m表示分组,就是执行通过smoke标记的用例。
在pytest.ini 文件的addopts参数追加参数生成报告
--html ./report/report.html 在report目录下生成report.html的测试报告
setup是每个测试用例之前的初始化代码,每个测试用例执行之前都会调用
teardown是每个测试用例之后的扫尾代码,每个测试用例执行之后都会调用
setup_class是每个类执行之前的初始化工作,只会执行一次
teardown_class是每个类执行之后的扫尾工作,只会执行一次
可以通过@pytest.fixture 来实现部分用例的前后置函数调用。
https://github.com/allure-framework/allure2/release
path路径: 找到bin文件路径,如:E:\allure-2.13.7\bin 配置到path中
验证:allure --version。如果dos可以验证但是pycharm验证失败,重启pycharm
--alluredir /temp
在all.py的main函数之后添加
os system('allure generate /temp -o ./report --clean')
用来发送http请求以及响应的python的第三方库,主要用于接口自动化。
//安装 pip install requests //常用方法 request.get() request.post() //data和json传参,区别在于请求头的Content-Type来区别 request.put() request.delete()