使用Selenium WebDriver进行闪存测试

2020-06-17 16:46:55 浏览数 (1)

什么是闪存测试?

Flash测试是一种测试类型,用于检查基于Flash的视频,游戏,电影等是否按预期工作。换句话说,测试闪存的功能称为“ 闪存测试”。Flash是Mircomedia开发的非常流行的软件(现已被Adobe收购)。它用于开发游戏,应用程序,基于图形的动画,电影,手机游戏,程序等。

在Selenium Automation中,如果一般定位符(如id,class,name等)找不到元素。然后需要XPath在网页上查找元素以对该特定元素执行操作。但是在Flash测试中,XPath无法访问Flash对象。因此,需要Flashwebdriver对象才能在任何应用程序中查找Flash对象。

闪存测试前提条件

以下是测试Flash应用程序的要求

  1. Flash应用程序。
  2. 支持网页浏览器。
  3. Adobe Flash Player插件。

工具-以下是在Flash测试中有用的测试工具

  1. Selenium
  2. Soap UI
  3. TestComplete
  4. Test Studio etc.

Selenium是非常流行的Web测试工具。您可以跨不同的平台和使用不同的语言创建框架。这是一个开放源代码工具,可以从官方网站下载。它易于配置,使用和实施。

Flash测试与其他元素有何不同

  • 为什么捕捉闪光物体很困难?如何解决?

Flash是一种过时的技术。由于Flash对象不同于HTML,因此很难捕获它。此外,Flash是嵌入式SWF文件(小型Web格式)。在移动设备上访问Flash对象也很困难。

与使用SEO(搜索引擎优化)视角开发HTML页面相比,开发Flash更加困难,因为搜索引擎无法完全读取Flash。但是,引入了HTML 5之类的高级技术来克服诸如性能和安全性之类的问题。

  • 测试Flash应用程序的方式。

Flash应用程序通过两种方式进行测试:

  • 手动–您可以通过手动执行测试用例来测试Flash对象, 因为它很容易测试。修复错误后,请确保闪存可以按预期 正常工作并提供注销。
  • 自动化–您可以使用任何自动化工具(例如Selenium,SoapUI,TestComplete等)编写脚本并执行脚本。
  • Flash与其他元素之间的区别。

如上所述,Flash和其他元素之间的主要区别是Flash嵌入在SWF文件中,而其他元素嵌入在HTML文件中。因此,与Flash相比,HTML更易于捕获。

如何获取Flash电影/ Flash应用程序的Flash对象ID

在任何网页中,<object>标记用于任何嵌入式多媒体(例如Flash,ActiveX,Video等)。它意味着在HTML文档中“嵌入”。这个标签定义了一个嵌入在<object />或HTML的<embed />标签中的容器,用于交互内容或外部应用程序。对象名称用于在网页上定位Flash对象。

例如,在下面的示例中,您可以看到Flash电影是在HTML文档或文件的“嵌入”标签中定义的。

例:

代码语言:javascript复制

/* Html page*/
<html>
<body marginwidth="0" marginheight="0">
<embed width="100%" height="100%" name="plugin" src="http://video/movie_play.swf" type="application/flash"/>
</body>
</html>

使用对象ID查找Flash元素。

您可以使用对象ID之类的Flash属性来定位Flash对象。因此,您可以根据需要对其执行播放,停止等操作。

如上所述,无法使用XPath访问Flash对象。因此,为了对这些对象执行任何操作,开发人员需要分配适当的对象ID。

下面的屏幕显示为Flash分配了对象ID“ MyFlashMovie”:

如何使用Selenium IDE录制自动执行Flash

您也可以使用Selenium IDE自动执行刷新。

步骤1)您需要打开Flash应用程序,然后打开Selenium IDE,如下图所示:

步骤2)现在,点击右侧的“录制红色按钮”,开始对Flash电影进行操作,然后您将找到录制的脚本,如下所示:

