有没有人知道如何在使用Selenium Webdriver在测试用例中出现错误之前捕获html / url? 我需要知道以前的网址,而且我不知道如何... 我用Jenkins来测试。
我需要一些shell命令来进行屏幕截图并保存在某个目录中。 怎么可能是shell代码?
我尝试过:UI TEST CAPTURE插件 但它没有用......它不允许我配置它。我不知道为什么。 (我在图片中向您展示)
我已将以下内容写入我的测试用例java文件:
String actualTest = this.getClass().getName()+"."+testname.getMethodName();
File scrFile = ((TakesScreenshot)FabricaWebDriver.getDriver()).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File("target/screenshots/"+actualTest+".png"));
但它只有在测试成功时才有效。 当测试失败时,我需要它......,而我却无法得到它。
答案 0 :(得分:0)
关于捕获网址,我假设您的网站会引导您访问www.yoursite.com/error.htm等网页或类似内容?
在这种情况下,您唯一的选择是在每个Selenium操作之前存储URL,这很痛苦
C#:
var currentURL = Driver.Url;
或者,如果您指的是处理异常,那么您只需捕获catch块中的URL。
答案 1 :(得分:0)
完成!有了这个:
try{
driver.findElement(By.xpath("xxxxx")).click();
}
catch (Exception e) {
takeScreenshot(driver,e);
}
finally {
driver.close();
}
有效!