在IntelliJ的主要项目中,我无法运行硒测试。我现在已经创建了一个压缩项目,它只有来自5分钟入门指南的示例代码,并且使用selenium-server-独立-2.8.0.jar。
当我使用FirefoxDriver运行时,我没有问题。然而,当我尝试使用IEDriver运行时,我得到了以下输出:
"C:\Program Files\Java\jdk1.6.0_26\bin\java" -Didea.launcher.port=7534 "-Didea.launcher.bin.path=C:\Program Files\JetBrains\IntelliJ IDEA 10.0.3\bin" -Dfile.encoding=ISO-8859-1 -classpath "C:\Program Files\Java\jdk1.6.0_26\jre\lib\alt-rt.jar;C:\Program Files\Java\jdk1.6.0_26\jre\lib\alt-string.jar;C:\Program Files\Java\jdk1.6.0_26\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.6.0_26\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.6.0_26\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.6.0_26\jre\lib\jce.jar;C:\Program Files\Java\jdk1.6.0_26\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.6.0_26\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.6.0_26\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.6.0_26\jre\lib\resources.jar;C:\Program Files\Java\jdk1.6.0_26\jre\lib\rt.jar;C:\Program Files\Java\jdk1.6.0_26\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.6.0_26\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.6.0_26\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.6.0_26\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.6.0_26\jre\lib\ext\sunpkcs11.jar;C:\development\playground\selenium\out\production\Selenium Playground;C:\Users\rachel.swailes\Downloads\selenium-server-standalone-2.8.0.jar;C:\Program Files\JetBrains\IntelliJ IDEA 10.0.3\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain Example
new File(".").getAbsolutePath() = C:\development\playground\selenium\.
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.openqa.selenium.ie.InternetExplorerDriver.setup(InternetExplorerDriver.java:84)
at org.openqa.selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.java:50)
at Example.main(Example.java:13)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:115)
Caused by: org.openqa.selenium.WebDriverException: java.lang.UnsatisfiedLinkError: Unable to load library 'IEDriver': com.sun.jna.Native.open(Ljava/lang/String;)J
Build info: version: '2.8.0', revision: '14056', time: '2011-10-06 12:41:26'
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.6.0_26'
Driver info: driver.version: InternetExplorerDriver
at org.openqa.selenium.ie.InternetExplorerDriverServer.initializeLib(InternetExplorerDriverServer.java:129)
at org.openqa.selenium.ie.InternetExplorerDriverServer.<clinit>(InternetExplorerDriverServer.java:38)
... 8 more
Caused by: java.lang.UnsatisfiedLinkError: Unable to load library 'IEDriver': com.sun.jna.Native.open(Ljava/lang/String;)J
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:166)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:239)
at com.sun.jna.Library$Handler.<init>(Library.java:140)
at com.sun.jna.Native.loadLibrary(Native.java:393)
at com.sun.jna.Native.loadLibrary(Native.java:378)
at org.openqa.selenium.ie.InternetExplorerDriverServer.initializeLib(InternetExplorerDriverServer.java:125)
... 9 more
Process finished with exit code 1现在我已经通过InternetExplorerDriverServer内部的代码进行了跟踪,我可以看到IEDriver.dll出现在一个临时目录中,但是由于某种原因它无法加载它。
我正在运行Windows7和IE8,并且我已经使用“”加载了IntelliJ,现在我已经没有什么想法了。我也不知道IntelliJ在这种模式下启动的所有进程是否也具有管理权限,或者这是否是一个红鲱鱼。
而且,使用IEDriver.dll上的Dependency,我可以看到它认为IEShims.dll没有链接--但是,我也不知道如何处理这些信息。
有人能给我提点别的建议吗?
编辑
我现在已经在XP上尝试过了,我也遇到了同样的问题,所以我想这不是Windows 7的权限。这肯定与IntelliJ加载文件的方式有关。如果我将执行行复制并粘贴到命令行中,它将运行,但不会从IntelliJ运行。
非常感谢,瑞秋
发布于 2011-10-14 09:55:42
经过多次挖掘..。
IntelliJ 10.0.3将C:\Program Files\JetBrains\IntelliJ IDEA 10.0.3\bin\..\.\bin;添加到路径中。当我将它添加到命令行时,应用程序将失败,当我删除它时,它将通过。
我尝试了10.5社区版,并有同样的问题,但在10.5最终版没有问题。我不认为会有什么不同,所以我没有升级我的终极版,直到今天。
因此,简而言之--答案是升级IntelliJ。:)
发布于 2012-12-20 18:35:38
我对IJ-IC11.1.4也有同样的问题,但您只需要像这样将这个dll目录添加到"vm options“中即可。
-Djava.library.path=C:\libhttps://stackoverflow.com/questions/7732325
复制相似问题