Я знаю, что это основной вопрос, но я просто не могу его решить.Как вызвать IEDriver с помощью Serenity
Я загрузил образец безмятежного проекта (mvn archetype serenity-junit-screenplay-archetype) (https://www.youtube.com/watch?v=o-6CcDFn5Ug), чтобы найти «BDD in Action» в google.
Я использую 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", как следует включить "webdriver.driver" свойства IEDriver и ChromeDriver:
@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 ... blah), но после этого он не работает.
Я точно знаю, что IEDriver работает, потому что у меня есть несколько других проектов Selenium maven с 100-м тестами, у которых нет проблем с вызовом InternetExplorer.
Пожалуйста, дайте мне знать, если что-то не так.