我需要帮助创建一个testng`` scipt ..
我创建了一个只包含@beforesuite的类,其中包含打开应用程序的命令
@beforesuite
和第二类包含3个方法
@test{method1}
@test{method2}
@test{method3}
和第三类包含关闭应用程序的@AfterSuite ......
@AfterSuite
如何编写一个xml文件来一个接一个地运行这些类.. ??
有没有更好的方法来编写脚本???
任何建议都会有所帮助。
提前致谢。
Sudhanva
答案 0 :(得分:0)
只需将这些类放在测试套件文件中,testNG将负责运行首先包含@BeforeSuite的类,然后运行具有@test next的类,然后运行具有@aftersuite标记的类。
<suite>
<test name ="myTest">
<classes>
<class name ="Class1"/> <!-- Class with @beforeSuite-->
<class name ="Class2"/> <!-- Class with @test-->
<class name ="Class3"/> <!-- Class with @afterSuite-->
</classes>
</test>
</suite>
顺便说一下,为什么要为@AfterSuite和@BeforeSuite方法设置不同的类。如果所有人都在同一个班级,那会更简单。但这只是我的想法。
答案 1 :(得分:0)
我建议如下:
请仔细阅读link,这是一份非常详细的TestNG文档。您可以设置优先级&#39;测试注释的属性。
//this decides the order in which your tests are executed
@test{priority=1} //executed first
@test{priority=2} //executed second
@test{priority=3} //executed third
由于这看起来像关键字驱动的框架,我建议您从Excel工作表中传递类名而不是实现XML解析器。
要实现excel表读/写,Apache POI是一个非常好的库。它支持xls和xlsx文件。这样修改执行顺序也很容易。有关关键字驱动框架的详细信息,请参阅此link。
就报告结构而言,TestNG可能会生成自己的报告,但ATU Graphical Reporter具有良好的视觉吸引力。
答案 2 :(得分:0)
这是如何在XML文件中提及您的测试:
<?xml version="1.0" encoding="UTF-8"?>
<suite name="SuiteName" verbose="1" data-provider-thread-count="10"
thread-count="10">
<test name="TestName" thread-count="10">
<classes>
<class name="packageName.ClassName"/>
<class name="packageName.ClassName" />
</classes>
</test>
</suite>