在命令提示符下运行java Selenium

时间:2014-07-02 15:44:45

标签: java selenium

我有这段代码:

import org.openqa.selenium.firefox.FirefoxDriver;

public class Test {
    public static void main(String[] args) {
        try{
            FirefoxDriver driver = new FirefoxDriver();
            driver.get("http:\\www.yahoo.com");
        } catch(Exception e){
            e.printStackTrace();
        }
    }
}

我希望在cmd中运行它。因此,我在.bat文件中调用以下命令。

javac -classpath "C:\selenium-2.42.2\selenium-server-standalone-2.42.2.jar;C:\selenium-2.42.2\selenium-java-2.42.2.jar;C:\selenium-2.42.2\selenium-firefox-driver-2.42.2.jar" Test.java
java Test

返回以下错误:

C:\selenium-2.42.2>javac -classpath "C:\selenium-2.42.2\selenium-server-standalo
ne-2.42.2.jar;C:\selenium-2.42.2\selenium-java-2.42.2.jar;C:\selenium-2.42.2\sel
enium-firefox-driver-2.42.2.jar" Test.java

C:\selenium-2.42.2>java Test
Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/f
irefox/FirefoxDriver
        at Test.main(Test.java:6)
Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.firefox.Firefox
Driver
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 1 more

此外,以下信息将有所帮助:

  1. java -version得到了:

    java版“1.8.0_05”  Java(TM)SE运行时环境(版本1.8.0_05-b13)  Java HotSpot(TM)64位服务器VM(内置25.5-b02,混合模式)

  2. C:\Program Files (x86)\Mozilla Firefox>firefox.exe -v | more Mozilla Firefox 30.0

  3. 也许这篇文章会被标记为重复,但我没有成功地遵循其他建议。你能否说明情况?

    Here是我使用的jar个文件。

    谢谢!

    PS: Win7 64位

1 个答案:

答案 0 :(得分:2)

您的第一个命令javac构建了类,但没有将依赖项嵌入到最终的jar文件中,这就是错误告诉您的内容:java.lang.NoClassDefFoundError。运行该类时,仍需要提供相同的依赖项。

javac -cp "C:\selenium-2.42.2\selenium-java-2.42.2.jar" Test.java
java -cp "C:\selenium-2.42.2\selenium-java-2.42.2.jar" Test

selenium-java.jar应该足够你的情况。看看这里的图片http://www.seleniumhq.org/download/maven.jsp,看看不同的硒罐是如何相互包含的。

我不相信你可以单独使用javac将依赖项嵌入到最终的.jar中。你需要其他工具。