如何更准确地向SauceLabs报告Pytest硒的通过和失败?

2024-05-23 18:19:39 发布

您现在位置:Python中文网/ 问答频道 /正文

试图找到最优雅的方式来通知测试夹具测试失败。该测试夹具需要向saucelabs报告测试结果,以便标记为通过或失败。我试图从这些示例中删除尽可能多的无关代码。在

以下测试使用fixture浏览器。在

def test_9(browser):
    browser.get(MY_CONSTANT)
    assert "My Page" in browser.title
    browser.find_element_by_css_selector('div > img.THX_IP')
    browser.find_element_by_link_text('Some text').click()
    ... etc

fixture浏览器,当前已硬编码以将测试标记为通过:

^{pr2}$

我发现了一些解决办法,但我真的想知道最好的办法。在


Tags: 代码text标记browser示例bydef报告
1条回答
网友
1楼 · 发布于 2024-05-23 18:19:39

我在我的conftest.py处理所有向sauce报告通过/失败的文件。我不确定这是否是“最好的办法”,但它肯定在目前对我们有效。我们在编写的每个测试中都包含了这个fixture。在

这个fixture还有很多内容,但是底部的这一部分可以很好地处理报告。在

def quit():
    try:
        if config.host == "saucelabs":
            if request.node.result_call.failed:
                driver_.execute_script("sauce:job-result=failed")
            elif request.node.result_call.passed:
                driver_.execute_script("sauce:job-result=passed")
    finally:
        driver_.quit()

相关问题 更多 >