java - 在 testng 中使用 selenium 中的函数时如何保持代码干燥?

标签 java selenium selenium-webdriver webdriver testng

假设我有一个方法,在调用时会生成页面的屏幕截图并将其保存在文件夹中。我想知道一种更好的使用该方法的方法,而无需重复自己,因为现在的工作方式如下(我正在将 selenium-webdriver 与 testng 和 java 一起使用):

public class TestClass{

@Test
public void firstTest(){
  step1();
  step2();
  takeScreenshot();
  step3();
  takeScreenshot();
  step4();
  takeScreenshot();
  step5();
  step6();
  takeScreenshot();
}

@Test
public void secondTest(){
  step1();
  step2();
  takeScreenshot();
  step3();
  takeScreenshot();
  step4();
  step5();
  step6();
  takeScreenshot();
}


}

如您所见,现在,当我需要捕获屏幕截图但看起来不太干净时,我会在测试方法中的任何步骤之后调用该方法。所以我想知道这是否是更好的方法。

最佳答案

我不知道步骤是什么。但如果这些是断言,那么您可以将它们拆分为单独的测试,并在 @AfterTest 方法中调用屏幕截图方法。这样,每次测试屏幕截图后,您就不必重复屏幕截图方法调用。

关于java - 在 testng 中使用 selenium 中的函数时如何保持代码干燥?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55669098/

相关文章:

java - 如何在 RecyclerView 中使用的字符串上使用自定义字体?

java - 如何在 Eclipse 中加载 Google Collections Library?

java - 如何限制用户可以调整 JavaFX 窗口大小的程度?

java - 获取隐藏元素的属性

javascript - 聚合物 Selenium 测试访问子元素数据

java - 从下拉元素中选择值时的 Selenium webdriver-clear 方法用法

java - 日期格式 JSON jqgrid

python - 使用 selenium 和 python 进行网页抓取 - 包含文本的 xpath

selenium - 如何在 Scrapinghub 上安装 xvfb 以使用 Selenium?

python - 在第一个测试完成且测试失败后,Python和Unittest打开第二个浏览器