如何将assertEquals的结果发送到另一个方法

时间:2015-05-02 07:36:58

标签: testng

我有一个包含assertEquals

的方法
@Test(enabled=true,groups = {"regression","sanity"})
public void Samplecode()
{
Constants.driver.get(Constants.INVENTORY_SUMMARY_URL);
Assert.assertEquals(invsummpagedetails.getTechnology().getText(), "Test1");
Assert.assertEquals(invsummpagedetails.getSoftware().getText(), "Test2");
Assert.assertEquals(invsummpagedetails.getChassis().getText(), "Test3");
}

我想将此方法的结果发送到不同包中的另一个方法。

我希望这在我们存储测试用例的存储库中自动将测试用例结果更新为PASSED或FAILED

2 个答案:

答案 0 :(得分:0)

您可以实施org.testng.TestListenerAdapter并覆盖方法onTestFailureonTestSuccess等,此处您可以获得测试结果,然后将其传递给“结果处理器”。

答案 1 :(得分:0)

如前所述,您必须覆盖org.testng.TestListenerAdapter

的方法

此侦听器捕获测试用例的结果。我的猜测是你要跟踪测试用例的结果。我对么?如果是这样,我可以显示一个包含数据库结构的完整Web界面,以向您展示您的测试运行的良好概述。

但是如何在测试框架中实现这一点,你可以做到以下几点。

您是否正在使用maven或eclipse运行测试用例?

蚀:

所有测试用例都需要此注释

@Test(testListener=TestListener.class)

的Maven:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.17</version>
                <configuration>
                    <listeners>
                        <listener class-name="TestListener" />
                    </listeners>                       
                </configuration>
            </plugin>
        </plugins>
    </build>

然后实现TestListener

public class TestListener extends TestListenerAdapter {

  public TestListener(){        
  }

  @Override
  public void onTestSuccess(ITestResult tr) {
    super.onTestSuccess(tr);
  }

  @Override
  public void onTestFailure(ITestResult tr) {    
    super.onTestFailure(tr);    
  }

  @Override
  public void onTestSkipped(ITestResult tr) {
    super.onTestSkipped(tr);
  }

  @Override
  public void onStart(ITestContext testContext) {
    super.onStart(testContext);
  }

  @Override
  public void onFinish(ITestContext testContext) {
    super.onFinish(testContext);
  }
}