3

为了自动测试视频,我们决定在视频播放时捕获视频的屏幕截图并比较这些屏幕截图,以确保视频被播放。但是,当我在播放视频时尝试捕获视频播放器的屏幕截图时,只会显示黑屏。

我们使用 selenium web-driver 和 JAVA 来开发自动化脚本。有没有其他方法可以确保视频是否被播放。拍摄正在播放的 Flash 视频的屏幕截图是否需要任何 Flash 支持?

请帮助我们。我们遵循的视频测试方法是否正确?

请在下面找到我的硒网络驱动程序代码

代码

import java.io.File;
import java.io.IOException;
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.WebDriverException;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
     
public class Screenshot {

public static void main(String[] args) throws InterruptedException, IOException
{
    FirefoxDriver driver = new FirefoxDriver();
    driver.manage().window().maximize();
    FlashObjectWebDriver flashapp=null;
    flashapp = new FlashObjectWebDriver(driver,"PlayerPlatformAPI");
    driver.get("Flash media player URL");
    Thread.sleep(1000L);
    WebElement streamurl = driver.findElement(By.name("Stream URL"));
    streamurl.clear();
    streamurl.sendKeys("video link");
    WebElement    tune=driver.findElement(By.xpath("//div[@id='outer']//input[@type='button']"));
    tune.click();
    Thread.sleep(1000L);
    driver.findElement(By.id("PlayerPlatformAPI"));
    screen.seekTo(50);
    flashapp.callFlashObject("SeekTo","50");
    int i;
    for(i=0;i<4;i++)
    {
    File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
    // Now you can do whatever you need to do with it, for example copy somewhere
    File file1 = new File("c:\\tmp\\"+i+"_scrnshot.jpeg");
    FileUtils.copyFile(scrFile,file1);
    Thread.sleep(10000);
    }
    driver.close();
}
}
4

0 回答 0