GMailログインをシミュレートするテストケースを作成しようとしています。失敗したテストケースのスクリーンショットを取得しようとすると、次のエラーが表示されます。 追加されたコード全体が表示され、スクリーンショットを取得できません&スクリーンショットを保存します。示さSelenium/TestNG: 'Selenium Webdriverを使用して失敗したテストケースのスクリーンショットを取ることができません。
エラー:
失敗したコンフィギュレーション:@AfterTest Fail_Test || java.lang.IllegalArgumentExceptionが:arguments`
コードスニペットの間違った番号は:
@Test
public void login_gmail() throws IOException, InterruptedException
{
System.setProperty("webdriver.chrome.driver", "C:/Users/neha.sharma/Downloads/chromedriver.exe");
WebDriver drv=new ChromeDriver();
drv.get("http://www.gmail.com");
drv.findElement(By.id("identifierId")).sendKeys("[email protected]"); //USERNAME ENTRY
Thread.sleep(6000);
WebElement eleme = drv.findElement(By.xpath("html/body/div[1]/div[1]/div[2]/div[2]/form/div[2]/div/div[2]/div[1]/div[2]")); //NEXT BUTTON CLICK
JavascriptExecutor executor = (JavascriptExecutor)drv;
executor.executeScript("arguments[0].click();", eleme);
Thread.sleep(2000);
drv.findElement(By.xpath(".//*[@id='password']/div[1]/div/div[1]/input")).sendKeys("abcd234"); // PASSWORD ENTRY
Thread.sleep(5000);
//drv.findElement(By.xpath("html/body/div[1]/div[1]/div[2]/div[2]/form/div[2]/div/div/div[2]/div[1]/div[2]")).click();
WebElement eleme2 = drv.findElement(By.xpath(".//*[@id='passwordNext']/content/span")); // NEXT BUTTON CLICK AFTER ENTERING PASSWORD
JavascriptExecutor executor1 = (JavascriptExecutor)drv;
executor1.executeScript("arguments[0].click();", eleme2);
String Pass_Result= eleme2.getText();
AssertJUnit.assertEquals(Pass_Result, "NEXT");
Thread.sleep(2000);
}
@AfterTest
void Fail_Test(ITestResult Result) throws IOException
{
if (ITestResult.FAILURE==Result.getStatus())
{
TakesScreenshot ts= (TakesScreenshot)drv;
File Source=ts.getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(Source, new File("D:\\TestScreen.png"));
System.out.print("Screenshot taken");
}
}
このコードスニペットを整流で私を助けてください。
ITestResultの戻り値の型は何ですか? – demouser123
どのTestNGのバージョンを使用していますか? – juherr
TestNGバージョン6.11を使用しています。 –