我正在尝试使用 testNG 单元测试和 selenium UI 测试框架运行我用 Java 编写的多个测试。我有一个配置文件设置,以便于运行多个测试。
当我添加@BeforeTest 和@AfterTest 注释来分隔我创建的方法时,由于某些公共(public)代码行到多个测试,我的测试都失败了,因为@BeforeTest 初始化失败。我在代码中的几乎所有位置都得到了 java.lang.NullPointerException。
当我将这个设置和清理代码放入我的多个@Test 方法时,它工作得很好。
我是这样做的
我有 2 个 java 类:
CaliforniaBenefitsTest.java
TestConfig.java
属于同一个包:
com.company.qa.states.benefits
这是我的 XML 文件:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite thread-count="1" verbose="4" name="Config">
<parameter name="configFile" value="config.properties" />
<parameter name="testConfigFile" value="testConfig.properties" />
<parameter name="proxy" value="notrequired" />
<test name = "Tests1">
<groups>
<run>
<include name="prerequisite" />
<include name="runnable" />
</run>
</groups>
<classes>
<class name = "com.company.qa.states.benefits.CaliforniaBenefitsTest"/>
</classes>
</test>
<test name="Tests2">
<groups>
<run>
<include name="prerequisite" />
<include name="runnable" />
</run>
</groups>
<classes>
<class name = "com.company.qa.states.benefits.TestConfig"/>
</classes>
</test>
</suite>
我做错了什么?如何修复我的 XML 文件或@BeforeTest 和@AfterTest 方法。请告诉我如何解决这个问题,让我发疯。如果我没有包含某些信息,请问我,我会提供这些信息。
最佳答案
请引用这些步骤-
运行一次你的项目
刷新你的项目
现在,将在您的项目下创建“test-output”文件夹——展开文件夹
双击“index.html”文件;它将在 Eclipse 浏览器窗口中打开
单击左侧面板上给出的“.xml”链接
测试套件 XML 将在右侧面板上打开
复制 XML 内容
右键单击您的项目 >> 新建 >> 文件
为您的测试套件文件命名(扩展名为 .xml,例如 testng.xml)并单击完成
粘贴您从“index.html”复制的内容并根据需要修改您的套件文件
关于xml - 如何配置 testng.xml 配置文件以使用注释前后运行多个测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25515701/