java - 运行 20 个 @Test 方法后如何打印平均时间?

标签 java selenium testng

我有运行并测量上传时间的测试。

我的任务是运行此测试 10 次,并打印 10 次上传的平均时间。 在运行 1 次后,我执行了 10 个 @Test,并执行了 10 个单独的上传措施。

我只是通过添加 (invocationCount = 10) 来重新运行我的测试。 测试类包括

@BeforeClass
@Parameters
@Test
@AfterMethod

如何在每次测试运行后获取一个值(时间结果)并将其保存到数组中?

最佳答案

您可以 inject一个ITestResult进入 @AfterMethod 并从那里获取时间结果:

List<Long> timeResults = ...

@AfterMethod
public void afterMethod(ITestResult result) {
  timeResults.add(result.getEndMillis() - result.getStartMillis()) 
}

关于java - 运行 20 个 @Test 方法后如何打印平均时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43553076/

相关文章:

java - 当您在 Java 中实现接口(interface)时,它是显式的还是隐式的?

java - 一个实体中的 Hibernate OneToMany

java - Android Wear GridViewPager 手势

java - 在一定时间后退出程序 - Java

unit-testing - 如何将TestNG测试结果分配给用例?

Java测试磁盘是SSD还是HDD

python - 滚动高度在 Selenium : [ arguments[0]. scrollHeight 中返回 "None"]

c# - 切换到 Google Safeframe 广告时出现 JSON 解析错误

java - NullPointerException 在 Google App Engine LocalSErviceTestHelper 上调用 tearDown()

java - 如何配置 TestNG 以在 IntelliJ 中仅运行单个测试用例?