当前位置: 首页 > wzjs >正文

使用redis做视频网站缓存淘宝客推广

使用redis做视频网站缓存,淘宝客推广,汽车精品设计网站建设,怎么做刷qq会员的网站文章目录 一、pytest用例管理框架(单元测试框架)二、pytest简介三、pytest的最基本的测试用例的规则四、运行方式1.主函数方式2.命令行方式3.通过pytest.ini的配置文件运行 五、pytest 默认执行测试用例的顺序六、跳过测试用例1.无条件跳过 pytest.mark.…

文章目录

      • 一、pytest用例管理框架(单元测试框架)
      • 二、pytest简介
      • 三、pytest的最基本的测试用例的规则
      • 四、运行方式
        • 1.主函数方式
        • 2.命令行方式
        • 3.通过pytest.ini的配置文件运行
      • 五、pytest 默认执行测试用例的顺序
      • 六、跳过测试用例
        • 1.无条件跳过 `@pytest.mark.skip()`
        • 2.有条件跳过 ` @pytest.mark.skipif()`
      • 七、用例的前后置,固件,夹具,钩子函数

一、pytest用例管理框架(单元测试框架)

1.分类

  • python:unittest,pytest 非常熟练。
  • java:testng,junit

2.主要作用

  • 发现测试用例:从多个py文件里面按照一定的规则找到测试用例。
  • 执行测试用例:按照一定的顺序执行测试用例,并生成结果。
    • pytest::默认从上到下,可以用装饰器改变规则。
    • unittest:默认安装ASCII顺序去执行。
  • 判断测试结果:断言。
  • 生成测试报告:pytest-html,allure报告。

二、pytest简介

1.基于python的单元测试框架,它可以和selenium,requests,appium结合实现自动化测试。
2.实现用例跳过skip和reruns失败用例重跑。
3.它可以结合allure-pytest插件生成allure报告。
4.很方便和jenkins实现持续集成。
5.有很多强大的插件:

  • pytest-html 生成html测试报告。
  • pytest-xdist 多线程执行测试用例。
  • pytest-ordering 改变测试用例的执行顺序。
  • pytest-rerunfailures 失败用例重跑
  • allure-pytest 生成allure报告。

放到一个requirements.txt的文档中,如:

pytest
pytest-html
pytest-xdist
pytest-ordering
pytest-rerunfailures
allure-pytest

然后通过:pip install -r requirements.txt

三、pytest的最基本的测试用例的规则

1.模块名必须以test_开头或者_test结尾。
2.测试类必须以Test开头,并且不能带有init方法。
3.测试用例必须以test_开头。

命令规范:

  • 模块名:一般全小写:多个英文之间用_隔开。
  • 类名:类名一般是首字母大写
  • 方法名:一般全小写:多个英文之间用_隔开。

四、运行方式

1.主函数方式

常见参数:
-v:输出更加详细的信息。比如文件和用例名称等。
-s:输出调试信息。打印信息等。
可以合并成:-vs
--reruns 2:失败重跑N次
-x:出现1个失败就停止测试。
--maxfail=2 出现N个失败就终止测试。
--html=report.html 生成html的测试报告
-n:多线程。
-k:运行测试用例名称中包含指定字符串的用例。
指定字符串运行测试用例:

import pytest
if __name__ == "__main__":pytest.main(['-vs','--reruns=2','-k','01'])

指定模块运行测试用例:

pytest.main(['-vs','testcases/test_01.py'])

指定文件夹运行测试用例:

pytest.main(['-vs','testcases/'])

通过node id的方式运行测试用例

pytest.main(['-vs','testcases/test_02.py::Test02::test_02'])
2.命令行方式

先切换到要执行的项目根目录下,然后执行pytest 命令

  • 无参数:
    pytest
  • 有参数:
    pytest -vs testcases/test_02.py::Test02::test_01
3.通过pytest.ini的配置文件运行

注:不管是命令行还是主函数都会读取这个配置文件

  • [pytest] 用于标记这个文件是pytest的配置文件
  • addopts = -vs 命令行参数,多个参数之间用空格分隔。 addoptions
  • testpaths = testcases/ 配置搜索测试用例的范围
  • python_files = test_*.py 改变默认的文件搜索规则
  • python_classes = Test* 改变默认的类搜索规则
  • python_functions = test_* 改变默认的测试用例的搜索规则。
  • markers = 用例分组
    • smoke:冒烟用例
    • product:商品模块用例

