• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

使用selenium在网站自动化测试中的实践

发布: 2009-4-18 11:25 | 作者: yangzx554 | 来源: 测试时代采编 | 查看: 685次 | 进入软件测试论坛讨论

领测软件测试网

使用selenium在网站自动化测试中的实践

最近用selenium在做网站自动化,按照google用selenium的经验做了一些尝试。 
     主要分成了4层,这样做主要是为了对于代码重用性的考虑。 
     第一层是UIobject,主要是对于页面上的UI做了一些封装 
     

MILY: Consolas, 'Courier New', Courier, mono; BACKGROUND-COLOR: transparent; WORD-WRAP: break-word">
Java代码 javascripts/syntaxhighlighter/clipboard_new.swf width=14 height=15 type=application/x-shockwave-flash flashvars="clipboard=public%20class%20SelectUIObject%20extends%20UIObjiect%20%7B%0A%0A%20%20%20%20private%20SeleniumHelper%20helper%20%3D%20new%20SeleniumHelper()%3B%0A%20%20%20%20public%20String%20read(String%20locator)%7B%0A%20%20%20%20%20%20%20%20return%20%20helper.getSelectOptions(%20locator)%3B%0A%20%20%20%20%7D%3B%0A%20%20%20%20public%20void%20write(String%20locator%2C%20String%20value)%20%7B%0A%20%20%20%20%20%20%20String%20selectValue%20%3D%22label%3D%22%2Bvalue%3B%0A%20%20%20%20%20%20%20%20helper.select(locator%2C%20selectValue)%3B%0A%20%20%20%20%7D%0A%7D%0A%20%20%20%20%20%20%20" quality="high" allowscriptaccess="always">
  1. public class SelectUIObject extends UIObjiect {  
  2.   
  3.     private SeleniumHelper helper = new SeleniumHelper();  
  4.     public String read(String locator){  
  5.         return  helper.getSelectOptions( locator);  
  6.     };  
  7.     public void write(String locator, String value) {  
  8.        String selectValue ="label="+value;  
  9.         helper.select(locator, selectValue);  
  10.     }  
  11. }  
  12.          

   其中的SeleniumHelper是一些基本selenium的客户端的封装,如;
Java代码 TestCase.browser.getSelectOptions(locator)%3B%0A%20%20%20%20%20%20%20%20String%20value%20%3D%20%22%22%3B%0A%20%20%20%20%20%20%20%20for%20(int%20i%20%3D%200%3B%20i%20%3C%20values.length%3B%20i%2B%2B)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20value%20%3D%20value%20%2B%20values%5Bi%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20value%20%3D%20value%20%2B%20'%2C'%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20return%20value%3B%0A%20%20%20%20%7D%0A%7D" quality="high" allowscriptaccess="always">
  1. public String getSelectOptions(String locator) {  
  2.     String[] values = SeleniumTestCase.browser.getSelectOptions(locator);  
  3.     String value = "";  
  4.     for (int i = 0; i < values.length; i++) {  
  5.         value = value + values[i];  
  6.         value = value + ',';  
  7.     }  
  8.     return value;  
  9. }  

   第二层页面层,主要是页面的ui的封装 。如
Java代码 
  1. /** 
  2.  * 搜索价格 
  3.  * @param price 单位下拉 
  4.  * @param maxPrice 最高价格 
  5.  * @param minPrice 最低价格 
  6.  */  
  7.     public void searchPrice(String price,String maxPrice,String minPrice) {  
  8.         selectUI.write("o.121", price);  
  9.         textUI.write("o.price", minPrice);  
  10.         textUI.write("document.forms[1].elements[4]", maxPrice);  
  11.         LinkUI.write("document.forms[1].elements[5]");  
  12.         waitForPageToLoad("30000");  
  13.     }  

这里有些问题,主要页面上的元素的定位,还是在代码中写死,对于页面的改版还是需要修改源代码 

 

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: selenium Selenium 实践 自动化

21/212>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网