2017-05-23 16 views
0

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"); 
      } 
    } 

このコードスニペットを整流で私を助けてください。

+0

ITestResultの戻り値の型は何ですか? – demouser123

+0

どのTestNGのバージョンを使用していますか? – juherr

+0

TestNGバージョン6.11を使用しています。 –

答えて

0

私は右かだ場合、私は知らないが、私はあなたが値

void fail_test(String name,int name){ 

} 

に合格する必要があると思うし、私はあなたがデータの名前すなわちない入力しておくべきだと思う、String ITestResult

0

@AfterTestメソッドではITestResultを使用できません。しかし、それは可能です@AfterMethod(私は、あなたが使いたい注釈だと思います)。

@AfterTest@AfterMethodに置き換えてください。

+0

いいえ、注釈を変更しましたが、まだ失敗したテストケースのスクリーンショットを取ることができません。 –

関連する問題