录制后,如果用户要执行脚本,则可以单击“绿色运行按钮”,如下图所示。Selenium IDE将逐步执行脚本。

如何使用Selenium Webdriver自动执行Flash。

您还可以使用Selenium Web驱动程序通过Flashwebdriver对象自动执行Flash,然后调用一种方法来操作Flash对象。您需要下载flashwebdriver jar文件:

步骤1)下载后,将jar文件添加到您的项目中,如下图所示。

步骤2)在Flash jar文件下,有一个单独的flashobjectwebdriver类。如下面的屏幕所示,在您的硒脚本中实现flashWebdriver“ myFlashmovie”。

添加Web驱动程序类“ MyFlashMovie”后,您可以访问Flash对象。

何时自动进行闪存测试

通常,当不容易访问Flash对象时,您需要使Flash测试自动化。测试结果将中止,因此无法测试Flash对象。

创建用于Flash测试的Selenium脚本。

步骤1)您使用“ Guru99”动画影片来测试动画场景。

http://demo.guru99.com/test/flash-testing.html

步骤2)在Selenium eclipse中编写脚本并执行。下面的代码在执行时将执行以下操作

  • 打开Firefox浏览器,
  • 启动guru99 Flash网站,
  • 播放Flash电影,然后
  • 然后停止播放电影。
代码语言:javascript复制
import org.openqa.selenium.firefox.FirefoxDriver;    
import Flash.FlashObjectWebDriver;    
public class Flash {        
    public static void main(String[] args) throws InterruptedException {                
    // Open firefox browser    
  FirefoxDriver driver = new FirefoxDriver();      
    // Maximize browser    
  driver.manage().window().maximize();    
    // Under Flash jar file there is separate FlashObjectWebDriver class    
  FlashObjectWebDriver flashApp = new FlashObjectWebDriver(driver, "myFlashMovie");    
    // Pass the URL of video    
  driver.get("http://demo.guru99.com/test/flash-testing.html");      
  Thread.sleep(5000);    
    flashApp.callFlashObject("Play");      
    Thread.sleep(5000);    
  flashApp.callFlashObject("StopPlay");      
  Thread.sleep(5000);    
  flashApp.callFlashObject("SetVariable","/:message","Flash testing using selenium Webdriver");
    System.out.println(flashApp.callFlashObject("GetVariable","/:message"));            
  }    
}

步骤3):执行上面的脚本。

输出:执行上述脚本后,Flash影片开始播放并停止。

闪存测试中的挑战

  • 自动化Flash应用程序是一个挑战。要使Flash应用程序自 动化,您可以使用FlexMonkium,它是Selenium IDE的 附加组件。
  • 您可能会遇到使用Selenium-Flexmonkium集成启用记录 /回放Flex应用程序的问题。解决方案是用户需要仔细安装 Flex monkium并将其集成到Selenium IDE。正确安装将 启用记录以使Flash应用程序自动化。

摘要:

  • 在Flash测试中,您需要检查Flash视频,游戏,电影等是 否按预期工作。
  • 您可以使用对象ID之类的Flash属性来定位Flash对象。因 此,您可以根据需要对其执行播放,停止等操作。
  • Flash和其他元素之间的主要区别是Flash嵌入在SWF文件中,而其他元素嵌入在HTML文件中
  • 当无法轻松访问Flash对象时,通常需要自动执行Flash测 试。
  • 在Flash测试中有用的工具是
    • Selenium
    • Soap UI
    • TestComplete
    • Test Studio etc.
  • 自动化Flash应用程序是一个挑战。要使Flash应用程序自 动化,您可以使用FlexMonkium,它是Selenium IDE的 附加组件。

推荐阅读

  • 高等数学——简单直观地了解定积分
  • 今天我又带来了一款超好用的百度网盘高速下载器~附软件资源
  • 动态规划入门——动态规划与数据结构的结合,在树上做DP
  • LeetCode47, 全排列进阶,如果有重复元素怎么办?

0 人点赞