2016-06-21 2 views
0

Я знаю, что это основной вопрос, но я просто не могу его решить.Как вызвать 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.

Пожалуйста, дайте мне знать, если что-то не так.

ответ

0

Вы пробовали обновить версию IE драйвера до 2.53.0?