これは基本的な質問であることは知っていますが、解決できません。
サンプルのセレニティ プロジェクト (mvn archetype serenity-junit-screenplay-archetype) ( https://www.youtube.com/watch?v=o-6CcDFn5Ug ) をダウンロードして、Google で「BDD in Action」を検索しました。
ビルドのコンパイルに Gradle を使用しています。
build.gradle
repositories {
jcenter()
mavenLocal()
}
buildscript {
repositories {
mavenLocal()
jcenter()
}
dependencies {
classpath("net.serenity-bdd:serenity-gradle-plugin:1.1.36")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'net.serenity-bdd.aggregator'
dependencies {
compile 'net.serenity-bdd:serenity-core:1.1.36'
compile 'net.serenity-bdd:serenity-junit:1.1.36'
compile 'net.serenity-bdd:serenity-screenplay:1.1.36'
compile 'net.serenity-bdd:serenity-screenplay-webdriver:1.1.36'
testCompile('junit:junit:4.12')
compile('org.assertj:assertj-core:1.7.0')
compile('com.googlecode.lambdaj:lambdaj:2.3.3')
}
gradle.startParameter.continueOnFailure = true
「SearchByKeywordStory」を次のように更新して、IEDriver と ChromeDriver の「webdriver.driver」プロパティを含めました。
@RunWith(SerenityRunner.class)
public class SearchByKeywordStory {
Actor anna = Actor.named("Anna");
@Managed(uniqueSession = true, clearCookies=BeforeEachTest)
public WebDriver herBrowser;
@Steps
OpenTheApplication openTheApplication;
@Before
public void annaCanBrowseTheWeb() {
System.setProperty("webdriver.ie.driver", "../resources/IEDriverServer.exe");
System.setProperty("webdriver.chrome.driver", "../resources/chromedriver.exe");
anna.can(BrowseTheWeb.with(herBrowser));
}
@Test
public void search_results_should_show_the_search_term_in_the_title() {
givenThat(anna).wasAbleTo(openTheApplication);
when(anna).attemptsTo(Search.forTheTerm("BDD In Action"));
then(anna).should(eventually(seeThat(TheWebPage.title(), containsString("BDD In Action"))));
}
}
IntelliJ を使用してシナリオを実行しています。Chromedriver は問題なく動作し、テストはパスします。しかし、IEDriver が機能せず、テストを実行すると、次のエラーが表示されます。
SLF4J: クラス "org.slf4j.impl.StaticLoggerBinder" のロードに失敗しました。SLF4J: 無操作 (NOP) ロガー実装のデフォルト
InternetExplorerDriver サーバー (32 ビット) 2.48.0.0 を開始ポート 35996 でリッスン
net.thucydides.core.webdriver.UnsupportedDriverException: クラス org.openqa.selenium.ie.InternetExplorerDriver をインスタンス化できませんでした
net.thucydides.core.webdriver.UnsupportedDriverException: クラス org.openqa.selenium.ie.InternetExplorerDriver をインスタンス化できませんでした
at org.ao.automation.tasks.OpenTheApplication.performAs(OpenTheApplication.java:15)
at org.ao.automation.features.search.SearchByKeywordStory.search_results_should_show_the_search_term_in_the_title(SearchByKeywordStory.java:43)
プロセスは終了コード -1 で終了しました
IE のすべての設定を確認しました (保護された設定、ズーム レベル、HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BFCACHE のレジストリ値)
IE ブラウザが呼び出されるのがわかりますが (Internet Explorer を起動しています... 何とか)、その後すぐに失敗します。
InternetExplorerの呼び出しに問題がない数百のテストを含む他のいくつかのSelenium mavenプロジェクトがあるため、IEDriverが機能することは確かです。
ここで何か間違ったことをしている場合はお知らせください。