我想在 Debian 6 下使用 Chromium 运行 Selenium 测试用例,它没有任何用户界面。为此,我使用“xsimulator”。我设置了测试:
public void setUp() 抛出异常{
setName("测试");
super.setUp("http://www.wikipedia.org/", "*googlechrome chromium-
浏览器);
}
它启动 Chromium 实例没有任何问题,但是,由于这是 Chromium 的第一次运行,它要求我设置默认浏览器。如果没有 UI(我在 xsimulator 上),我无法单击并做出任何选择。实际上,Chromium 允许在不询问默认浏览器检查的情况下启动它(参数“--no-default-browser-check”),但这仅适用于终端。当我像这样设置测试时:
super.setUp("http://www.wikipedia.org/", "*googlechrome usr/bin/chromium-browser --no-default-browser-check");
它抛出空指针异常:
java.lang.NullPointerException
在 org.openqa.selenium.server.browserlaunchers.GoogleChromeLauncher.createCommandArray(GoogleChromeLauncher.java:168)
另一种解决方法可能是通过使用“--make-default-browser”参数在终端上运行 chrome 来使其成为默认浏览器,但不幸的是,这会导致“xdg”错误:
xdg-settings:未知的桌面环境
段错误
我的问题是:如何使用上面提到的浏览器特定参数在 selenium 测试用例中设置 chromium 浏览器或避免默认浏览器检查?
最佳答案
主要问题是通过 Selenium 或手动在没有任何首次运行特定操作的情况下强制 Chromium 启动。
我找不到使用浏览器特定参数在 selenium 测试用例中设置 chromium 浏览器的方法,但我找到了一种解决方法来强制 Chromium 不要求我“使 Chromium 成为默认浏览器”
。
为此:
- 转到 Chromium 配置文件目录(通常 -
/"current user"/.config/chromium/
) - 切换到
“默认”
目录 - 通过添加
“浏览器”
部分来编辑文件“首选项”
“check_default_browser”:错误,
- 转到
/"current user"/.config/chromium
并创建名为"First Run"
的空文件
这将强制 Chromium 正常启动。
关于java - Chromium 与 SeleneseTestCase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21825661/