您可以创建一些包装操作来解决您的问题。在这里,我为你分享一个java例子。希望能帮助到你。
ScreenshotUtil.java
public class ScreenshotUtil {
public static void capture(WebDriver driver) {
File src = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
StringBuffer failedPicPath = new StringBuffer();
failedPicPath.append("D:\\");
String fn = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()).toString(); //Or the name you want. I suggest don't use static name.
failedPicPath.append(fn);
failedPicPath.append(".jpg");
}
}
Click.java
public void click(WebDriver driver, String xpath) { //Assume you are using Xpath
try {
WebElement e = FindElementUtil.find(driver, xpath); //Here you can design a class named FindElementUtil to search any elements and construct your own Exception. Then catch it here and out put Screenshots.
e.click():
} catch(ANYEXCETPION e) {
ScreenshotUtil.capture(driver); //OR you want to capture pic in all situations, capture it in 'finally' block.
}
}
的[以与硒的webdriver的屏幕截图(http://stackoverflow.com/questions/3422262/take-a-screenshot-with-selenium-webdriver) –
但是代码是相同的可能重复以上可以采取只有一个屏幕截图,而不是失败时,所以需要更多的上述代码...你能帮我吗? @Mystia – vamc
老实说,我不能完全理解你的实际问题是什么? –