[英]Can Selenium take a screenshot on test(Assert.assertEquals()) failure?
我是Selenium的新手,當Assert equals失敗時,我會抓緊Selenium截屏。 我正在使用TestNG。
當測試用例在服務器端失敗時,它需要截取頁面的屏幕截圖,以便我可以准確知道它出了什么問題。
我將代碼包裝在try catch塊中,並在catch中截屏。
當O看到硒問題(例如,元素不可見,無法單擊元素)時,屏幕截圖功能將起作用。
但這對於Assert.equals()失敗。 當Assert.assertEquals()失敗時,我希望它能夠捕獲並截屏。 誰能澄清我的疑問?
下面是代碼片段,我如何實現這一點:
try {
Assert.assertEquals(expected,actualoutput,message) //it fails
}
catch {
Selenium taking screenshot // iam not able to take screenshot
}
雖然評論是正確的,但我為您提供了解決方法-將Assert
更改為if
:
if (!message.equals(expected)){
takeScreenshot(outputfile.jpg);
}
我建議使用注釋@AfterMethod
其稱之為@Override
方法拍攝畫面總之如果Result
失敗
@AfterMethod
public void onTestFailure(ITestResult testResult) throws IOException {
if(testResult.getStatus() == ITestResult.FAILURE){
System.out.println(testResult.getStatus());
}
@Override
public void onTestFailure(ITestResult result) {
System.out.println("***** Error " + result.getName()
+ " test has failed *****");
<Code and Logic>
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.