特别提示:此文件中最好不要出现中文, 如果有中文的情况下,比如使用notpad++改成GBK的编码。

pytest.ini 文件内容:

[pytest]
addopts = -vs -m smoke
testpaths =  testcases/	
python_files = test_*.py   
python_classes = Test*   
python_functions = test_*   
markers =smoke: smoke testcasesproduct: product testcases

用例里面加标记:

执行的时候通过-m参数指定标记:addopts = ‐vs ‐m smoke

import pytestclass Test02:@pytest.mark.smokedef test_01(self):print("Test02--test01")@pytest.mark.productdef test_02(self):print("Test02--test02")raise Exception("自定义异常Test02--test02")

五、pytest 默认执行测试用例的顺序

默认顺序是从上到下
改变默认用例的执行顺序:在用例上加标记:@pytest.mark.run(order=1)

import pytestclass Test02:@pytest.mark.run(order=2)@pytest.mark.smokedef test_01(self):print("Test02--test01")@pytest.mark.run(order=1)@pytest.mark.smokedef test_02(self):print("Test02--test02")raise Exception("自定义异常Test02--test02")

注意:有order装饰器的优先,相同的从上到下,然后再是没有装饰器的,负数不起作用。

六、跳过测试用例

1.无条件跳过 @pytest.mark.skip()
    @pytest.mark.skip(reason="粒度不需要")@pytest.mark.run(order=2)@pytest.mark.smokedef test_01(self):print("Test02--test01")
2.有条件跳过 @pytest.mark.skipif()
    version = 3@pytest.mark.skipif(version > 2, reason="以后的版本都不执行")@pytest.mark.run(order=1)@pytest.mark.smokedef test_02(self):print("Test02--test02")raise Exception("自定义异常Test02--test02")

七、用例的前后置,固件,夹具,钩子函数

import pytestdef setup_module(self):print("在每个模块之前执行")
def teardown_module(self):print("在每个模块之后执行")class Test03:@pytest.mark.smokedef test_duo_class(self):print("多个类的情况")class Test02:def setup_class(self):print("在每个类之前执行,应用举例:创建日志对象(若创建多个日志对象,会导致日志出现重复),创建数据库链接")def teardown_class(self):print("在每个类之后执行,应用举例:销毁日志对象(,关闭数据库链接")def setup(self):print("在每个用例之前执行,应用举例:日志开始")def teardown(self):print("在每个用例之后执行,应用举例:日志结束")@pytest.mark.run(order=2)@pytest.mark.smokedef test_01(self):print("Test02--test01")@pytest.mark.smokedef test_02(self):print("Test02--test02")raise Exception("自定义异常Test02--test02")
http://www.dtcms.com/wzjs/230619.html

相关文章:

  • 免费主页空间的网站pc网站优化排名软件
  • wordpress 菜单编辑seo攻略
  • 西安手机网站制作关键词优化排名的步骤
  • 福州外文网站建设漯河网络推广哪家好
  • 个人网站名称直通车推广
  • 网站不弄公安备案会怎么样aso优化推广公司
  • 东莞在哪里学网站建设网络营销策划模板
  • 济南网站优化推广东莞头条最新新闻
  • 叙述网站制作的流程网络推广外包怎么样
  • 沈阳网站制作定制厂家长沙靠谱的关键词优化
  • 为什么很多公司做网站建设seo外包
  • 网站源码使用数字营销软件
  • 网站备案怎么做黑龙seo网站优化
  • 中国菲律宾签证免签吗白云百度seo公司
  • 营销型网站窗口客服营销的主要目的有哪些
  • 从零学做网站郑州网络推广大包
  • wordpress搬家失败网站seo平台
  • 临安做企业网站的公司微信推广平台收费标准
  • 网站怎么做百度百科广州百度seo排名优化
  • 单位网站开发谷歌引擎搜索
  • dreamweaver8做网站百度关键词搜索引擎排名优化
  • 独立网站电子商务系统搜索引擎优化的定义是什么
  • 自己做网站好做么网络营销实践总结报告
  • 武汉网站建设需要多少钱seo查询
  • 太原自助模板建站今日热榜官网
  • 自建站搭建视频seo优化教程
  • 东莞土木建筑学会网站网络广告联盟
  • 成都电子商务网站建站深圳seo专家
  • 某网站开发工具和技术高质量发展服务业
  • 做淘宝图片的网站百度指数平台官网