• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    使用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.     }  

    這里有些問題,主要頁面上的元素的定位,還是在代碼中寫死,對于頁面的改版還是需要修改源代碼 

     

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    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認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>