0

忽略在 IntelliJ 中启动的 GebConfig.groovy 文件的 Geb 测试帮助我使用了 ChromeDriver,但现在我遇到了一个问题,即尽管提供了 ChromeOptions,但它没有被使用。

我采用了提供的解决方案,并添加了其他 StackOverflow 解决方案中的分配:

import org.openqa.selenium.chrome.ChromeDriver
import org.openqa.selenium.chrome.ChromeOptions

System.setProperty("webdriver.chrome.driver", "my/path")


// This was one option suggested, but I'm trying the assignment inside the environment block.
// I tried this way, too.
//    driver = {new ChromeDriver()}


environments {
    chrome {
       driver = {
           ChromeOptions opts = new ChromeOptions()
           opts.addArguments("--user-data-dir=/home/guy/.config/automation-google-chrome/")
           opts.addArguments("--start-maximized")
           new ChromeDriver(opts)
      }
    }
}

现在浏览器可以正常运行,但是optsare not used: 没有最大化,并且浏览器的外观显然不正确。当我使用直接 Selenium 时,我遇到了同样的问题,我通过使用上面的 user-data-dir 解决了这个问题。也使用相同的 ChromeDriver。

程序输出说:

Starting ChromeDriver 2.20.353124 (very long number here) on port 25082

尝试过(已弃用)DesiredCapabilities,但相同。

TIA

4

2 回答 2

0

这是一件小事,但文档显示向 ChromeOptions 提供 args 时没有“--”前缀。

ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");
于 2018-10-11T19:41:45.203 回答
0

我认为你的问题是:

System.setProperty("webdriver.chrome.driver", "my/path")

我不相信这个操作应该发生在 GebConfig.groovy 文件中。这可能是导致您的问题的原因。不过,我不是 100% 确定。其他一切对我来说都很好(除了每个命令之前的“--”),而且我之前已经成功使用过 chrome 选项,我看到我的设置和你的设置之间的唯一区别是这条线

System.setProperty("webdriver.chrome.driver", "my/path")

对我来说是在我的 build.gradle 文件中,而不是在 GebConfig.groovy 文件中。尝试将其移动到您的构建脚本中,看看会发生什么

于 2018-10-19T13:59:57.007 回答