<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    無為

    無為則可為,無為則至深!

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      190 Posts :: 291 Stories :: 258 Comments :: 0 Trackbacks
    國內(nèi)大部分公司還依靠QA組的MM看著測試用例文檔來手工測試,如果錢人有限,又想改變現(xiàn)狀,最實在的建議是先編寫直接訪問數(shù)據(jù)庫的商業(yè)層UnitTest和基于Selenium的集成測試這兩種實用性最高的測試。

    ???在徐昊指導下,SpringSide2.0 已經(jīng)全面應用Selenium。

    ???Selenium 能被選為最好集成測試、回歸測試方案的原因,是因為:

    ?? 1.Selenium IDE ,一個FireFox plugin,能自動記錄用戶的操作,生成測試腳本

    ? ?2. 生成的測試腳本可以用Selenium Core手工執(zhí)行,也能基于Selenium RC放入Java,C#,Ruby的單元測試用例中自動運行

    ?? 3. 測試用例調(diào)用實際的瀏覽器(如IE、FireFox)來執(zhí)行測試。和有些開源方案自行實現(xiàn)Web解釋引擎相比,實際的瀏覽器能模擬更多用戶交互和JS語法,順便還可以測試各瀏覽器兼容性。

    ?? 4. 測試腳本語法非常簡單,見后。
    ??

    1. 使用Selenium IDE生成腳本

    ?????? Selenium IDE 是一個Firefox1.5插件,下載后用Firefox將其打開。

    ?????? 工具->Selenium IDE,點擊紅色的recorder按鈕開始錄制,在網(wǎng)站中亂點時可以即時看到每個動作的腳本。

    ?????? 切換Format:顯示 HTML,Java,C#,Ruby 語法的腳本。 option里還可以設定Java里Selenium變量的名稱,如user。

    2.測試用例與測試腳本

    ???測試用例在Selenium IDE生成->Copy Paste的流程下非常的容易。

    public?class?UserManagerTest?extends?TestCase
    {
    ????
    private?Selenium?user;

    ????
    public?void?setUp()?throws?Exception?{
    ???????user
    =?new?DefaultSelenium("localhost",?SeleniumServer.DEFAULT_PORT,?"*iexplore",?"http://localhost:8080");
    ???????user.start();
    }
    protected?void?tearDown()?throws?Exception?{
    ????????user.stop();
    }

    public?void?testUserEdit()?{
    ????user.open(
    "/helloworld");
    ????user.click(
    "//a\[contains(@href,?'user.do?id=0')\]");
    ????user.waitForPageToLoad(
    "3000");
    ????user.type(
    "user.name",?"calvin");
    ????user.click(
    "save");
    ????user.waitForPageToLoad(
    "3000");
    ????assertTrue(user.isTextPresent(
    "calvin"));
    }


    ?? 留意setUp中的"*iexplore"參數(shù),設定使用IE作為測試瀏覽器;如果設為"*firefox",就會在PATH中查找*firefox.exe。

    ???注意,Selenium使用IE時的Proxy機制比較特殊,如果你同時在本機ADSL modem撥號上網(wǎng),要先斷網(wǎng)。

    ???腳本中按徐昊的指導,使用user 作為Selenium的變量名,使用例更加易讀。

    ?? Selenium提供了非常豐富的用戶交互函數(shù),但Selenium RC里并沒有為Java單列一個函數(shù)參考手冊,需要閱讀公共的Selenium Refrences,再使用同名對應的java函數(shù)。

    ???所有函數(shù)都是一個locator參數(shù),將操作付諸某個頁面上的對象。支持ID,DOM語法,XPath語法,CSS selector語法等,詳見參考手冊

    ???如果不會寫,最好的老師還是Selenium IDE 。比如那句點擊 <a href="user.do?id=0" />修改</a>,就是用IDE得到user.click("http://a[contains(@href, 'user.do?id=0')]")的XPath語句。

    3.Ant的運行腳本

    ??? SpringSide的Ant測試腳本比較有特點的一個地方是使用了ant 的<parallel> 并行容器節(jié)點,一邊同時打開tomcat 和selenium server,一邊等待兩者打開后執(zhí)行JUnit,最后關閉tomcat。
    ???如果不使用并行節(jié)點,而是用spawn=true屬性后臺啟動tomcat,屏幕里就看不到tomcat信息,如果測試意外終止的話,就不能靠關閉窗口來tomcat,很不方便。

    <parallel>
    ????
    <antcall?target="tomcat.start"/>
    ????
    <antcall?target="selenium.server.start"/>
    ????
    <sequential>
    ????????
    <waitfor?maxwait="10"?maxwaitunit="minute"?checkevery="1"?checkeveryunit="second">
    ????????????
    <http?url=http://localhost:8080/>
    ????????
    </waitfor>
    ????????
    <waitfor?maxwait="10"?maxwaitunit="minute"?checkevery="1"?checkeveryunit="second">
    ????????????
    <socket?server="localhost"?port="4444"/>
    ???????
    </waitfor>
    ???????
    <junit./>
    ???????
    <antcall?target="tomcat.stop"/>
    ????
    </sequential>
    </parallel>

    4.SpringSide 中的FunctionalTestCase基類

    SpringSide中抽象了一個FunctionalTestCase基類,抽取了setUp() ,tearDown()函數(shù)中selenium server 開閉操作。

    其中瀏覽器類型默認為"*iexplore", 基本url默認為http://localhost:8080

    用戶可以在selenium.properties 中重新設定selenium.explorer 和selenium.baseurl 變量。



    凡是有該標志的文章,都是該blog博主Caoer(草兒)原創(chuàng),凡是索引、收藏
    、轉(zhuǎn)載請注明來處和原文作者。非常感謝。

    posted on 2006-09-07 14:56 草兒 閱讀(1312) 評論(0)  編輯  收藏 所屬分類: Java編程經(jīng)驗談
    主站蜘蛛池模板: 久久久久亚洲AV无码去区首| 四虎影视永久免费观看| 亚洲在成人网在线看| 野花高清在线观看免费完整版中文 | 中文字幕视频免费在线观看| 亚洲国产精品一区| 无码日韩人妻AV一区免费l | 亚洲国产精品无码久久久秋霞2| 精品免费久久久久久久| 羞羞视频在线免费观看| 好先生在线观看免费播放| 免费人成再在线观看网站| 四虎影视精品永久免费网站| 999zyz**站免费毛片| 国产亚洲成av人片在线观看 | 女人被弄到高潮的免费视频| 国产乱妇高清无乱码免费| 自拍偷自拍亚洲精品第1页| h视频在线观看免费完整版| 美女视频免费看一区二区| 久久亚洲sm情趣捆绑调教| 全部免费毛片免费播放| 免费国产a理论片| 亚洲天堂福利视频| 亚洲中文字幕久久精品无码APP| 99久久99久久精品免费看蜜桃 | 亚洲国产亚洲综合在线尤物| 亚洲国产精品日韩专区AV| 无码国产精品一区二区免费式影视| 亚洲伊人久久大香线蕉| 国产av无码专区亚洲国产精品| 国产精品视频免费一区二区| 久久久久久AV无码免费网站| 一区二区三区免费精品视频 | 综合偷自拍亚洲乱中文字幕| 免费国内精品久久久久影院| 1000部国产成人免费视频| 中文字幕一区二区三区免费视频| 国产亚洲人成在线播放| 亚洲中文字幕无码一去台湾| 免费在线观看中文字幕|