如果我的WebDriver测试失败(任何错误),我想自动截取屏幕截图并将图像保存在我的PC以及Google Drive或Dropbox上。我正在使用Java和TestNG& Selenium Webdriver的JUnit测试框架。
我已经完成了THIS和THIS个问题,这两个问题中提供的解决方案无法在本地保存屏幕截图。
//JUnit Test
driver = new FirefoxDriver();
baseUrl = "http://example.com";
driver.get(baseUrl + "");
JOptionPane.showMessageDialog(null, "Site loaded");
driver.findElement(By.xpath("/html/body/div[3]/header/div[1]/div[1]/div[6]/div/div/div[2]/div[1]/span/a[2]")).click();
JOptionPane.showMessageDialog(null, "Join Free link is clicked");
driver.findElement(By.id("gender")).click();
driver.findElement(By.id("c_name")).click();
driver.findElement(By.id("c_name")).clear();
driver.findElement(By.id("c_name")).sendKeys("Test");
driver.findElement(By.id("email")).clear();
driver.findElement(By.id("email")).sendKeys("abc@test.com");
driver.findElement(By.id("password")).clear();
driver.findElement(By.id("password")).sendKeys("abc123");
driver.findElement(By.id("re-password")).clear();
driver.findElement(By.id("re-password")).sendKeys("abc123");
driver.findElement(By.id("captcha")).clear();
driver.findElement(By.id("captcha")).sendKeys("WJWEA");
driver.findElement(By.id("button")).click();
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
// Now you can do whatever you need to do with it, for example copy somewhere
FileUtils.copyFile(scrFile, new File("c:\\tmp\\screenshot.png"));
答案 0 :(得分:1)
如果你有谷歌驱动器或保管箱帐户,你可能有" dropbox"或" doogle drive"应用安装。这些应用程序将本地文件夹的内容与云同步。只需将屏幕截图保存在该文件夹中,您就可以了。 Google Drive app Dropbox app
如果您在保存屏幕截图时遇到问题,请提供您收到的错误消息,或至少提供屏幕截图。我很乐意帮忙。