<ruby id="h6500"><table id="h6500"></table></ruby>
    1. <ruby id="h6500"><video id="h6500"></video></ruby>
          1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>
            • 軟件測試技術(shù)
            • 軟件測試博客
            • 軟件測試視頻
            • 開(kāi)源軟件測試技術(shù)
            • 軟件測試論壇
            • 軟件測試沙龍
            • 軟件測試資料下載
            • 軟件測試雜志
            • 軟件測試人才招聘
              暫時(shí)沒(méi)有公告

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

            Firefox 測試自動(dòng)化

            發(fā)布: 2008-7-11 13:41 | 作者: 不詳 | 來(lái)源: 網(wǎng)絡(luò )轉載 | 查看: 444次 | 進(jìn)入軟件測試論壇討論

            領(lǐng)測軟件測試網(wǎng)     Firefox的市場(chǎng)占有量的上升使得很多網(wǎng)站都針對Firefox有了很好的支持,于是firefox瀏覽器上的測試也越來(lái)越重要,隨著(zhù)Test case的增多,自動(dòng)化也就自然而然成為了一個(gè)課題。我來(lái)向大家介紹幾種可行的方法。

                    我們知道有很多工具可以做網(wǎng)頁(yè)的測試自動(dòng)化,比如MI的Quick Test Professional, IBM的rational 產(chǎn)品等。但是他們似乎都不能支持firefox的網(wǎng)頁(yè)的測試自動(dòng)化。當然有些開(kāi)源的工具是可以做到跨瀏覽器的測試自動(dòng)化的。

                    下面我就介紹幾種可以做Firefox自動(dòng)化測試的方法。

                    第一種,和很多開(kāi)源工具的核心做法是類(lèi)似的,也就是把Web Page分成兩個(gè)Frame。一個(gè)frame待測web page,另一個(gè)frame裝載測試控制的web Page。

                    舉個(gè)簡(jiǎn)單的例子,

            主web Page:main.htm

            <frameset cols="120,*">
            <frame src="controlframe.htm" name="controlframe">
            <frame src="contentframe.htm" name="contentframe">
            </frameset>

                    測試控制的web Page: controlframe.htm (這里也只是有一個(gè)控制的按鈕)

            <html>
             <head>
             </head>
             <body>
              <INPUT TYPE="BUTTON" name="Execute" id="Execute" value="Execute" onClick="parent.contentframe.document.getElementById('alert').click()">
             </body>
            </html>

                    待測web page: contentframe.htm (這里只是一個(gè)簡(jiǎn)單的含有一個(gè)按鈕的頁(yè)面)

            <html>
             <head>
             </head>
             <body>
              <input type="BUTTON" name="alert" id="alert" value="alert" onclick="alert('this is triggered')">
             </body>
            </html>

                    核心思想就是左邊的控制frame中的控制按鈕是可以用javascript訪(fǎng)問(wèn)到待測web page中的任何的控件的。

                    基于這個(gè),其它瀏覽器上的測試自動(dòng)化都可以用這個(gè)方法實(shí)現。但是這個(gè)方法有一個(gè)缺點(diǎn),還是一個(gè)很大的缺點(diǎn),就是如果待測的頁(yè)面是和控制的頁(yè)面在不同的domain上,比如剛才的例子里面右邊的page是新浪的page,而左邊控制的web page是在本地,那么是不能控制右邊的頁(yè)面里面的控件的。這個(gè)是Javascript的內置安全特性,防止Cross site Scripting。

                    有開(kāi)源工具是基于這個(gè)理論的,比如www.openqa.org/selenium

            ok,繼續第二種方法。

                    上面說(shuō)道用Frame的方式來(lái)做Firefox的測試自動(dòng)化。但是有跨站的限制,這次我來(lái)介紹第二種方法,那就是利用Firefox的toolbar的方式。Toolbar工作在Firefox的進(jìn)程中,所以它可以訪(fǎng)問(wèn)webpage的任何元素利用javascript。
                    創(chuàng )建toolbar的方式網(wǎng)上有很多,就不贅述了,主要改寫(xiě)的是兩個(gè)文件,一個(gè)是XUL文件,是用來(lái)定義toolbar的上面顯示的元素的。一個(gè)是javascript文件是用來(lái)定義toolbar上元素的行為的。
            XUL 文件:(上面有一個(gè)Textbox,一個(gè)Button)
            <toolbox id="navigator-toolbox">
                          <toolbar id="test-toolbar">
                                   <toolbaritem id="item1">
                                                <label value="Command:" control="CommandLabel"/>
                                    </toolbaritem>
                                    <toolbaritem id="item2">
                                              <textbox id="CommandTxt" minwidth="300" width="500" />
                                          </toolbaritem>
                                    <toolbaritem id="item2">
                                     <button id="ExecuteBtn" label="Execute"  oncommand="hello();"/>
                                    </toolbaritem>
                           </toolbar>
            </toolbox>
            JS文件:
            function hello()
            {
                           var searchTermsBox =document.getElementById("CommandTxt");
                           var txt=searchTermsBox.value;
                           eval(txt);  
            }
             
                    可以看到你可以在toolbar上的Textbox中input操縱web Page的javascript,然后點(diǎn)擊toolbar上button來(lái)執行。Eval是可以動(dòng)態(tài)的執行javascript的。
                    這樣比如待測的web page上有一個(gè)Button的id是Btn1,那么在toolbar上的Textbox中輸入
            window.content.document.getElementById("Btn1").click(); 
                    然后點(diǎn)擊toolbar上button來(lái)執行,就可以是待測的Web page上的這個(gè)Button被點(diǎn)擊。
                    可以看到,這就是核心的思路。挨下來(lái)要做的是,用Windows的api的方式,自動(dòng)將javascript發(fā)送到這個(gè)toolbar里面,這樣就可以完全用程序控制自動(dòng)化了。

            延伸閱讀

            文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/

            TAG: FireFox 自動(dòng)化 Firefox


            關(guān)于領(lǐng)測軟件測試網(wǎng) | 領(lǐng)測軟件測試網(wǎng)合作伙伴 | 廣告服務(wù) | 投稿指南 | 聯(lián)系我們 | 網(wǎng)站地圖 | 友情鏈接
            版權所有(C) 2003-2010 TestAge(領(lǐng)測軟件測試網(wǎng))|領(lǐng)測國際科技(北京)有限公司|軟件測試工程師培訓網(wǎng) All Rights Reserved
            北京市海淀區中關(guān)村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
            技術(shù)支持和業(yè)務(wù)聯(lián)系:info@testage.com.cn 電話(huà):010-51297073

            軟件測試 | 領(lǐng)測國際ISTQBISTQB官網(wǎng)TMMiTMMi認證國際軟件測試工程師認證領(lǐng)測軟件測試網(wǎng)

            老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
              <ruby id="h6500"><table id="h6500"></table></ruby>
              1. <ruby id="h6500"><video id="h6500"></video></ruby>
                    1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>