我知道这是一个基本问题,但我无法解决。
我下载了示例 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?