我的框架目前只有一个conftest.py文件,其中包含一个名为browser的夹具,它将webdriver对象返回给测试。我们最近尝试在_generate_configuration_中实现 metafunc.parametrize ,以便在browserstack上测试跨浏览器和跨平台,并遇到了问题。当在ui测试开始时调用浏览器fixture时,它根据metafunc.parametrize方法不知道测试运行的当前浏览器/ os /版本。
这里可以找到一个很好的例子,但是我喜欢用夹具处理webdriver对象的想法,因为当它与yield语句超出范围时,处理webdriver是多么容易。它还会干掉代码:https://qxf2.com/blog/selenium-cross-browser-cross-platform-pytest/
答案 0 :(得分:0)
作为固定装置的Webdrivers是我强烈推荐的一种很好的方法,特别是因为一旦你的测试完成,你就会得到免费的拆解和driver.quit()。如果您的驱动程序要处理不同的版本/浏览器,我强烈建议您执行以下操作: