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

企业微信网站怎么做的什么软件可以发帖子做推广

企业微信网站怎么做的,什么软件可以发帖子做推广,消防维保公司宣传册设计样本,网站改版业务pytest中比较高阶的应用是,使用conftest去做测试前置工作、测试收尾工作和参数化。conftest是pytest的一个组件,用于配置测试环境和参数。通过conftest, 可以创建一个可复用的测试配置文件,以便在多个测试模块之间共享配置信息。即&#xff0…

pytest中比较高阶的应用是,使用conftest去做测试前置工作、测试收尾工作和参数化。conftest是pytest的一个组件,用于配置测试环境和参数。通过conftest, 可以创建一个可复用的测试配置文件,以便在多个测试模块之间共享配置信息。即,conftest主要用来存放fixture,管理一些全局的fixture. 

适用场景

  •   多个测试用例文件(test_*.py)的所有用例都需要用登录功能作为前置操作,那就不能把登录功能写到某个用例文件中去了,这个时候就可以把登录功能写成一个fixture,放到conftest.py里
  • 多个case共享一套测试数据
  • 多个case共享配置信息

conftest.py配置fixture注意事项

  • pytest会默认读取conftest.py里面所有的fixture
  • conftest.py文件名称是固定的,不能改动
  • conftest.py只对同一个package下的所有测试用例生效
  • 不同目录可以有自己的conftest.py, 一个项目可以有多个conftest.py
  • 测试用例文件中不需要手动import conftest.py, pytest会自动查找
  • 在conftest.py文件中,可以定义函数、类和变量,以供测试用例中使用。这些配置可以通过参数传递给测试用例。配合测试用例中的pytest.mark.parametrize装饰器来传递参数。
  • conftest.py如果在项目根目录下,那就是对整个项目下的测试用例生效

conftest结合fixture使用

  • scope参数为session: 所有测试.py文件执行前执行一次
  • scope参数为module: 每一个测试.py文件执行前都会执行一次conftest文件中的fixture
  • scope参数为class: 每一个测试文件中的测试类执行前都会执行一次conftest文件中的fixture
  • scope参数为function:所有文件的测试用例执行前都会执行一次conftest文件中的fixture,默认scope为function.

例子:

conftest.pydata = excel_util.get_cell_range_data(CASE_BASE_PATH, CASE_INFO_SHEET, 2, 2, 1, 10)@pytest.fixture(params=data)  # 这里使用了参数化
def login(request):   # 登录功能,返回uuid, tokenparam = request.paramurl = param['url']api = param['api']params = param['parameter']params = substitution_tool.var_substitute(params, '登录')globalVar = param['globalVar']  url += api + '&' + paramsres = request_util.send_httprequest('post', url).json()  print("res=", res)gv = globalVar_util.saveGlobals(res, globalVar)  #这里把uuid,token保存到全局变量中yield gv # 返回包含有uuid,token的字典gv

这是一个封装登录功能的fixture, 通过params=data先传入登录需要的用户名和密码数据,然后经过fixture实现返回uuid,token的功能。

conftest.py@pytest.fixture()
def case_info(request):   # 获取测试用例的数据param = request.paramreturn param

这是一个结合pytest.mark.parametrize装饰器实现参数传递的fixture, 可以读取excel表格中的测试用例信息。

看测试文件中的测试方法:

data_login_state = excel_util.get_cell_range_data(CASE_BASE_PATH, CASE_INFO_SHEET, 3, 6, 1, 9)@allure.severity("normal")
@pytest.mark.parametrize("case_info", data_login_state, indirect=True)
def test_login_tai(case_info, login):caseId = case_info['caseId']apiName = case_info['apiName']caseTitle = case_info['caseTitle']params = case_info['parameter']'''for key in login.keys():value = login.get(key)if key in params:params = params.replace('${'+key+'}', str(value))'''params = substitution_tool.gv_substitute(params)url = case_info['url']api = case_info['api']url += api + '&' + paramsprint("url=", url)print(f"caseId: {caseId}, apiName:{apiName}, caseTitle:{caseTitle} begins to test!")logger.info(f"caseId: {caseId}, apiName:{apiName}, caseTitle:{caseTitle} starts to test!")assertFields = case_info['assertFields']res = request_util.send_httprequest('post', url).json()assert_util.assert_result(res, assertFields)

这里就结合pytest.mark.parametrize装饰器实现参数的传递,这里方法test_login_tai使用了两个fixture,一个是login, 一个是case_info, 两个fixture一块使用,既接收到了login返回的uuid,token, 又实现了测试用例的参数化。其中,indirect=True代表case_info是作为函数传递给test_login_tai方法的,不是作为变量。

最后使用pytest命令去执行pytest --html=./testreport.html

测试执行情况如上,日志信息有caseId, apiName, caseTitle.

生成的testreport.html测试报告:

http://www.hkea.cn/news/585331/

相关文章:

  • 西安网站建设招骋外贸如何推广
  • 网站改版降权武汉seo排名公司
  • 南京哪家公司做企业网站 做得比较好百度seo怎么优化
  • 白云做网站SEO市场营销策略有哪些
  • 做网站用lunx怎么建立一个网站
  • 电商网站开发定制百度推广优化排名
  • 网站备案 法人身份证cba最新消息
  • 做公司网站需要什么手续厦门seo网站优化
  • 合肥本地网站网站关键词公司
  • 武汉电商网站建设seopc流量排行榜企业
  • 如何给给公司建立网站seo商学院
  • 让建站公司做网站需要什么最新腾讯新闻
  • 网站开发的意义搜索关键词排名优化
  • 如何建一个论坛网站怎么做营销推广
  • 元凤建盏简介青岛seo
  • 营销型网站套餐cps游戏推广平台
  • 哪些网站做ip向小说网络营销公司经营范围
  • 蜜芽免费网站域名关键词网站排名查询
  • 网站备案要到哪里下载关键词在线挖掘网站
  • 跨境电商开发seo的优化策略有哪些
  • 做网站的费用 优帮云百度广告代运营
  • wordpress儿童卡通主题兰州网站seo服务
  • 8网站建设做网站sem优化师是什么意思
  • 设计师个人网站怎么做百度优化培训
  • 广东海外建设监理有限公司官方网站2345网址导航是病毒吗
  • 深圳网站制作培训宁波网络营销公司
  • 网站建设方案书 模板长清区seo网络优化软件
  • 简述网站的推广策略产品设计
  • 商贸有限公司网站建设此网站服务器不在国内维护
  • 常州个人做网站制作小程序的软件