0

我目前正在使用 JAVA 对 selenium webdriver 进行一些测试。我在尝试执行它们时遇到了问题。我会告诉你我得到了什么:

  • ie_home_com.java

在它上面使用 javac 之后,类就创建好了,好的:

  • ie_home_com.java
  • ie_home_com.class

现在,我将通过 check_nrpe 和 NSClient++ 从 Nagios 启动测试。因此,我创建了一个ie_home.java文件,该文件应该启动该类来执行测试。它的内容是:

import junit.framework.Test;
import junit.framework.TestSuite;

public class ie_home_com {

    public static Test suite() {
        TestSuite suite = new TestSuite();
        suite.addTestSuite(ie_home_com.class);
        return suite;
    }

    public static void main(String[] args) {
        junit.textui.TestRunner.run(suite());

    }
}

尝试在命令提示符下使用java ie_home.java启动它时,出现以下错误:

C:\SELENIUM\nav\logitravelcom>java ie_home.java
Error: Could not find or load main class ie_home.java

如果我尝试在其上使用javac,我会得到:

C:\SELENIUM\nav\logitravelcom>javac ie_home.java
ie_home.java:4: error: class ie_home_com is public, should be declared in a file
 named ie_home_com.java
public class ie_home_com {
       ^
ie_home.java:8: error: method addTestSuite in class TestSuite cannot be applied
to given types;
                suite.addTestSuite(ie_home_com.class);
                     ^
  required: Class<? extends TestCase>
  found: Class<ie_home_com>
  reason: actual argument Class<ie_home_com> cannot be converted to Class<? exte
nds TestCase> by method invocation conversion
2 errors

问题是什么?我对 Java 很陌生,无法弄清楚问题所在。

请注意,我的CLASSPATH是:

C:\SELENIUM\SERVER\junit-4.10.jar;C:\SELENIUM\SERVER\selenium-server-standalone-2.21.0.jar

我的路径是:

%JAVA_HOME%;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\

我的JAVA_HOME是:

C:\Program Files\Java\jdk1.7.0_04\bin;C:\SELENIUM\SERVER\junit-4.10.jar;C:\SELENIUM\SERVER\selenium-server-standalone-2.21.0.jar

任何帮助都将不胜感激。非常感谢您提前。

4

1 回答 1

1

尝试将 ie_home.java 中的 ie_home_com 类重命名为 ie_home。Java 编译器期望文件名与类名相同。

于 2012-05-18T07:42:55.033 回答