WEB UI自动化之旅(三)

发表于:2010-1-18 14:26

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:wuyingminhui    来源:51Testing软件测试博客

  对于RIA的测试,也就是对WEB APPLICATION的富程序端的测试,Flex的测试,是自动化测试中的一个难点,由于其中HTNL与AS的转换,AMF协议的解析使得在开源的世界中实现的机制比较上,这里简单介绍下Selenium对Flex的自动化测试支持。

  1、Download and install Selenium RC

  2、Download SeleniumFlexAPI, and rebuild yourFlexapplication with SeleniumFlexAPI.swc(最主要的就是要重新编译你的swf文件,并加入相应的swc文件。)

  地址:http://sourceforge.net/projects/seleniumflexapi/files/下载SeleniumFlex-API_0.2.5.zip,将里面的SeleniumFlexAPI.swc文件编译到你的flex应用中!

  3、Download FlashSelenium and add to your test project

  flash-selenium.jar加入到项目中

  4、Download FlexUISelenium  and add to your test project

  地址 :http://flex-ui-selenium.googlecode.com/files/flex-ui-selenium-0.1.1.jarflex-ui-selenium-0.1.1.jar加入到项目中

  5、Write and run your test cases against yourFlexapplications

  测试代码如下:

public class FlexUISeleniumTest {
        private final static String BASE_URL = "http://www.geocities.com/";
        private final static String PAGE = "paulocaroli/flash/sum.html";
        private Selenium selenium;
        private FlexUISelenium flexUITester;
      
        @Before
        public void setUp() throws Exception {
                selenium = new DefaultSelenium("localhost", 4444, "*iexplore",BASE_URL);
                selenium.start();
                selenium.open(PAGE);
                flexUITester = new FlexUISelenium(selenium, "compareSumFlexObjId");
        }

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

        @Test
        public void verifyFlexAppSumIsCorrect() {
                flexUITester.type("2").at("arg1");
                flexUITester.type("3").at("arg2");
                flexUITester.click("submit");
                assertEquals("5", flexUITester.readFrom("result"));           
        }
}

  这样就可以实现对Flex的测试。

  对于喜欢IDE的人来说就不那么容易了,可以将额外的支持FLEX的extension.js加入 IDE的中,但是由于现在还未完全开发,selenium的官网的解释是由于纯JS的程序对FLEX的操作比较困难,正在考虑新的开发手段。这里我们能用 IDE做的是首先不能自动产生代码,因为对对象的识别不能做到,您可以选在在选项中的HTML语言,然后再Table中结合FELXSPY识别然后产生代码。横向比较了FELXMONKEY1.0,SELENIUM-FLEX,RUBY+FUNFX中,都需要FLEXSPY的支持对对象的识别,都需要在编译时加入解析类和特定类,到目前为止RUBY+FUNFX的能力是比较好的,在执行时还能结合相应的watir经验使自动化更加完美。

推荐阅读:

WEB UI自动化之旅(四)

WEB UI自动化之旅(二)

WEB UI自动化之旅(一)

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号