Geb 测试忽略 GebConfig.groovy 文件在 IntelliJ 中启动
Geb test ignoring GebConfig.groovy file launched in IntelliJ
运行 在 IntelliJ IDEA 中。
GebConfig.groovy 在 /src/test/resources
.
我正在使用 Chrome 驱动程序。
当我打字时
System.setProperty("webdriver.chrome.driver", "my/path")
在我的规范文件中,我右键单击并 select 运行,测试有效,这意味着它打开 Chrome 并加载页面。
当我没有在规范文件中这样做,而是将其留在 GebConfig.groovy 文件中时,我收到错误消息 "the page to the driver executable must be set"。
有气隙,所以我不能复制粘贴;我会在这里尽可能多地输入:
GebConfig.groovy:
import org.openqa.selenium.chrome.ChromeDriver
...
environments {
chrome {
System.setProperty("webdriver.chrome.driver", "my/path")
driver = {new ChromeDriver()}
}
}
spec文件非常简单,就像GitHub
上的例子
import LoginPage
import geb.spock.GebReportSpec
class LoginSpec extends GebReportSpec
{
// Works when I put this here, but I should not have to do this!
System.setProperty("webdriver.chrome.driver", "my/path")
def "user can log in" () {
when: "log in as me"
def loginPage = to LoginPage
loginPage.login("me")
then:
....
}
}
如果您想在 geb 配置中保留路径,要解决您的问题,像这样在环境部分之外设置路径应该可行:
import org.openqa.selenium.chrome.ChromeDriver
System.setProperty("webdriver.chrome.driver", "my/path")
//You can also set the driver up here as a default and running with an environment set will override it
driver = {new ChromeDriver()}
environments {
chrome {
driver = {new ChromeDriver()}
}
}
就我个人而言,我会避免将驱动程序路径添加到 geb 配置中,并在 intelliJ 中为本地 运行ning 创建一个 运行 配置。
右键单击规范文件 > 单击 "Create 'nameOfMySpec'"。
现在将您的驱动程序路径添加到 VM 参数:
-Dgeb.env=chrome -Dwebdriver.chrome.driver=my/path
还值得考虑一个 shell 脚本,该脚本也可以通过 Jenkins 等调用:
mvn test -Dgeb.env=chrome -Dwebdriver.chrome.driver=my/path
运行 在 IntelliJ IDEA 中。
GebConfig.groovy 在 /src/test/resources
.
我正在使用 Chrome 驱动程序。
当我打字时
System.setProperty("webdriver.chrome.driver", "my/path")
在我的规范文件中,我右键单击并 select 运行,测试有效,这意味着它打开 Chrome 并加载页面。
当我没有在规范文件中这样做,而是将其留在 GebConfig.groovy 文件中时,我收到错误消息 "the page to the driver executable must be set"。
有气隙,所以我不能复制粘贴;我会在这里尽可能多地输入: GebConfig.groovy:
import org.openqa.selenium.chrome.ChromeDriver
...
environments {
chrome {
System.setProperty("webdriver.chrome.driver", "my/path")
driver = {new ChromeDriver()}
}
}
spec文件非常简单,就像GitHub
上的例子import LoginPage
import geb.spock.GebReportSpec
class LoginSpec extends GebReportSpec
{
// Works when I put this here, but I should not have to do this!
System.setProperty("webdriver.chrome.driver", "my/path")
def "user can log in" () {
when: "log in as me"
def loginPage = to LoginPage
loginPage.login("me")
then:
....
}
}
如果您想在 geb 配置中保留路径,要解决您的问题,像这样在环境部分之外设置路径应该可行:
import org.openqa.selenium.chrome.ChromeDriver
System.setProperty("webdriver.chrome.driver", "my/path")
//You can also set the driver up here as a default and running with an environment set will override it
driver = {new ChromeDriver()}
environments {
chrome {
driver = {new ChromeDriver()}
}
}
就我个人而言,我会避免将驱动程序路径添加到 geb 配置中,并在 intelliJ 中为本地 运行ning 创建一个 运行 配置。
右键单击规范文件 > 单击 "Create 'nameOfMySpec'"。
现在将您的驱动程序路径添加到 VM 参数:
-Dgeb.env=chrome -Dwebdriver.chrome.driver=my/path
还值得考虑一个 shell 脚本,该脚本也可以通过 Jenkins 等调用:
mvn test -Dgeb.env=chrome -Dwebdriver.chrome.driver=my/path