pytest+allure执行用例的两种方式

now_time = datetime.now().strftime("%Y-%m-%d %H-%M-%S")
report_name = “caoqq-pytest_test_{}.html”.format(now_time)
report = os.path.join("–html=outPuts\reports",report_name)

**

第一种:命令行:‘allure serve outPuts/allure

**
# 指定运行某个用例 https://blog.csdn.net/weixin_35784370/article/details/112415776
pytest.main([
“testcases”, #指定测试案例包
report, #报告存储位置
“–alluredir=outPuts/allure”,"–clean-alluredir" #先清除再生成报告

“–reruns”, “1”, “–reruns-delay”, “2” --失败重试

])

**

第二种:直接生成allure报告

**
WIN = sys.platform.startswith(‘win’)
def allureReport():

steps = [
    "venv\\Script\\activate" if WIN else "source venv/bin/activate",
    "pytest --alluredir outPuts/allure --clean-alluredir",
    "allure generate outPuts/allure -c -o allure-report",
    "allure open allure-report"
]
for step in steps:
    subprocess.run("call " + step if WIN else step, shell=True)

pytest.main([
“testcases”, #在这里不起作业
report,
allureReport(), #可直接生成allure报告,不需要重新打开链接(电脑默认浏览器改成谷歌)
“–alluredir=outPuts/allure”,"–clean-alluredir"

“–reruns”, “1”, “–reruns-delay”, “2” --失败重试

])
注意:自动生成的allure报告只看勾选的就行
在这里插入图片描述

作为AI语言模型,我无法在计算机上执行任何操作,因此无法提供pytest allure用例执行失败后截图。但是,以下是如何在使用pytest allure时自动截取用例执行失败截图的示例代码: ```python import allure import pytest from selenium import webdriver @pytest.fixture(scope="function") def browser(): driver = webdriver.Chrome() yield driver driver.quit() @allure.step("Open website '{url}'") def open_website(browser, url): browser.get(url) @allure.step("Click on element '{locator}'") def click_element(browser, locator): element = browser.find_element(*locator) element.click() @allure.step("Verify element '{locator}' is present") def verify_element_present(browser, locator): assert browser.find_element(*locator).is_displayed() @allure.step("Enter text '{text}' into element '{locator}'") def enter_text(browser, locator, text): element = browser.find_element(*locator) element.send_keys(text) @allure.step("Verify text '{text}' is present in element '{locator}'") def verify_text_present(browser, locator, text): assert text in browser.find_element(*locator).text def test_login_failure(browser): with allure.step("Given the user is on the login page"): open_website(browser, "https://www.example.com/login") with allure.step("When the user enters invalid credentials"): enter_text(browser, (By.ID, "username"), "invalid_username") enter_text(browser, (By.ID, "password"), "invalid_password") click_element(browser, (By.NAME, "login_button")) with allure.step("Then an error message is displayed"): verify_element_present(browser, (By.CSS_SELECTOR, ".error_message")) verify_text_present(browser, (By.CSS_SELECTOR, ".error_message"), "Invalid username or password") # Take screenshot on failure allure.attach( browser.get_screenshot_as_png(), name="Screenshot", attachment_type=allure.attachment_type.PNG, ) ``` 在测试用例失败时,pytest allure将自动捕获失败的截图并将其添加到测试报告中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值