- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 TestNG 中的 ExtentReports 准备测试执行报告。下面是我的代码-
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import com.relevantcodes.extentreports.ExtentReports;
import com.relevantcodes.extentreports.LogStatus;
public class TestNGExample {
WebDriver driver;
WebElement wb;
ExtentReports report = ExtentReports.get(TestNGExample.class);
@BeforeTest
public void open(){
driver = new FirefoxDriver();
driver.get("https://www.google.co.in/?gws_rd=ssl");
driver.manage().window().maximize();
report.init("E:\\Report\\report.html", true);
report.log(LogStatus.INFO, "Browser is up and running");
}//open
@AfterClass
public void tearDown(){
report.log(LogStatus.INFO, "Test Completed");
driver.close();
driver.quit();
}//tearDown
@Test
public void First(){
report.log(LogStatus.INFO, "Starting the test process");
String s = driver.findElement(By.xpath(".//*[@id='hplogo']")).getAttribute("Title");
Assert.assertEquals("Google", s);
report.log(LogStatus.PASS, "Checking for the result");
report.attachScreenshot("E:\\Report.png");
report.endTest();
}//first
}//TestNGExample
运行此代码后,我收到从 ExtentReports 生成的 NullPointerException。下面我把我得到的完整异常(exception) -
[TestNG] Running:
C:\Users\Shantanu_Nandan\AppData\Local\Temp\testng-eclipse-1317498292\testng-customsuite.xml
log4j:WARN No appenders could be found for logger (org.apache.http.client.protocol.RequestAddCookies).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
java.lang.NullPointerException
at com.relevantcodes.extentreports.support.RegexMatcher.getNthMatch(RegexMatcher.java:30)
at com.relevantcodes.extentreports.Logger.log(Logger.java:65)
at com.relevantcodes.extentreports.AbstractLog.log(AbstractLog.java:68)
at com.relevantcodes.extentreports.AbstractLog.log(AbstractLog.java:77)
at com.relevantcodes.extentreports.ExtentReports.log(ExtentReports.java:168)
at com.Selenium_Practice.TestNGExample.open(TestNGExample.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:564)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:213)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:138)
at org.testng.TestRunner.beforeRun(TestRunner.java:641)
at org.testng.TestRunner.run(TestRunner.java:609)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
at org.testng.SuiteRunner.run(SuiteRunner.java:240)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
at org.testng.TestNG.run(TestNG.java:1057)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
FAILED CONFIGURATION: @BeforeTest open
java.lang.NullPointerException
at java.lang.String.replace(Unknown Source)
at com.relevantcodes.extentreports.Logger.log(Logger.java:65)
at com.relevantcodes.extentreports.AbstractLog.log(AbstractLog.java:68)
at com.relevantcodes.extentreports.AbstractLog.log(AbstractLog.java:77)
at com.relevantcodes.extentreports.ExtentReports.log(ExtentReports.java:168)
at com.Selenium_Practice.TestNGExample.open(TestNGExample.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:564)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:213)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:138)
at org.testng.TestRunner.beforeRun(TestRunner.java:641)
at org.testng.TestRunner.run(TestRunner.java:609)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
at org.testng.SuiteRunner.run(SuiteRunner.java:240)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
at org.testng.TestNG.run(TestNG.java:1057)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
SKIPPED CONFIGURATION: @AfterClass tearDown
SKIPPED: First
===============================================
Default test
Tests run: 1, Failures: 0, Skips: 1
Configuration Failures: 1, Skips: 1
===============================================
===============================================
Default suite
Total tests run: 1, Failures: 0, Skips: 1
Configuration Failures: 1, Skips: 1
===============================================
[TestNG] Time taken by org.testng.reporters.EmailableReporter2@1afea7d: 218 ms
[TestNG] Time taken by org.testng.reporters.XMLReporter@104a311: 17 ms
[TestNG] Time taken by org.testng.reporters.SuiteHTMLReporter@19a06ac: 384 ms
[TestNG] Time taken by [FailedReporter passed=0 failed=0 skipped=0]: 53 ms
[TestNG] Time taken by org.testng.reporters.JUnitReportReporter@18ed237: 142 ms
[TestNG] Time taken by org.testng.reporters.jq.Main@e5c649: 520 ms
最佳答案
通过设置文件路径初始化报表后。
report.init("E:\\Report\\report.html", true);
在添加日志之前你必须开始测试
report.startTest("TestName");
bcoz 所有日志事件都添加到测试下。由于测试本身还没有开始,它会抛出一个空指针异常
代码:
@BeforeTest
public void open(){
driver = new FirefoxDriver();
driver.get("https://www.google.co.in/?gws_rd=ssl");
driver.manage().window().maximize();
report.init("E:\\Report\\report.html", true);
report.startTest("TestName");//start the test before adding logs to it
report.log(LogStatus.INFO, "Browser is up and running");
}//open
我已经测试了上面的代码,它工作正常。
希望这对你有帮助。如果你有任何疑问,请回来
关于java - 尝试在 TestNG 中使用 ExtentReports 生成测试报告时获取 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31747315/
我们正在将我们的测试报告数据(单元、回归、集成等)从 XML 格式迁移到数据库格式,以便更好地进行分析。目前,我们的大部分测试分析都是使用 CruiseControl.NET 仪表板完成的,但这主要限
我已经建立了大量的 Protractor 测试套件,我希望将它实现到 jenkins 中,以便在每个新版本中运行这些测试。要处理输出,仅将其输出到文本文件已经不够了,例如protractor conf
是否可以在 eclipse(kepler) 中以 html 形式提供 JUnit 测试报告数据,其中显示了许多测试用例以及通过了多少个,测试用例的意图是什么等。 最佳答案 是的,可以使用 Ant ec
我的团队目前正在用 Ruby 构建一个 WebDriver 测试框架。我们正在寻找一种生成测试完成报告的方法,以便可以通过电子邮件将其发送出去,最好包括单独的测试和测试验证点结果。 作为我所说的测试验
我工作的公司正在评估不同的 CI/CD 系统,我们尝试了 GoCD (v17.4)、Jenkins 2 (v2.7) 和 Concourse (v3.2.1)。 我们喜欢 Concourse,但一个很
嗨,我正在尝试通过在命令提示符下提供以下命令来获取文件中的 Protractor 测试结果。 Protractor conf.js > location\result.txt 在那里我可以看到 Pro
当分片测试(也称为并行运行测试;即:shardTestFiles: true)时,Protractor 不会在所有测试完成时报告结果,而是报告每个文件完成后。 有人有解决方法吗? 我尝试过使用内联 p
在一些博客中,我发现了以下生成 jacoco 报告的任务: task jacocoTestReport(type: JacocoReport, dependsOn: "testDebugUnitTes
使用 ant 可以运行 JUnit 测试并生成多种格式的测试报告:文本、HTML、XML ..并且经常通过电子邮件将测试结果发送给负责人,所以我的问题是:是否可以使用 Junit 生成的 xml 文件
我有一个脚本调用 run_test.py,内容如下:- if __name__ == '__main__': nose.main(argv=sys.argv) 运行我所有的测试就像这样做一样简
我可以得到 android 测试的 gradle 测试报告吗?我想直接在终端中获得报告。每次测试通过、失败或跳过时,我都希望在终端中打印包含测试名称和状态的报告。 对于单元测试,我可以将其添加到 gr
可以用SQL实现同样的功能,就是麻烦了点。 ? 1
我正在使用 Jenkins 和 Ant。我在 Jenkins 中运行 Selenium 和 JUnit 测试。我能够生成 HTML 报告和电子邮件给开发人员。我想在电子邮件中发布 Jenkins 单元
如果我在 protractor 上运行测试在我的机器上正确生成了报告并保存了屏幕截图。我现在的目标是进行自动化测试,我将使用 docker . 我的 docker-compose.yml看起来像这样
我使用的是 Visual Studio 2017、Visual Studio 测试工具和 VSTFS v.15。我设法使用 Selenium 截取了屏幕截图,目前将它们存储在“TestLogsDir”
我有 Maven Java 项目的 JUnit XML 报告,而不是源文件。我希望 Sonarqube 4.5.7 通过执行以下命令来发布这些报告:“mvn sonar:sonar”。 Sonarqu
我有一个简单的 Scala 项目,使用 sbt 构建, 用 JUnit 测试过。项目插入Shippable CI,在CI界面,可以看到Tests运行构建时的选项卡。眼见"No test reports
在我的 gradle 构建脚本中,我有一个部分说在我运行任务时生成测试报告:jacocoTestReport jacocoTestReport { group = "build" re
from selenium import selenium import unittest, time, re import HTMLTestRunner class Untitled(unittes
我正在尝试将 Protractor 测试结果导出到 xml 文件,为此我已经使用 安装了 jasmine-reporters npm install -g jasmine-reporters。 Pro
我是一名优秀的程序员,十分优秀!