我正在研究一个使用Selenium webdriver在java中进行回归测试的项目。我编写了以下代码来截取屏幕截图。
package SelTest;
import java.io.File;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Test;
public class takeScreenShottest {
public WebDriver driver;
@Test
public void openBrowser() throws Exception{
driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.get("http://www.google.com");
try{
driver.findElement(By.id("testing")).sendKeys("test");
}catch(Exception e){
System.out.print("I am in Exception");
getscreenshot();
}
}
public void getscreenshot() throws Exception{
File scrFile=((TakesScreenshot)).driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File("E:\\Android-workspace\\Test1\\src\\ScreenShot\\screenshot.png"));
}
public static void main(String[] args) throws Exception{
takeScreenShottest ts = new takeScreenShottest();
ts.openBrowser();
}
}
我收到错误
File scrFile=((TakesScreenshot)).driver).getScreenshotAs(OutputType.FILE);
为什么会这样?
答案 0 :(得分:1)
您可以使用以下方法:
FileUtils.copyFile(((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE), new File("E:\\Android-workspace\\Test1\\src\\ScreenShot\\screenshot.png"));
答案 1 :(得分:0)
错误已解决。错误是TakesScreenshot无法解析为变量和令牌“)”上的语法错误。所以,我删除了“)。”所以正确的语法是
File srcFile=((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);