Jos*_*ark 5 selenium webdriver selenium-webdriver
我只是想设置并能够从Selenium的网站运行示例.但是我把它缩小到导致StackOverflowError的FirefoxDriver构造函数.我使用InternetExplorerDriver获得相同的行为,但不是HtmlUnitDriver.
以下代码
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class WebDriverTest {
@Test
public void test() {
WebDriver driver = new FirefoxDriver();
}
}
Run Code Online (Sandbox Code Playgroud)
生成以下堆栈跟踪:
java.lang.StackOverflowError
at java.lang.Exception.<init>(Unknown Source)
at java.lang.reflect.InvocationTargetException.<init>(Unknown Source)
at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.json.JSONObject.populateMap(JSONObject.java:937)
at org.json.JSONObject.<init>(JSONObject.java:272)
at org.json.JSONObject.wrap(JSONObject.java:1539)
at org.json.JSONObject.populateMap(JSONObject.java:939)
at org.json.JSONObject.<init>(JSONObject.java:272)
at org.json.JSONObject.wrap(JSONObject.java:1539)
at org.json.JSONObject.populateMap(JSONObject.java:939)
at org.json.JSONObject.<init>(JSONObject.java:272)
at org.json.JSONObject.wrap(JSONObject.java:1539)
at org.json.JSONObject.populateMap(JSONObject.java:939)
at org.json.JSONObject.<init>(JSONObject.java:272)
at org.json.JSONObject.wrap(JSONObject.java:1539)
at org.json.JSONObject.populateMap(JSONObject.java:939)
at org.json.JSONObject.<init>(JSONObject.java:272)
at org.json.JSONObject.wrap(JSONObject.java:1539)
at org.json.JSONObject.populateMap(JSONObject.java:939)
at org.json.JSONObject.<init>(JSONObject.java:272)
:
:
Run Code Online (Sandbox Code Playgroud)
我正在使用selenium-java-2.22.0和随下载打包的json jar(json-20080701.jar)
另外值得注意的是,在运行新的FirefoxDriver时,Firefox会启动,您会看到一个新的标签页.使用InternetExplorerDriver,没有窗口打开,但它产生相同的堆栈跟踪,JSONObject无限循环.我在Windows 7上运行Firefox 12.0和IE9.
类路径中的某些JAR文件与Selenium依赖项冲突.即使你正在使用常春藤,它也有点奇怪.您的一个依赖项很可能包括其jar文件中的冲突类 - 或者您的依赖项需要同一个库的两个不同版本.
无论如何,为了将来的用户阅读本文 - 使用一些依赖管理器为你做罐子的艰苦工作.如果您有超过10个具有依赖项的项目,请不要尝试手动维护库 - 您很可能很快就会搞砸它们.这是对依赖解决方案的一个相当合理的解读,遵循那里的一些链接,不要偷懒.依赖管理者需要一些时间来掌握,他们是一个适合自己的世界.但他们帮了很多忙.
不要使用同一个库的多个版本.如果你使用多个库,其中两个使用相同的东西的不同版本...祝你好运!
除此之外...我们唯一的希望是将引入的Java模块系统Java 8 Java 9.
| 归档时间: |
|
| 查看次数: |
4039 次 |
| 最近记录: |