[英]Showing setup log info from the @BeforeTest annotation in a TestNG test
我正在使用testNg在Java中开发一些Selenium WebDriver测试。 我有一个基类,它将启动浏览器,导航到登录页面并登录。在基类中执行此操作的方法以@BeforeTest
注释。 我所有的测试类都扩展了该基类。
我在@BeforeTest
注释方法中包含了一些Reporter.log("...")
调用,以记录初始登录成功。 但是,此输出均未显示在输出文件中。
我的问题是:如何在输出文件中包含@BeforeTest
注释的方法的Reporter.log()
输出?
我能想到的唯一方法是在设置过程中在dataprovider中生成信息的日志字符串,然后使用Object []参数将日志信息的字符串传递给@Test
方法(可选的TestNG方法传递给@BeforeTest
和/或@Test
方法)。 然后,您的@BeforeTest方法可以访问该字符串,并可以使用Reporter.log将其打印出来。
因此,换句话说,您将无法获得任何@Configuration方法以在测试中显示输出(按照我的设计),但是您在DataProvider中所做的任何操作都可以传递给@Test
方法和/或@Before配置方法。
您可以执行的另一种方法是在测试类中保留一个String变量,以将日志信息保留在其中。 然后,在设置过程中,将设置信息保存到该字符串,然后在@Test方法中,使用Reporter.log(string, true);
访问它并将其打印到测试输出Reporter.log(string, true);
。
这只是一个偶然的解决方法,我会说您不应该这样做。 如果您确实认为需要在测试日志输出中显示设置信息,那么我建议您考虑一下为什么您认为需要这样做,因为这可能意味着您做了不寻常且不常见的做法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.