当前位置: 首页 > 知识库问答 >
问题:

TestNG中的RunListener等效项

张子墨
2023-03-14
/**
 * Class used to do some report regarding the JUnit event notifier
 */
public class CustomJUnitListener extends RunListener {

  SeleniumTest test = null;

  public void setSeleniumTest(SeleniumTest test) {
    this.test = test;
  }

  /** {@inheritDoc} */
  @Override
  public void testFinished(Description description) throws Exception {
            // Get which scenario step under execution at run time..here    
  }

}```

//--------

共有1个答案

樊琦
2023-03-14

根据TestNG文档。您可以使用IInvokedMethodListenerITestListener这些侦听器可以帮助您实现目标。

例如,使用IInvokedMethodListener可以实现类似以下内容:

public class TestNGCustomInvokedMethodListener implements IInvokedMethodListener {

  private static final Logger LOG = LoggerFactory.getLogger(TestNGCustomInvokedMethodListener.class);

  @Override
  public void beforeInvocation(IInvokedMethod iInvokedMethod, ITestResult iTestResult) {
   LOG.info("Running method: " + iInvokedMethod.getTestMethod().getMethodName());
  }

  @Override
  public void afterInvocation(IInvokedMethod iInvokedMethod, ITestResult iTestResult) {

    LOG.info("Finished method: {} with result: {}", iInvokedMethod.getTestMethod().getMethodName(), statusToString(iTestResult.getStatus()));
  }

  private String statusToString(int status) {
    String statusStr;
    switch (status) {
      case ITestResult.FAILURE:
        statusStr = "FAILURE";
        break;

      case ITestResult.SKIP:
        statusStr = "SKIP";
        break;

      case ITestResult.STARTED:
        statusStr = "STARTED";
        break;

      case ITestResult.SUCCESS:
        statusStr = "SUCCESS";
        break;

     default:
        statusStr = "undefined";
        break;
    }

    return statusStr;
  }
}

最后,您可以看看这篇文章,它很好地解释了如何使用configure TestNG侦听器。

 类似资料:
  • 问题内容: Printf在1.5版本中添加到Java中,但是我似乎找不到如何将输出发送到字符串而不是文件的方法(这是sprintf在C语言中的作用)。有谁知道如何做到这一点? 问题答案: 查看格式及其语法

  • 问题内容: 有谁知道我如何在.NET中实现Java的Deflater.deflate()功能,因此对于Java的Infalter.inflate()方法是可以理解的? 问候,拉法尔 问题答案: 我已经使用#zipLib。这很简单。 从他们的网站上获取: / zip压缩,而且我不想使用libzip.dll或类似的东西。我希望全部使用纯C# 。”

  • 问题内容: Java中是否有等效的C#DataTable? 问题答案: 一个类似的问题最近已要求。ResultSet当然不是直接等效的,因为它仅适用于与数据库的活动连接,而DataTable可以“脱机”使用。 从个人经验来看,我会说Java中没有直接等效的功能(尽管还没有尝试过)。您要么使用普通的SQL,要么是您的朋友。或者您使用一些ORM工具,例如Hibernate,Cayenne,Toplin

  • 问题内容: 除了使用计时器来计数随时间变化的元素数量并寻找更改之外,我没有想到更好的方法来模拟此事件。 是否有某种DOMNodeInserted的专有IE版本?谢谢。 问题答案: 不,没有。最接近的事件是响应元素的属性或CSS属性的更改而触发的事件。响应于直接更改元素的属性而触发,但不通过其他方式(例如,通过使用DOM方法(例如,通过更改子元素的)来更改元素的内容)时触发。

  • 问题内容: 说我有下表称为: 我的目标是最终得出一个不同的列表,并以逗号分隔: 这可以在MySQL中轻松完成,但是与Django等效项却遇到了麻烦。到目前为止,这是我所缺少的,但是我缺少这些东西: 如果可能,我想避免使用原始SQL查询。 任何帮助将不胜感激! 问题答案: Django ORM不支持此功能。如果你不想使用原始SQL,则需要分组并加入。

  • 问题内容: 基于Java的Mahout的 目标是建立可扩展的机器学习库。Python中是否有任何等效的库? 问题答案: 强烈推荐scikits学习http://scikit-learn.sourceforge.net/