什么是闪存测试?
Flash测试是一种测试类型,用于检查基于Flash的视频,游戏,电影等是否按预期工作。换句话说,测试闪存的功能称为“ 闪存测试”。Flash是Mircomedia开发的非常流行的软件(现已被Adobe收购)。它用于开发游戏,应用程序,基于图形的动画,电影,手机游戏,程序等。
在Selenium Automation中,如果一般定位符(如id,class,name等)找不到元素。然后需要XPath在网页上查找元素以对该特定元素执行操作。但是在Flash测试中,XPath无法访问Flash对象。因此,需要Flashwebdriver对象才能在任何应用程序中查找Flash对象。
闪存测试前提条件
以下是测试Flash应用程序的要求
- Flash应用程序。
- 支持网页浏览器。
- Adobe Flash Player插件。
工具-以下是在Flash测试中有用的测试工具
- Selenium
- Soap UI
- TestComplete
- 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电影,然后
- 然后停止播放电影。
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, 全排列进阶,如果有重复元素怎么办?