作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
如果我的 WebDriver 测试失败(任何错误),我想自动截取屏幕截图并将图像保存在我的 PC 以及 Google Drive 或 Dropbox 上。我正在为 Selenium Webdriver 使用 Java 和 TestNG & 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"));
最佳答案
如果您有 google drive 或 dropbox 帐户,您可能安装了“dropbox”或“doogle drive”应用程序。这些应用程序将您本地文件夹的内容与云同步。只需将您的屏幕截图保存在该文件夹中即可。 Google Drive app Dropbox app
如果您在保存屏幕截图时遇到问题,请提供您收到的错误消息,或者至少提供一张屏幕截图。我很乐意提供帮助。
关于java - 当使用 JAVA 的 Selenium Webdriver 测试失败时自动截图并上传到 GDrive 或 Dropbox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33030671/
我是一名优秀的程序员,十分优秀!