我使用带有 spock 的 geb 作为我的验收测试框架。一切都很好,除了一些测试存在问题,当它重定向到另一个网站时,我们被提示输入用户名和密码以访问该网站。因为这是浏览器提示而不是我可以提交的表单,有什么方法可以在网站的浏览器配置文件中自动设置或在驱动程序上设置?
我正在使用 firefox 作为浏览器类型进行测试。
编辑:这是我的 build.gradle 文件
apply plugin: 'eclipse'
apply plugin: 'groovy'
apply plugin: 'idea'
repositories {
mavenCentral()
}
task wrapper(type: Wrapper) {
gradleVersion = '1.3'
}
// The drivers we want to use
ext.drivers = ["firefox"]
dependencies {
groovy group: 'org.codehaus.groovy', name: 'groovy', version: '1.8.6'
def gebVersion = "0.7.2"
def seleniumVersion = "2.26.0"
// If using Spock, need to depend on geb-spock
testCompile "org.codehaus.geb:geb-spock:$gebVersion"
testCompile "org.spockframework:spock-core:0.6-groovy-1.8"
// Drivers
drivers.each { driver ->
testCompile "org.seleniumhq.selenium:selenium-$driver-driver:$seleniumVersion"
}
}
drivers.each { driver ->
task "${driver}Test"(type: Test) {
testReportDir = reporting.file("$name/tests")
testResultsDir = file("$buildDir/test-results/$name")
systemProperty "geb.build.reportsDir", reporting.file("$name/geb")
systemProperty "geb.env", driver
// If you wanted to set the baseUrl in your build…
// systemProperty "geb.build.baseUrl", "http://myapp.com"
}
}
task test(overwrite: true, dependsOn: drivers.collect { tasks["${it}Test"] })