を開きGEBを通じてInternet Explorerを起動しようとすると、Firefoxは私が最初に(テスト)を行うクロムを開き、IE(テストを実行)を開き、テストを実行しようとしています代わりに
私はすべてを持っているにもかかわらずFirefoxのコードがコメントアウトされました.GUbは何らかの理由でIEの代わりにFirefoxを開くことにしました。ここ
は私のbuild.gradleです:ここでは
import org.apache.tools.ant.taskdefs.condition.Os
def properties = new Properties()
new File('/ProgramData/geb.properties').withInputStream {
properties.load(it)
}
ext {
// The drivers we want to use
drivers = ["chrome", "internetExplorer"]
ext {
groovyVersion = '2.4.5'
gebVersion = '1.1.1'
seleniumVersion = '2.52.0'
chromeDriverVersion = '2.29'
geckoDriverVersion = '0.18.0'
ieDriverVersion = '2.44.0'
PagesVersion = '4.6-NC'
}
}
apply plugin: "groovy"
apply from: "gradle/idea.gradle"
apply from: "gradle/osSpecificDownloads.gradle"
repositories {
mavenCentral()
}
dependencies {
// If using Spock, need to depend on geb-spock
testCompile "org.gebish:geb-spock:$gebVersion"
testCompile("org.spockframework:spock-core:1.0-groovy-2.4") {
exclude group: "org.codehaus.groovy"
}
testCompile "org.codehaus.groovy:groovy-all:$groovyVersion"
// If using JUnit, need to depend on geb-junit (3 or 4)
testCompile "org.gebish:geb-junit4:$gebVersion"
testCompile (group: 'com.myGroup', name: 'GebPageObjects', version: "${PagesVersion}"){changing = true} // re-download dependency after every build.
testCompile (group: 'com.myGroup', name: 'GebPageObjects', version: "${PagesVersion}",classifier: 'sources'){changing = true} // re-download dependency after every build.
// Drivers
testCompile "org.seleniumhq.selenium:selenium-chrome-driver:$seleniumVersion"
// testCompile "org.seleniumhq.selenium:selenium-firefox-driver:$seleniumVersion"
testCompile "org.seleniumhq.selenium:selenium-ie-driver:$seleniumVersion"
// using a custom version of phantomjs driver for now as the original one does not support WebDriver > 2.43.1
testCompile 'org.codehaus.groovy.modules.http-builder:http-builder:0.7.1'
testCompile 'org.json:json:20151123'
}
drivers.each { driver ->
task "${driver}Test"(type: Test) {
reports {
html.destination = reporting.file("$name/tests")
junitXml.destination = file("$buildDir/test-results/$name")
}
outputs.upToDateWhen { false } // Always run tests
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"
}
}
chromeTest {
dependsOn unzipChromeDriver
def chromedriverFilename = Os.isFamily(Os.FAMILY_WINDOWS) ?
"chromedriver.exe" : "chromedriver"
systemProperty "webdriver.chrome.driver", new File(unzipChromeDriver.outputs.files.singleFile, chromedriverFilename).absolutePath
}
internetExplorerTest {
dependsOn unzipIEDriver
def iedriverFilename = Os.isFamily(Os.FAMILY_WINDOWS) ? "IEDriverServer.exe" : "IEDriverServer"
systemProperty "webdriver.ie.driver", new File(unzipIEDriver.outputs.files.singleFile, iedriverFilename).absolutePath
}
//firefoxTest {
// dependsOn unzipGeckoDriver
// def geckodriverFilename = Os.isFamily(Os.FAMILY_WINDOWS) ? "geckodriver.exe" : "geckodriver"
// def geckodriverFile = new File(unzipGeckoDriver.outputs.files.singleFile, geckodriverFilename)
// systemProperty "webdriver.gecko.driver", geckodriverFile.absolutePath
//}
task deleted(type: Delete){
try{
delete "${buildDir}"
}
catch(Throwable t){
delete "${buildDir}"
}
}
test {
dependsOn drivers.collect { tasks["${it}Test"] }
enabled = false
}
clean{
dependsOn deleted
enabled = false
}
apply from: "gradle/ci.gradle"
は私のgebConfigファイルの一部です:
:environments {
// run via “./gradlew chromeTest”
// See: http://code.google.com/p/selenium/wiki/ChromeDriver
chrome {
driver = {
ChromeOptions options = new ChromeOptions();
// options.addArguments("--disable-gpu");
new ChromeDriver(options)
}
}
ie {
driver = {
// System.setProperty("webdriver.ie.driver", new File("C:/dev/Selenium/iexploredriver.exe").getAbsolutePath())
new InternetExplorerDriver()
}
}
}
Finnallyここでは関係ありOsSpeicifcDownloads.gradleからいくつかのタスクです
task downloadInternetExplorerDriver {
def outputFile = file("$buildDir/webdriver/IEdriver.zip")
inputs.property("IEDriverVersion", ieDriverVersion)
outputs.file(outputFile)
doLast {
def driverOsFilenamePart
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
driverOsFilenamePart = "x64"
} else if (Os.isFamily(Os.FAMILY_MAC)) {
driverOsFilenamePart = "mac32"
} else if (Os.isFamily(Os.FAMILY_UNIX)) {
driverOsFilenamePart = Os.isArch("amd64") ? "linux64" : "linux32"
}
println "https://code.google.com/p/selenium/downloads/detail?name=IEDriverServer_${driverOsFilenamePart}_${ieDriverVersion}"
FileUtils.copyURLToFile(new URL("http://selenium-release.storage.googleapis.com/2.44/IEDriverServer_${driverOsFilenamePart}_${ieDriverVersion}.zip"), outputFile)
}
}
task unzipIEDriver(type: Copy) {
def outputDir = file("$buildDir/webdriver/IEdriver")
dependsOn downloadInternetExplorerDriver
outputs.dir(outputDir)
from(zipTree(downloadInternetExplorerDriver.outputs.files.singleFile))
into(outputDir)
}
IEの代わりにFirefoxがなぜ起動されるのかに関するアイデアはありますか?
また、ChromeとIEの両方のドライバがビルドディレクトリに解凍されているように見えますが、Firefoxのドライバはありません。あなたはそれがinternetExplorerTestを実行していると主張するが、その後速やかにFirefoxの実行しようと見ることができるように
:downloadInternetExplorerDriver
https://code.google.com/p/selenium/downloads/detail?
name=IEDriverServer_x64_2.44.0
:unzipIEDriver
:internetExplorerTest
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
:ここ
は、コンソール出力からの抜粋です。どうして?
私は呼び出すことで、私のスクリプトを実行します。このコードので
drivers = ["chrome", "ie"]
:
drivers.each { driver ->
task "${driver}Test"(type: Test) {
reports {
html.destination = reporting.file("$name/tests")
junitXml.destination = file("$buildDir/test-results/$name")
}
outputs.upToDateWhen { false } // Always run tests
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"
}
}
が言っている
drivers = ["chrome", "internetExplorer"]
をする:あなたが変更する必要がgradlew.bat clean build test
私は、これは私にいくつかの進歩を与えていると思います。私は 'internetExplorerTest'を' ieTest'に変更しなければなりませんでした。今は別の問題であると思われる 'geb.driver.DriverCreationException:コールバックからドライバを作成できませんでした 'という新しいエラーが発生しています。私はこれを投稿して以来、いくつかのバージョン情報を変更しました。私はまた必要な設定の下でhttps://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver#required-configurationの指示に従った。クロムはまだ開いて、うまく動作します。 – switch201
リモートセッションでこれを実行しようとしていないので、スタックトレースに 'org.openqa.selenium.remote.UnreachableBrowserException'もあります。 – switch201
あなたの新しい例外の詳細を投稿してください。はいですが、コールバック例外がドライバ/ブラウザのバージョンに関連する可能性があります – Rushby