原因:实际参数Class <ie_home_com>无法转换为Class <! - ?通过方法调用转换</ie_home_com>扩展TestCase - >

时间:2012-05-17 11:19:49

标签: java class junit selenium-webdriver

我目前正在使用JAVA使用selenium webdriver进行一些测试。我在尝试执行它们时遇到了问题。我会把你得到的东西给你:

  • ie_home_com.java

在上面使用javac后,就会创建一个类,ok:

  • 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

任何帮助都非常感谢。非常感谢你提前。

1 个答案:

答案 0 :(得分:1)

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