[英]how to create custom reports in testng
我有以下Java代碼:
public class Login {
String Login_Status = null;
String Login_Message = null;
@Test
@Parameters({"USERNAME","PASSWORD"})
public void Execute(String UserName, String Password) throws IOException {
try {
Config.driver.findElement(By.linkText("Log in")).click();
Config.driver.findElement(By.id("user_login")).sendKeys(UserName);
Config.driver.findElement(By.id("user_pass")).sendKeys(Password);
Config.driver.findElement(By.id("wp-submit")).click();
// perform validation here
boolean expvalue = Config.driver.findElement(By.xpath("//a[@rel='home']")).isDisplayed();
if (expvalue) {
Login_Status = "PASS";
Login_Message="Login Successfull for user:" + UserName + ",password:" + Password + ",\n EXPECTED: rtMedia Demo Site LINK SHOULD BE PRESENT ON THE HOME PAGE OF rtMedia ACTUAL: rtMedia LINK is PRESENT ON THE HOME PAGE OF rtMedia. DETAILS:NA";
}
} catch(Exception generalException) {
Login_Status = "FAIL";
Login_Message = "Login UnSuccessfull for user:" + UserName + ",password:" + Password + ",\n EXPECTED: rtMedia Demo Site LINK SHOULD BE PRESENT ON THE HOME PAGE OF rtMedia ACTUAL: rtMedia LINK is NOT PRESENT ON THE HOME PAGE OF rtMedia. DETAILS:Exception Occurred:"+generalException.getLocalizedMessage();
// File scrFile = ((TakesScreenshot) Config.driver).getScreenshotAs(OutputType.FILE);
// FileUtils.copyFile(scrFile, new File("C:\\Users\\Public\\Pictures\\failure.png"));
} finally {
Assert.assertTrue(Login_Status.equalsIgnoreCase("PASS"), Login_Message);
}
}
}
我為登錄功能編寫了上述Java代碼,現在我想為結果(通過或失敗)創建報告,並將其存儲在文件夾中? 我不知道如何生成報告,而且我發現報告是由TestNG本身自動生成的,但是當我們運行另一個測試時,它會被覆蓋,這對我沒有幫助。 有什么幫助嗎?
有很多方法可以實現這一目標
generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, String outputDirectory)
並且可以有自己的邏輯來每次運行測試用例時將輸出保存到另一個文件夾中。 fileFragmentationLevel
的屬性,我認為您的報告不會被覆蓋。 在XML報告程序類中 TestListenerAdapter
並重寫onStart(ITestContext testContext)
方法以每次都備份您的testoutput文件夾。 但是我不喜歡這種方法。 我更喜歡#1。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.