java - 自定义监听器始终在 TestNG 中的 @Test 注释内执行

标签 java selenium testng

我有一个场景,我需要在 @Test 方法内生成关键的第一行。我需要提供通用的解决方案来实现这一目标。我们已经有了生成 token 的自定义类文件,并且应该在 @Test 方法内生成它。

到目前为止,我们在所有 @Test 方法中都有以下代码行。它似乎是重复的,想对此提供一些通用的解决方案。我们想创建一个监听器,一旦 @Test 方法进展,它将执行,并且在执行该方法中实际存在的第一行代码之前。

这是代码:

  @Test
  public void getSearchMach()
   {
   //The AutoKeyGenerator is a class which has getKey() method and return 
   //type as String
       String getkey=AutoKeyGenerator.getKey();
       //Some logic will go here.
   } 

以上行应放在所有测试方法的第一行。我不想到处重复并创建一个监听器,它将以智能方式执行相同的 Activity 。就像监听器将执行该行,然后执行剩余的行。我已经使用过 @BeforeMethod、@BeforeClass 和 @BeforeSuite,它们不起作用并返回 null 作为字符串值。

最佳答案

我们可以在类中将变量声明为静态。这是代码片段:

public class Testing {

    static String getKey;

    @BeforeTest
    public void set() {
        getKey = getKeyNow();
    }

    private String getKeyNow() {
        // Do Something
        return "Hi There";
    }

    @Test
    public void test1() {
        System.out.println(getKey);
        assertEquals(1, 1);
    }
}

请告诉我这是否可以解决问题。

关于java - 自定义监听器始终在 TestNG 中的 @Test 注释内执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48740956/

相关文章:

java - jackson 未能将字符串反序列化为 Joda-Time

java - Selenium 和 TestNG 都在一个浏览器中测试

selenium - 如何检查复选框是否启用?

java - Jmockit:模拟@EJB

java - 收到拒绝访问此文件 localhost_access_log.2014-08-30.txt 的 Apache Tomcat 错误?

java - 从文件读取文本 IO 异常

java - 有可用的聊天机器人框架吗?

java - Xpath 选择器在 IE 中不起作用,但在 Chrome 和 Firefox 中工作正常

java - 使用 TestNG 为 WebDriver 创建 Maven 项目时出现 Maven 错误 "Archetype catalog is empty"

testng - 诱惑报告: How to show Test Name Value From TestNG Suite XML File On Report?