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

武汉网站建设网站郑州网络推广效果

武汉网站建设网站,郑州网络推广效果,php自己做网站吗,如何做中英文网站conftest.py文件简介 conftest.py文件用于定义共享设置、夹具和钩子函数。 可以跨.py文件调用,有多个.py文件调用时,可让conftest.py只调用了一次fixture,或调用多次fixture; conftest.py与运行的用例要在同一个pakage下&#xf…

conftest.py文件简介

conftest.py文件用于定义共享设置、夹具和钩子函数。
可以跨.py文件调用,有多个.py文件调用时,可让conftest.py只调用了一次fixture,或调用多次fixture;
conftest.py与运行的用例要在同一个pakage下,并且有__init__.py文件;
不需要import导入conftest.py,pytest用例会自动识别该文件,放到项目的根目录下就可以全局目录调用了。如果放到某个package下,那就在package内有效。可有多个conftest.py,遵循局部优先原则。
conftest.py配置脚本名称是固定的,不能改名称;
conftest.py文件不能被其他文件导入;
所有同目录测试文件运行前都会执行conftest.py文件;

在allure测试报告中添加内容

allure.attach(body, name=None, attachment_type=None, extension=None)

body为具体内容
name为标题
attachment_type为添加内容的类型,如:allure.attachment_type.TEXT、allure.attachment_type.PNG

在conftest.py文件中实现用例执行失败进行截图并附到allure报告中

pytest_runtest_makereport

首先要了解下pytest_runtest_makereport,pytest_runtest_makereport是pytest的钩子函数,可以返回每个用例每个阶段的执行结果,包括setup、call、teardown,call即为test_开头的具体的用例。
pytest_runtest_makereport分别会在前置步骤、测试用例和后置步骤执行完成后被调用。
pytest_runtest_makereport函数需要放在conftest.py文件中,可以使用outcome = yield来获取执行结果,outcom取值为passed表示执行通过,outcome取值为Failed表示执行失败。outcome.get_result() 用来获取测试报告。

具体实现方法

具体实现代码比较简单,如下:

import allure
import pytest
import config.globals as globals@pytest.hookimpl(hookwrapper=True, tryfirst=True)
def pytest_runtest_makereport(item, call):'''获取用例执行结果,如果执行失败,则将失败时的截图添加到allure报告中'''# 获取调用结果outcome = yield# 获取测试报告rep = outcome.get_result()if rep.passed == False:# 前后置也有可能运行失败,失败时也截图到报告中if globals.driver is not None:pic = globals.driver.get_screenshot_as_png()allure.attach(pic, "失败用例的截图", allure.attachment_type.PNG)elif rep.passed == True and rep.when == "call":# 只在用例执行阶段对成功的用例进行截图,前后置阶段忽略if globals.driver is not None:pic = globals.driver.get_screenshot_as_png()allure.attach(pic, "成功用例的截图", allure.attachment_type.PNG)

这里的dirver是在globals.py文件中单独定义的一个变量。相当于设置了一个全局变量,每次basepage被实例化的时候,都会给这个变量赋值。basepage是对selenium基本操作封装的一个类。这样,conftest.py文件中的dirver就和用例执行时的driver是同一个,保证是对同一个页面进行操作。
globals.py文件内容如下:

# -*- coding: utf-8 -*-#driver = None

basepage类的构造函数如下:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.chrome.options import Options as ChromeOptions
from selenium.webdriver.edge.options import Options as edgeOptions
from selenium.webdriver.edge.service import Service as edgeService
import config.globals as globalsclass basepage():def __init__(self, browser_name='chrome'):self.browser_name = browser_nameif self.browser_name == 'chrome':chromedriver_path = '谷歌浏览器的驱动文件路径'service = ChromeService(executable_path=chromedriver_path)options = ChromeOptions()options.add_experimental_option('detach', True)self.driver = webdriver.Chrome(service=service, options=options)elif self.browser_name == 'edge':chromedriver_path = 'edge浏览器的驱动文件路径'service = edgeService(executable_path=chromedriver_path)options = edgeOptions()options.add_experimental_option('detach', True)self.driver = webdriver.Edge(service=service, options=options)# 在此处给全局变量driver赋值globals.driver = self.driver
http://www.dt0577.cn/news/10655.html

相关文章:

  • 小网站开发成本google浏览器下载安装
  • 江阴市建设局网站济南公司网站推广优化最大的
  • 河口企业网站开发公司百度搜索排名优化
  • 海口建站模板系统app广告联盟
  • 做馋嘴小栈官方网站seo外包 杭州
  • 安庆做网站的公司北京百度竞价
  • 北京微信网站建设百度官网首页网址
  • 怎么在百度创建网站微信营销模式有哪些
  • 开元棋牌网站怎么做seo网站排名优化教程
  • 基于网站的app开发万网域名查询官网
  • 韩国什么网站是专做皮草的肥城市区seo关键词排名
  • 湖北省建设用地预审网站正规seo大概多少钱
  • 网站建设要多少钱高级搜索引擎技巧
  • 视频网站费用企业培训公司
  • 无锡做网站要多少钱常见的营销方式有哪些
  • 如何把网站做的和别人一样吗青岛网站优化公司哪家好
  • 建站之星登录郑州网站seo推广
  • 网站开发+自动生成缩略图谷歌广告联盟怎么做
  • 有没有装修做团购的网站今日最新国内新闻
  • 沈阳专业网站制作软文广告经典案例300大全
  • 常州营销网站建设涟源网站seo
  • 做下载网站挣钱吗抖音优化是什么意思
  • 美食网站开发的意义河南疫情最新消息
  • 网易对象存储wordpress宁波seo推广推荐公司
  • 电商网站 模板杯子软文营销300字
  • 德阳市住房和城乡建设局网站宁波企业seo服务
  • 网站做302重定向免费舆情网站下载大全最新版
  • 晋州做网站roseonly企业网站优化
  • 网站开发的目的实习报告泉州seo代理商
  • 织梦网站上传保存文档奉化seo页面优化外包