当我使用机器人框架运行chrome浏览器打开测试用例时,观察到以下错误。
WebDriverException:消息:未知错误:Chrome无法启动: 退出异常
(未知错误:DevToolsActivePort文件不存在)
(从chrome位置/ usr / bin / google-chrome开始的过程是 不再运行,因此ChromeDriver假定Chrome具有 崩溃。)(驱动程序信息:chromedriver = 72.0.3626.69 (3c16f8a135abc0d4da2dff33804db79b849a7c38),平台= Linux 4.4.0-31-通用x86_64)
粘贴了以下机器人脚本:
*** settings ***
Library Selenium2Library
*** Variables ***
${Browser} Chrome
${URL} https://www.google.com
*** Test Cases ***
TC001 Browser Start and Close
Open Browser ${URL} ${Browser}
使用的Chrome版本:
答案 0 :(得分:0)
您还需要更新Selenium,如果使用最新版本的SeleniumLibrary(名称中的“ 2”已删除),则会得到更新。
使用新名称更新脚本并使用:
pip install -U robotframework-seleniumlibrary
答案 1 :(得分:0)
尝试将chrome驱动程序更改为基于2.45支持http://chromedriver.chromium.org/downloads 72版本的2.45版本。 :)
答案 2 :(得分:0)
我解决了!使用--no-sandbox
${chrome_options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver
Call Method ${chrome_options} add_argument test-type
Call Method ${chrome_options} add_argument --disable-extensions
Call Method ${chrome_options} add_argument --headless
Call Method ${chrome_options} add_argument --disable-gpu
Call Method ${chrome_options} add_argument --no-sandbox
Create Webdriver Chrome chrome_options=${chrome_options}
代替
Open Browser about:blank headlesschrome
Open Browser about:blank chrome
答案 3 :(得分:0)
这是对我有用的方法。打开浏览器时,我们必须传递chrome_options和chrome网络驱动程序路径。请在下面找到代码。
*** Settings ***
Library Selenium2Library
*** Variables ***
${URL} https://www.google.com
${CHROMEDRIVER_PATH} /usr/local/bin/chromedriver
*** Keywords ***
Open Website
${chrome_options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver
Call Method ${chrome_options} add_argument --no-sandbox
Call Method ${chrome_options} add_argument --headless
Open Browser ${URl} chrome options=${chrome_options} executable_path=${CHROMEDRIVER_PATH}
*** Settings ***
Suite Setup Open Website
注意: chrome_options 和 executable_path 已直接传递给 Open Browser 命令,而不是创建Web驱动程序(由于某种原因,创建网络驱动程序对我不起作用。但是直接将参数传递给浏览器确实可以实现