`
yanzilee9292
  • 浏览: 538302 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

selenium对flex程序的自动化测试

 
阅读更多

原文来自: http://seleniumcn.cn/simple/?t1908.html

 

因为公司的项目需要导入selenium对flex程序进行测试,我研究了一段时间稍有成就,因为在研究过程中发现selenium对flex的应用资料比较少,当然在这里也学到一些东西。所以研究后就把我学到的拿来与大家探讨一下。 

下面的内容要基于大家对selenium有一定了解。 
好,开始了。 
1) 当然是下载Selenium RC,我用的是0.9.2 
http://seleniumhq.org/download/previous.html 
2) 需要下载swc文件,把自己flex工程重新编译发布。 
SeleniumFlexAPI.swc 
http://sourceforge.net/projects/seleniumflexapi/ 

sfapi.swc: 
http://code.google.com/p/sfapi/downloads/list 
上面这个下再好后,除了swc文件外,还有一个user-extensions.js 
这个等一下说,先知道有这么个文件就可以了 
3) 编译flex工程 
3.1)我是用eclipse,所以在eclipse里面选中工程,属性里面选择flex build pass 
在library里面加入那两个swc文件 
3.2)在flex compile里面一个追加参数里面(-locale en_UA后面)追加下面的东西 
-include-libraries "../TBTFlex/lib/SeleniumFlexAPI.swc" "../TBTFlex/lib/sfapi.swc" 

PS:第二,三步这两个文件是否都需要,我不是太清楚,反正两个都加没错。 

4) 接下来是测试工程 
这个必须要先看过selenium的相关知识。 
4.1)Eclipse里面建一个工程,加入selenium-java-client-driver.jar 
selenium rc0.9.2中有的 
4.2)下载对flex支持的jar包,加入到工程中 
flash-selenium.jar : 
http://code.google.com/p/flash-selenium/downloads/detail?name=flash-selenium.jar&can=2&q= 

flex-ui-selenium-0.1.1.jar 
http://code.google.com/p/flex-ui-selenium/downloads/detail?name=flex-ui-selenium-0.1.1.jar&can=2&q= 
4.3)加入junit包,这个是必需的。。。我用的就是eclipse自带的3.8 
5) 接下来介绍测试程序 
public void setUp() throws Exception { 
String url = "http://172.16.173.100/"; 
selenium = new DefaultSelenium("localhost", 4444, "*iexplore", url); 
selenium.start(); 


public void tearDown() throws Exception { 
selenium.stop(); 

以上的也是selenium的知识,也没什么好说的 

public void test_BugMngRgst_init1() throws Throwable { 
//flex应用的login画面url,这个是jsp所以可以用selenium方法 
selenium.open("http://172.16.173.100/TBTLogin/"); 
//输入用户名 
selenium.type("userid", "user"); 
//输入密码 
selenium.type("password", "pass"); 
//按登陆按钮 
selenium.click("button1"); 
//这里因为登陆后是flex程序了所以用了thread等待,否则画面没出来,后面无法操作 
Thread.sleep(3000); 
//这里是得到flex画面对象,Main是嵌入jsp中的flash的id 
flexUITester = new FlexUISelenium(selenium, "Main"); 
flashApp = new FlashSelenium(selenium, "Main"); 
//下面举几个操作flex控件的例子 
//读取id为username的text框中的内容,这个方法label等控件也能用 
flexUITester.readFrom("username"); 
//按下id为registButton的按钮,这个方法有些图片也能按 
flexUITester.click("registButton"); 
//对id为gaiyo的text设值 
flexUITester.type("zhanghuijie").at("gaiyo"); 
//还有一些方法,像双击等等就不详细说了 

接下来是前面说的user-extensions.js,一开始只是用FlexUISelenium方法,发现对flex支持得很有限,后来看他的源代码,其实也是用FlashSelenium的call方法实现,再加上user-extensions.js里面看到有很多方法,就像是不是也能直接利用,结果证实是可以的,举几个例子。 
//这个是对下拉框的设值,aaaa是id,1就是设置下拉框的第一个值 
flashApp.call("doFlexSelectIndex","aaaa" ,"1"); 
//这个是得到datagrid中数据条数,bbbb是id 
flashApp.call("getFlexDataGridRowCount", "bbbb"); 
user-extensions.js中有很多方法,我也没一一测试,相信虽然不能对flex所有控件操作,但是很多还是可以操作的。 

希望大家能互相探讨,其实我还有很多不明白。 

 

 

 

--------------------------------评论--------------------------------------

今天补充一个刚研究出来的命令,对datagrid的操作,
取得datagrid中单元格的内容
flashApp.call("getFlexDataGridCell", "aaa,1,5");

aaa是datagrid的id
1是行
5是列

 

 
今天补充对tab的操作

junit:
flashApp.call("doFlexClick", "tabid","tablabel");

flex:
<mx:TabNavigator id="tabid".......>    

    <mx:Canvas label="tablabel".....

分享到:
评论
1 楼 小灯笼 2018-01-15  
Selenium自动化测试实战
网盘地址:https://pan.baidu.com/s/1dGaGNlB 密码: eqmj
备用地址(腾讯微云):http://url.cn/5sZo7xB  密码:trsafY

Selenium自动化测试从入门到精通(Java版)
网盘地址:https://pan.baidu.com/s/1eTp7Ta6 密码: w5hc

相关推荐

    selenium对flex程序的自动化测试.docx

    Selenium 对 Flex 程序的自动化测试 Selenium 是一个自动化测试工具,它可以模拟用户的行为来测试 Web 应用程序。Flex 是一种基于 XML 的开发语言,用于构建 Rich Internet Applications(RIA)。在这篇文章中,...

    selenium录制flex

    Selenium作为一种广泛使用的Web应用程序自动化测试工具,在处理Flex应用时也面临一定的限制。为了解决这个问题,出现了专门针对Flex应用的自动化测试解决方案——Selenium录制Flex。本文将详细介绍如何使用Selenium...

    selenium自动化测试工具介绍

    selenium 工具 原理 自动化 测试 介绍了selenium的基本使用和工作原理。相对来说selenium还是相对比较轻量级的工具,本身支持的功能不多,但是好处在于易扩展,容易整合,最大的特色是跨操作系统和跨浏览器平台,还...

    测试flex应用程序

    Selenium是一款强大的Web应用程序自动化测试工具,它支持多种浏览器和编程语言。将Selenium与sfapi结合使用,我们可以在JavaScript层面控制Flex应用的控件,从而实现自动化测试。 在描述中提到,sfapi能够"expose ...

    selenium 扩展jar包 flash flex

    在IT行业中,Selenium是一个广泛使用的自动化测试工具,主要用于Web应用程序的测试。它提供了一种方式,让开发者可以通过编程来模拟用户与浏览器的交互。在本主题中,“selenium 扩展jar包 flash flex”涉及到了...

    Selenium test flash

    总的来说,FlexUISelenium是Selenium RC的重要补充,它为Flex应用程序的自动化测试提供了便利,使测试人员能够更高效地验证Flex UI组件的功能和行为。通过集成这些工具,你可以构建出强大的测试框架,确保你的Flex...

    sfapi-selenium:Selenium Flex API 示例项目的自定义修改,与自定义 sfapi 一起使用,从 htps 分叉

    它提供了一种方式来自动化测试 Adobe Flex 应用程序,结合了 Selenium 的强大功能与 Flex API 的特定操作。"自定义修改" 指出这个项目在原有的基础上进行了个性化调整,以适应特定的需求。"与自定义 sfapi 一起使用...

    flex测试总结

    3. **UI自动化测试**:由于Flex应用是图形界面,因此需要自动化工具来模拟用户操作,如FlexMonkey或Selenium。这些工具可以录制并回放用户交互,帮助找出界面问题。 4. **性能测试**:Flex应用可能需要处理大量数据...

    Web测试技术大全

    QTP和其他专业工具提供了对Flex和Silverlight应用程序的自动化测试能力,包括控件属性的获取、测试脚本的设计以及特定功能(如FlexStore的登录、过滤、产品比较)的自动化。 #### Flex/Silverlight GUI自动化测试...

Global site tag (gtag.js) - Google Analytics