我希望每个JUnit 5测试都有自己的log4j2日志文件。然后,我想将此日志文件附加到诱惑超文本标记语言测试报告。
昨天我用谷歌搜索了两种不同的方法,但都没用。一种是在log4j2配置文件中使用系统属性。但是这些显然只初始化了一次。既然我写了这些行,我想知道是否有一种方法可以在运行时触发日志配置的重新初始化?
然后我尝试了一种方法,通过编程更新附加器。它非常复杂,深入log4j2的内部。它不起作用了,一些溪流已经被关闭了。它最后说,然后我放弃了。
在我再次尝试之前,什么是一种明智而安全的方法?
我设法在每次测试中附加一个日志文件。帮助我的是这些链接:
https://stackoverflow.com/a/43404124
https://github.com/sercasti/Log4j-RewriteAppender
在log4j2中。xml我使用路由appender,并在其中使用fileName=¨target/logs/${ctx:testId}的文件appender。日志-。
棘手的事情是处理没有${ctx:testId}的日志事件,这就是为什么我必须使用Rewrite appender来动态添加它。
在JUnit 5中,我实现了一个BeforeTestExecttionCallback,其中我做了ThreadContext.put(...)é.将每个测试的现有日志文件附加到Allure是更容易的部分。我将不适用于特定测试的日志文件添加到Jenkins构建结果中。
另一个想法是将日志信息发布到Kibana,并在诱惑报告中添加该信息的链接,但我没有选择这种方式。
我希望这些信息能帮助那些想做同样事情的人,作为一个起点。
一般来说,解决方案需要您在某个地方收集与当前测试相关的输出,并在测试触发器Allure.get生命周期()结束时收集这些输出。addAttarch()
。
在我们的项目中,我们有很多并行生成的测试日志,所以我们将它们保存在H2中。测试完成后,我们只需根据测试唯一id获取所需的日志。我认为这可以用更好的方式完成,但这是一个有效的解决方案。
我面临着一个奇怪的问题,我的诱惑测试报告没有显示测试身体部分。这是我的maven命令 这是我的pom文件:我也附上了报告截图,问题是它不包括测试部分。 http://maven.apache.org/xsd/maven-4.0.0.xsd" 这是cucumber赛跑者文件
我正在研究一种方法,将报告日志发送到报告门户,并附上屏幕截图。我正在使用XmlHttpRequest模块访问报表门户日志endpoint。这是我的密码。但是这段代码不起作用,相反,我得到了一条“json\u请求\u部分丢失”的响应消息。我做错了什么,我是按照这里的文件做的
问题内容: 我有在任何给定时间运行的线程类的多个实例。我有用于日志记录需求的log4j设置。 我需要一种设置log4j的方法,以便线程类的每个实例在不同的日志文件中输出其日志。 这是我所做的(用伪代码) 尽管上面为我实例化的每个线程创建了一个文件,但它不会向这些文件输出任何内容。任何帮助深表感谢。 问题答案: 它不会向文件输出任何内容,因为设置记录器的正确语法是:
我使用“selenide”、“testng”、“maven”、“eclipse”创建了一些自动化脚本。我试着添加诱惑力测试结果。我遵循了allure-testng-maven说明并更新了pom.xml。 要从eclipse运行测试,我要右键单击pom.xml+“run as”+“Maven test”。这是在“./target/allure-results”文件夹中执行所有testng测试和生成的
在TestNG框架中,我们使用TestNG套件xml文件来定义测试,并调用mvn(with-dtestset=TestNG.xml)来执行它们。在xml文件的另一边,我们有带有name值的test标记,但是这个name值似乎没有出现在Allure报告的任何地方。有没有办法让它显示在Allure报告上(更喜欢和@Feature注释在同一个地方)?
我正在尝试为我的Selenium Webdriver TestNG Maven项目使用诱惑报告。我使用了Allure文档和示例中指定的AllureListener类。然而,我无法将截图正确地附加到报告中。以下是我的观察: 我只能看到目标/诱惑力结果中生成的*. xml文件,看不到屏幕截图文件。 我看到图像暂时存储在 /temp文件夹中,然后在生成测试执行报告时被删除。这意味着屏幕截图图像存储在错误