亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
selenium學習筆記
作者:網絡轉載 發布時間:[ 2013/12/6 16:26:14 ] 推薦標簽:

  Selenium是一款開源的web自動化測試工具,可以運行于IE、Firefox等若干瀏覽器上,驅動web頁面元素,如點擊按鈕、填寫表單等等,可以錄制用戶操作和通過Java、Python等語言來定制,可以說功能相當強大。

  本來這個工具的初衷是用于web開發人員的單元測試或者兼容性測試等,但我發現它對于系統測試也很有用——比如自動化錄制系統測試腳本。隨著web 2.0技術的不斷發展,富客戶端應用層出不窮,這給系統測試帶來了很大問題——測試腳本隨著軟件build的不斷更新(web頁面的很多細節發生變化),無法用于新build的測試,這導致測試人員經常重復性的手動錄制腳本,再加上數據關聯等工作,耗時費力。

  而Selenium則提供了一個很好的解決方案,它是通過識別web頁面元素來定位頁面控件,所以通過Selenium錄制一次測試腳本,以后每次需要錄制腳本時,都使用Selenium驅動第一次的腳本來重新錄制(像RPTLoad Runner都用跟蹤http請求和響應),這樣的話,Selenium基本可以較好的識別修改以后的控件,而RPT等系統測試工具則可以得到正確的http內容,這個過程不再需要測試人員手動錄制,完全靠Selenium自動驅動。

  Selenium包括很多組件,其中我現在用的是Selenium RC和Selenium IDE。Selenium IDE是Firefox的一個插件,我們可以使用它錄制頁面操作。

  Selenium IDE安裝完畢之后,可以從工具菜單中激活,然后我們可以在firefox中訪問需要測試的網頁,進行各種頁面操作,Selenium IDE在這個過程中會記錄我們的頁面控件和動作。完成錄制之后,Selenium IDE生成一個HTML文件保存腳本,比如

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head profile="http://selenium-ide.openqa.org/profiles/test-case">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <link rel="selenium.base" href="http://www.baidu.com/" />
    <title>baidu</title>
    </head>
    <body>
    <table cellpadding="1" cellspacing="1" border="1">
    <thead>
    <tr><td rowspan="1" colspan="3">baidu</td></tr>
    </thead><tbody>
    <tr>
            <td>open</td>
            <td>/</td>
            <td></td>
    </tr>
    <tr>
            <td>type</td>
            <td>kw</td>
            <td>ckword</td>
    </tr>
    <tr>
            <td>clickAndWait</td>
            <td>sb</td>
            <td></td>
    </tr>
    </tbody></table>
    </body>
    </html>

  我們可以導出成Java文件,比如:

    package com.example.tests;

    import com.thoughtworks.selenium.*;
    import java.util.regex.Pattern;

    public class NewTest extends SeleneseTestCase {
            public void setUp() throws Exception {
                    setUp("http://www.baidu.com/", "*chrome");
            }
            public void testNew() throws Exception {
                    selenium.open("/");
                    selenium.type("kw", "ckword");
                    selenium.click("sb");
                    selenium.waitForPageToLoad("30000");
            }
    }

  只要導入相應的selenium和Junit包可運行。

  有一點需要注意的是在回放腳本時,應該添加setSpeed方法,參數是ms,因為Selenium IDE雖然可以選擇回放速度(慢——中——快),但實際上即使選擇慢速,Selenium IDE仍然運行的有些快,導致其在順序執行用戶操作時,可以發生沒等到頁面加載完畢執行下一個命令的現象,導致下一個命令找不到響應的頁面控件。除了setSpeed之外,Selenium IDE還可以添加大量的命令。具體見Selenium IDE界面。

  另外一個關鍵是如何識別頁面控件。自動化的核心是錄制的控件識別方法可以復用,Selenium IDE支持的識別格式包括ID、Name、XPath:attributes、DOM index和XPath : position,而且允許正則表達式,所以非常靈活,根據我使用的情況來看,對于富客戶端應用,控件ID通常都增加了一個隨機數,不適合做識別,Name還不錯,但是如何這個控件Name帶有版本信息,比如控件在不斷升級,從1.3升到1.4,那么Name可以會失效,要小心。XPath: position我用的多,也覺得定位準。但是Selenium IDE有時抓不到某些操作,比如,可以某一個Logout鏈接,是由span來實現的,此時Selenium IDE抓不到,此時可以XPath:attributes識別,這樣寫://span[text()='Log out'],搞定。

  對于Selenium IDE,還有很多細節需要學習,比如正則表達式的應用,如何寫出通用的識別方法,等等。我準備使用Selenium IDE錄制腳本,然后導出成java文件,做一些修改之后用Selenium RC驅動。

軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 国产精品小黄鸭一区二区三区 | 99热免费在线观看 | www.狠狠爱| 香蕉视频黄网站 | 亚洲欧美日韩在线观看播放 | 在线看片黄 | 成 人 免费 网站 | 精品一区二区三区波多野结衣 | 2021国产精品成人免费视频 | 色一情一乱一乱91av | 天天综合网天天综合色不卡 | 相泽亚洲一区中文字幕 | 福利网址导航大全 | 国产成人精品cao在线 | 一级片免费观看视频 | 日本欧美国产精品 | 黄色在线免费看 | 精品久久香蕉国产线看观看亚洲 | 成年18网站免费视频网站 | 免费看的夫妻生活片 | 色网站免费视频 | 欧美亚洲欧美区 | 日韩在线不卡视频 | 最近更新免费中文字幕大全 | 97精品伊人久久久大香线蕉 | 很黄很色的1000部视频 | 国产黄色片在线免费观看 | 国产精品视频二区不卡 | 亚洲综合激情六月婷婷在线观看 | caopor牛牛射在线 | 香蕉视频网页 | 亚洲一级高清在线中文字幕 | 久久青草18免费观看网站 | 高清国产精品入口麻豆 | 一菊综合网成人综合网 | 久久免费精品高清麻豆 | 婷婷人人爽人人做人人添 | 亚洲第一成年人网站 | 91麻豆极品在线观看 | 波多野结衣中文字幕2022免费 | 国产精品久久久久天天影视 |