python - Chromedriver 测试在本地和 CI CD env python 上工作
问题描述
我所拥有的:Win 环境中的 CURRENT_BROWSER=chrome
def before_scenario(context, scenario):
use_fixture(browser, context)
def after_scenario(context, scenario):
context.cache.clear()
context.driver.quit()
@fixture
def browser(context):
browser_type = os.getenv('CURRENT_BROWSER', 'chrome')
if browser_type is None:
raise Exception(f"Unable to identify test browser which is {browser_type}")
if browser_type == 'chrome':
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
# chrome_options.add_argument('--incognito')
context.driver = webdriver.Chrome(desired_capabilities=chrome_options.to_capabilities())
if browser_type == 'firefox':
pass
yield context.driver
我需要的是:答案如何处理 CI CD(azureDevops)上的 chromedriver 我是否也应该将类似于 Browser 的 ENV 变量放入 PATH 并在 CI CD 上执行相同操作,或者有不同的方法来处理 chrome 驱动程序。我需要上面的代码将在本地和 CI CD 上工作,而我以前从未这样做过。在本地我使用上面的代码 + chromedriver.exe 添加到项目结构中
解决方案
如果您使用的是Microsoft 托管代理:或windows-latest
,则 Chrome 驱动程序 87.0.4280.88 已安装。windows-2019
vs2017-win2016
如果您想使用其他版本的 Chrome 驱动程序,您可以使用 npm 下载它:
- script: npm install chromedriver --chromedriver_version=LATEST
单击此文档以获取详细信息。
如果您使用的是自托管代理,并且该代理位于已下载 Chrome 驱动程序并配置 PATH 的计算机上,则您可以像在自己的计算机上工作一样使用 Chrome 驱动程序。
推荐阅读
- javascript - 反应中的简单时间计数器
- hive - Hive - 分析长字符串的共性
- google-cloud-bigtable - BigTable中实例数的建议
- python-3.x - pool.apply_async 只有一个进程
- java - 使用openCV java检测视频场景变化
- lnk2019 - LNK2019 在编译 Agora.IO windows 示例时
- vega-lite - Vega Lite 按基于另一列的特定属性分组
- python - Python:ImportError:无法导入名为的模块
- python - Numpy dot 返回不同的值
- css - 如何将元素缩放到最大可能的视图区域?