首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pytest WebDriver治具不能反思一些选项

Pytest WebDriver治具不能反思一些选项
EN

Stack Overflow用户
提问于 2018-02-22 16:37:13
回答 1查看 163关注 0票数 0

我的框架目前只有一个conftest.py文件,其中包含一个名为browser的夹具,它将webdriver返回到测试中。我们最近尝试在metafunc.parametrize中实现_generate_configuration_,以便在浏览器堆栈上测试跨浏览器和跨平台,并且遇到了一个问题。当在ui测试开始时调用浏览器夹具时,它不知道基于metafunc.parametrize方法测试在哪个浏览器/os/版本中运行。

这里可以找到一个很好的例子,但是我喜欢用一个夹具来处理webdriver对象的想法,因为在webdriver超出了它的范围时,它可以很容易地处理它。它还会干涸代码:https://qxf2.com/blog/selenium-cross-browser-cross-platform-pytest/

EN

回答 1

Stack Overflow用户

发布于 2018-02-23 20:36:04

get驱动程序是我强烈推荐的一种很好的方法,特别是因为一旦测试完成,您就可以获得免费的teardown和driver.quit()。如果您的驱动程序要处理不同的版本/浏览器,我强烈建议您执行以下操作:

  1. 为不同的浏览器/版本创建包含DesiredCapabilities的运行配置字典
  2. 如果您希望每次只针对所有配置测试所有内容,则将参数化测试生成配置配置为迭代所有运行配置。
  3. 如果您希望能够针对特定的配置,请在conftest.py中添加一个命令行参数,用于-run-配置,该参数映射到配置中所需的DesiredCapabilities。
  4. 编写一个名为desired_capabilities (scope=session)的夹具,读取config.getoption(‘--run’),并将相关的DesiredCapabilities传递给驱动程序中的DesiredCapabilities调用。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48932676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档