我知道这是一个基本问题,但我无法解决。

我下载了示例 Restful 项目(mvn原型(prototype)serenity-junit-screenplay-原型(prototype))(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中的所有设置( protected 设置,缩放级别,HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Internet Explorer \ MAIN \ FeatureControl \ FEATURE_BFCACHE的注册表值)

我可以看到IE浏览器被调用(正在启动Internet Explorer ...等等),但此后立即失败。

我肯定知道IEDriver可以正常工作,因为我还有其他几个Selenium maven项目,其中包含100项测试,调用InternetExplorer都没有问题。

请让我知道这里做错了什么。

最佳答案

您是否尝试过将IE驱动程序版本升级到2.53.0?

10-06 09:54