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

@DataProvider和@BeforeMethod顺序

张嘉佑
2023-03-14

在带有testng注释的测试类中首先调用什么方法

  • 用@DataProvider注释
  • 用@beforeMethod注释

我的情况如下:

class Test 
  @BeforeClass
    //here I initialize pages (pageobjects in context of selenium)
  @BeforeMethod
    //here i 'get' the page I want (and the one i'll use in dataprovider)

  @Test(dataProvider = "dp")
    //my test goes here...

  @DataProvider
  dp
    //here I use page. The page may be 'usable' only if it was already 'get'.

共有1个答案

楮星鹏
2023-03-14

删除@BeforeMethod注释,使其成为private,并从数据提供程序显式调用它。

 类似资料:
  • 我正在使用@dataprovider TestNG 注释来传递不同的数据集。我的 TestNG 类包含 @BeforeClass、@DataProvider、三种@Test方法(一种使用数据提供程序的测试)和@After类。 数据提供程序包含 3 组数据(用户名和密码) 我只想知道如何按照以下顺序执行测试 --执行@Beforeclass - --转到测试并从数据提供程序打印第二组数据 --执行第

  • 当使用新的测试数据(而不是来自数据提供者的原始数据)重试失败的测试时,我遇到了一个问题。如果我错过了适当的现有主题,请随时为我指出正确的方向。 我发现,如果测试方法失败,也会重试dataprovider方法。如何仅重新运行测试方法(使用原始测试数据)? 提前感谢您的帮助。 以下是我的代码的一些部分: 测试类: RetryTestListener: IRetryAnalyzer:

  • 我们的dataprovider旨在根据传入的某个键值从Excel文件中检索一行数据。这对于我们的测试套件来说效果很好,其中有大约15个测试,但在接下来的几个月里,测试将增加到几百个,因此我担心每次测试访问一次excel文件的影响(是的,excel文件将为每个测试访问一行)。 从性能/资源的角度来看,这是一个合理的担忧吗?如果是,如何衡量?(我在mac电脑上)。 使用@BeforeClass方法,我

  • 以下例外情况: 基类:

  • 定义一个普通的设置方法,并在每个方法的开头调用; 将方法与依赖于它的所有方法一起移动到一个新类(顶级类或内部类)。 两者都不理想,我希望保持测试的自然分组和清洁,而不是由于缺乏替代方案而分裂。

  • 我正在寻找某种方法,使一些@BeforeMethod逻辑只为一组java单元测试执行(使用testng)。因此,我继续了testng文档,发现了以下内容: