运行作为TestNG运行的test2.java后,如果我将其作为Java应用程序运行,则会出现以下错误。错误是什么意思,任何人都可以使用TestNG和Java帮助我。我正在使用Webdriver和Eclipse,只想用这个简单的技巧来申请我的测试脚本。
SKIPPED:main org.testng.TestNGException:方法main需要1 参数但是在@Test注释中提供了0。
这是我的Test1.java代码
package firsttestngpackage;
import org.testng.annotations.Test;
@Test
public class Test1{
public void message(){
System.out.println("Test");
}
}
这是我的Test2.java代码
package firsttestngpackage;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
@Test
public class Test2{
public static void main(String[] args){
Test1 class1 = new Test1();
class1.message();
}
}
答案 0 :(得分:2)
如果在类级别使用@Test
,则所有公共方法都被视为测试方法。您需要向main方法提供parameters
,因为它需要参数。
只需将其更改为public void main()
答案 1 :(得分:1)
看起来你正在以错误的方式使用TestNG。你不需要java main方法。只需使用注释@Test,然后使用TestNG(org.testng.TestNG
)运行类,并将.xml测试套件定义为Java Application或在Eclipse运行器中运行。 TestNG调用所有测试方法,因此您不必手动调用它。
答案 2 :(得分:0)
我通过删除“String [] args”
来实现它package firsttestngpackage;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
@Test
public class Test2{
public void main(){
Test1 class1 = new Test1();
class1.message();
}
}
答案 3 :(得分:0)
jaroslav是对的。你正在以错误的方式使用@Test注释。使用testNG框架时你不使用main方法运行test.u运行它作为TestNG测试
答案 4 :(得分:0)
首先,上述评论是正确的。如果使用testNG注释,请不要使用main方法。主要方法只能在@Beforeclass
和@Afterclass
中使用。也不需要(String[] args)
。
如果您仍然遇到TestNg问题,
确保您已正确安装。
在第一个测试用例(@Test
)
@BeforeTest
如果这有帮助,请告诉我。
public void setup ()
{
System.setProperty("webdriver.chrome.driver", "*location of your driver*");
ChromeOptions options = new ChromeOptions();
options.addArguments("test-type");
options.addArguments("start-maximized");
options.addArguments("--js-flags=--expose-gc");
options.addArguments("--enable-precise-memory-info");
options.addArguments("--disable-popup-blocking");
options.addArguments("--disable-default-apps");
options.addArguments("test-type=browser");
options.addArguments("disable-infobars");
driver = new ChromeDriver(options);
driver.manage().deleteAllCookies();
}