java - Chromium 与 SeleneseTestCase

标签 java google-chrome selenium chromium

我想在 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 成为默认浏览器”

为此:

  1. 转到 Chromium 配置文件目录(通常 - /"current user"/.config/chromium/)
  2. 切换到“默认”目录
  3. 通过添加“浏览器”部分来编辑文件“首选项” “check_default_browser”:错误,
  4. 转到 /"current user"/.config/chromium 并创建名为 "First Run" 的空文件

这将强制 Chromium 正常启动。

关于java - Chromium 与 SeleneseTestCase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21825661/

相关文章:

java - 将字符串转换为 java.util.date

Java局部变量

html - 我的导航栏在 Internet Explorer 和 Chrome 中显示不佳

javascript - 鼠标滚动在 Firefox 中不起作用

google-chrome - 将 Google Chrome 升级到版本 63.0.3239.84 后,我开始收到错误和警告

java - 如何找到包含 src 一部分的所有 WebElement?

javascript - 使用 nodejs 和 webdriverjs 时无法在 div 弹出窗口中找到 Web 元素

java - 映射到 XML 属性的 PostgreSQL 字段

java - JSch - wait() 在 Channel.sendChannelOpen 调用期间无效

java - 尝试让脚本根据 Selenium 中加载的页面顺序运行