原文来自: 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"..... |
|
分享到:
相关推荐
selenium对flex程序的自动化测试.docx
基于Selenium 2的自动化测试 完整版 selenium 自动化 测试
selenium2 python自动化测试 PDF学习 本PDF可以学习到如何进行Web自动化测试以多线程运行测试集,自动生成测试报告,最后完成后发送邮件等功能。
闲,所以有幸接触到 QTP、Selenium 等自动化测试工具,由于当时水平有限,学习也只停留在录制与回放的水 平上。再次学习 Selenium 是时隔一年之后,笔者有幸跳槽到一家互联网公司继续做 web 软件测试,发现项目适 合...
Selenium2+Python自动化测试实战Selenium2+Python自动化测试实战
selenium2+python自动化测试实战.pdf电子资源。。。 selenium2+python自动化测试实战.pdf电子资源。。。
Selenium是一个主要用于Web应用程序自动化测试的工具集合,在行业内已经得到广泛的应用。本书介绍了如何用Python语言调用Selenium WebDriver接口进行自动化测试。主要内容为:基于Python 的 Selenium WebDriver 入门...
使用Java+Maven+Selenium+TestNG+Jedis+Jenkins搭建的WebUI自动化测试框架,资源的大体介绍如下链接http://note.youdao.com/noteshare?id=dc564343fd126f497074f6d7560c9f5e&sub=387EB3B1BAC945CEA71A5BDBC6484473
基于Selenium 2的自动化测试 从入门到精通PDF电子书下载 带书
Demo_Selenium-3.12:自动化测试的工具和例子。可以用来测试网页方式的web系统。
selenium + python的自动化测试书籍,高清版,适合软件自动化测试人员,由浅入深,代码实例丰富,对自学者很有帮助
Selenium 2自动化测试实战 基于Python语言 企业批量购书 分享 关注商品举报 Selenium 2自动化测试实战 基于Python语言 这不仅是一本Selenium2自动化测试书,同时还是一本实用的Python基础编程书
ant+selenium+testng自动化测试方案
selenium2 python自动化测试.pdf
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大...基于Django + requests + selenium的简单搭建自动化测试平台源码+项目说明.zip
selenium + python的自动化测试书籍,高清版,适合软件自动化测试人员,由浅入深,代码实例丰富,对自学者很有帮助
selenium基于python的自动化测试脚本 对百度的搜索验证
零成本实现Web功能自动化测试 基于Eclipse+Python+Selenium自动化测试技术