我用python编写了一个Selenium自动化程序,用于测试我的网站的工作流程。在我的脚本中,我设置了一个PATH和一个网络驱动程序如下:
PATH = "<path-to->/ChromeWebDriver/chromedriver"
driver = webdriver.Chrome(PATH)
不用说,这工作得很好,没有任何问题。并且我能够运行我的脚本。
现在,我想尝试将这个脚本集成到azure DevOps管道中,以每小时自动化一次这个脚本。
但我在管道触发过程中出错了(合理的错误(。
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH
我知道我在代码中声明的PATH不会有什么不同,但我如何配置我的管道,在这个过程中将chrome驱动程序添加到windows vm?
因为我有一个yaml文件,它被配置为遵循
trigger:
- master
variables:
vmImageName: 'ubuntu-latest'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.x'
addToPath: true
- script: |
python -m pip install --upgrade pip
pip install selenium
- task: Pythonscript@0
inputs:
scriptSource: 'filePath'
scriptPath: './test.py'
有没有办法设置路径?提前这么感谢
编辑:我做了一些不同的事情。在我的repo中,我添加了ubuntu chrome驱动程序,并将我的PATH
指向该文件夹。当我在azure中运行管道时,我会收到这个错误。
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
问题解决了,我必须下载ubuntu的chrome驱动程序,将我的配置管道更改为在ubuntu vm上运行,并在管道所在的地方用chromedriver创建一个文件夹。并部署所有内容。