繁体   English   中英

如何以编程方式使用TestNG运行Selenium Java测试?

[英]How to run Selenium Java tests with TestNG programmatically?

我正在使用Selenium RC和Java,使用TestNG作为测试框架。 我正在使用Eclipse作为IDE。 我想很容易地从我自己的程序中调用TestNG。 我怎样才能做到这一点?

我在java中的以下代码很好地工作:

@Test
public void testTestNGProgramatically(){
TestListenerAdapter tla = new TestListenerAdapter();
TestNG testng = new TestNG();
testng.setTestClasses(new Class[] {LoginAuthentication.class, GmailSigninSignout.class});
testng.addListener(tla);
testng.run(); 
}

您可以访问以下网址获取详细信息说明:

http://testng.org/doc/documentation-main.html#running-testng-programmatically

虽然TestMethodWorker()是内部的,所以你不应该使用它,但是提供了一些很好的指导。

基于这个问题,我甚至不确定原始海报是否试图在单独的流程中启动TestNG,因此API文档可能正是您所寻找的:

http://testng.org/doc/documentation-main.html#running-testng-programmatically

看看org.testng.remote.RemoteTestNG,但是这需要你为你的测试编写一个xml套件,如:

<suite name="Default suite">
  <test verbose="2" name="Default test">
    <classes>
      <class name="com...service.UserServiceImplTest"/>
    </classes>
  </test>
</suite>

另一个入口点可能是新的org.testng.internal.TestMethodWorker(...)。run()但你必须查看代码以确定你需要设置的构造函数args。

也许根据您的需要,可以使用其他更方便的入口点; 我建议在调试模式下启动一些测试,在测试中放置一个断点并向下移动。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM