selenium web驱动程序中错误页面的屏幕截图,包含其出现日期以及发生日期的页面或链接

时间:2016-04-09 13:44:18

标签: java selenium selenium-webdriver

我的方案是我在我的网站点击几个按钮/链接时得到相同的错误页面。我有一个代码示例,用于根据日期时间戳截取屏幕截图,但我也想获取它出现在哪个按钮或它发生了链接点击事件,并希望将该事件名称附加到屏幕截图文件中。 请帮忙。 提前致谢

截至目前,这就是我所拥有的。

try{
  My code where the error occures on button click
}
catch(Exception ex)
{
            File scrn=((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);

            // extracting date for folder name.
            SimpleDateFormat sdfDate1 = new SimpleDateFormat("yyyy-MM-dd");//dd/MM/yyyy
            Date now1 = new Date();
            String strDate1 = sdfDate1.format(now1);

            // extracting date and time for snapshot file
            SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");//dd/MM/yyyy
            Date now = new Date();
            String strDate = sdfDate.format(now);

            String filefolder="D:/Home/Snapshot/"+strDate1+"/";  // create a folder as snapshot in  your project directory

            // Creating folders and files
            File f = new File(filefolder+strDate+".jpeg");

            FileUtils.copyFile(scrn, new File(f.getPath()));
}

1 个答案:

答案 0 :(得分:0)

将屏幕截图的整个代码放在一个方法中,例如take_screenshot并将其放在一个常见的位置,并将一个参数传递给偶数所在位置。

try {
    // some action which causes an error
}
catch(Exception ex)
{
    MyLib.TakeScreenshot("click button")  // argument name, 'action' for example
    // do other things for error handling
}

MyLib.TakeScreenshot包含您上面提到的代码。对于行

// Creating folders and files
File f = new File(filefolder+strDate+".jpeg");

将其更改为:

File f = new File(filefolder + strDate + action + ".jpeg"); //action name added to filename