前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Selenium WebDriver进行闪存测试

使用Selenium WebDriver进行闪存测试

作者头像
用户7466307
发布2020-06-17 16:46:55
1.9K0
发布2020-06-17 16:46:55
举报
文章被收录于专栏:用户7466307的专栏

什么是闪存测试?

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的 附加组件。

推荐阅读

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试test 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Flash测试与其他元素有何不同
  • 如何获取Flash电影/ Flash应用程序的Flash对象ID
  • 如何使用Selenium IDE录制自动执行Flash
  • 如何使用Selenium Webdriver自动执行Flash。
  • 创建用于Flash测试的Selenium脚本。
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档