我希望所有测试用例的TestNG报告中都有Log4j2日志信息。
TestNG使用一个名为Reporter.java的特殊记录器类来跟踪日志输出,并将其保存在结果XML中。
在log4j中,可以简单地创建一个appender实现,路由到Reporter并注册它。
使用Log4j2中的新loggerapi,很难找到有关如何实现这一点的信息。我有一些信息可以使用Log4j完成这项工作,但不能使用Log4j2。
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
将此添加到pom中。xml
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
<scope>compile</scope>
</dependency>
然后你可以使用日志。信息或日志。错误等。。。
据我所知,你只需要实现一个简单的Appender。类似的东西:
@Plugin(name="Reporter", category ="Core", elementType="appender", printObject=true)
public class ReporterAppender extends AbstractAppender {
private ReporterAppender(final String name, final Layout layout) {
super(name, null, layout, false);
}
@Override
public void append(final LogEvent event) {
final Layout<? extends Serializable> layout = getLayout();
if (layout != null && layout instanceof AbstractStringLayout) {
Reporter.log(((AbstractStringLayout) layout).toSerializable(event));
} else {
Reporter.log(event.getMessage().getFormattedMessage(); }
@PluginFactory
public static ReporterAppender createAppender(
@PluginAttribute("name") @Required(message = "A name for the Appender must be specified") final String name,
@PluginElement("Layout") Layout<? extends Serializable> layout) {
return new ReporterAppender(name, layout);
}
}
问题内容: 目前,我正在以这种方式拍摄测试失败的屏幕截图: 我可以将自己的屏幕截图包含在TestNG报告链接或图片中吗?如果是,怎么办? 我在网上发现的只是FEST框架。但是由于我已经在截屏了,所以我不想使用其他框架。 问题答案: 是的,您可以在testng报告中包含指向屏幕截图的链接。 您需要通过使用@Listeners({yourListener.class})注释您的测试类或所有测试类的父级
问题内容: 目前,我正在以这种方式拍摄测试失败的屏幕截图: 我可以将自己的屏幕截图包含在TestNG报告链接或图片中吗?如果是,怎么办? 我在网上发现的只是FEST框架。但是由于我已经在截屏了,所以我不想使用其他框架。 问题答案: 是的,您可以在testng报告中包含指向屏幕截图的链接。 您需要调用方法以通过@Listeners({yourListener.class})注释您的测试类或所有测试类
背景: null > @test(groups={“init”})public void openURL() 包含用于启动webdriver并使用给定URL打开chrome>实例的webdriver代码。 @test(dependsonGroups={“init”})public void testLogin() 包含的webdriver代码指向: 1。找到用户名密码文本输入元素,从属性文件中输入
我已经使用Maven project和Selenium&TestNG创建了我想从Jenkins执行的自动化脚本。在Jenkins中,我添加了TestNG插件来发布TestNG报告。但它没有显示出来。我得到以下提到的错误。 我已经尝试了以下选项,但对我来说不起作用。 > 尝试给出TestNG报告的完整路径。模式中的向前斜杠和向后斜杠。 通过更改TestNG结果文件路径,我尝试了其他不同的选项,但它对
我的测试方法中有多个断言(assertTrue),我想将断言失败传递给我的@AfterMethod,我的测试在该断言上失败,这样我就可以获得API测试失败的确切位置。有没有办法做到这一点?使用Rest assured,Maven&TestNG。