【发布时间】:2017-11-15 17:36:48
【问题描述】:
试图找到最优雅的方式来通知测试夹具测试失败。该测试夹具需要将测试结果报告给saucelabs,以便将其标记为通过或失败。我试图从这些示例中删除尽可能多的不相关代码。
以下测试使用夹具浏览器。
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
夹具浏览器,目前已硬编码以将测试标记为通过:
@pytest.fixture()
def browser(request):
driver_type = request.config.getoption('driver')
if driver_type == 'sauce':
driver = webdriver.Remote(
command_executor = 'MY_CREDENTIALS',
desired_capabilities = caps)
else:
driver = webdriver.Chrome()
driver.implicitly_wait(2)
yield driver
if driver_type == 'sauce':
sauce_client.jobs.update_job(driver.session_id, passed = True)
driver.quit()
我发现了一些解决方法,但我真的很想知道最好的方法。
【问题讨论】:
标签: python selenium pytest fixtures saucelabs