qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

          多瀏覽器行為同步的手工兼容性測試方法

            背景:

            在瀏覽器的手工兼容性測試中,為了測試兼容性,需要測試人員手工在各個(gè)瀏覽器中分別、重復(fù)的進(jìn)行相同操作,既效率低下,又讓測試人員感到枯燥。

            問題:

            自動(dòng)化測試可以讓測試人員脫離枯燥的測試行為,提升測試效率,但自動(dòng)化測試更關(guān)注業(yè)務(wù)功能的驗(yàn)證,對(duì)于頁面兼容性不如手工測試直觀、有效。

            解決方案:

             將測試人員在某一瀏覽器的操作行為,即時(shí)同步到其它瀏覽器中,這樣測試人員只需要在一種瀏覽器中進(jìn)行操作,就能同時(shí)看到其它瀏覽器中進(jìn)行相同操作的效 果。這樣既避免了測試人員在不同瀏覽器中分別進(jìn)行相同操作的枯燥,同時(shí)有效地提升測試效率,并且能夠直觀、有效的監(jiān)控到各瀏覽器頁面的兼容性。

            原理分析:

            用到的技術(shù):Javascript、鼠標(biāo)/鍵盤事件、套接字Socket、XMLHttpRequest、Selenium-WebDriver

            1)整體框架

            整體框架分為Server端和Client端,如下圖所示:

            注:圖中的XHR為XMLHttpRequest對(duì)象。

             上圖中,首先對(duì)document注入js,綁定鼠標(biāo)事件和鍵盤事件,對(duì)當(dāng)前被操作瀏覽器的行為進(jìn)行捕獲;通過XHR實(shí)現(xiàn)Server端和Client端 (即當(dāng)前被操作瀏覽器)一對(duì)一的消息交互;各個(gè)瀏覽器進(jìn)行通信之前,為每個(gè)請(qǐng)求創(chuàng)建socket實(shí)例,接收當(dāng)前被操作瀏覽器發(fā)送過來的消息,并運(yùn)用 Selenuim-WebDriver擴(kuò)展開發(fā)將該行為同步到其他瀏覽器,達(dá)到在不同瀏覽器上的兼容性測試。

            2)流程

            流程分為兩大部分:瀏覽器行為捕獲和各個(gè)瀏覽器間的行為同步,其中行為捕獲有捕獲和記錄兩個(gè)動(dòng)作,行為同步是通過Socket通信機(jī)制和Selenuim-WebDriver擴(kuò)展開發(fā)來實(shí)現(xiàn)的,具體如下:

             捕獲:通過對(duì)document注冊(cè)mousedown和keydown事件,當(dāng)監(jiān)聽到事件發(fā)生時(shí),獲取當(dāng)前對(duì)象的path或者keycode。同時(shí)綁定 blur事件,當(dāng)鼠標(biāo)點(diǎn)擊的元素為input時(shí)觸發(fā),獲取input對(duì)象的value值,即輸入框中輸入的內(nèi)容。 path/keycode和value通過XMLHttpRequest傳給Server端,供各個(gè)瀏覽器通信用。當(dāng)前被操作瀏覽器的每一次操作,都會(huì)通 過創(chuàng)建XMLHttpRequest實(shí)例,向指定的服務(wù)器端口發(fā)送。

            行為同步:在各個(gè)瀏覽器開始通信之前, 要建立當(dāng)前被操作瀏覽器和其他瀏覽器之間的連接。需要服務(wù)端在監(jiān)聽到請(qǐng)求之后,為每個(gè)請(qǐng)求創(chuàng)建socket實(shí)例,將當(dāng)前被操作瀏覽器發(fā)送過來的消息 (path/keycode和value)接收,通過Selenuim-WebDriver擴(kuò)展開發(fā)反饋給其他瀏覽器進(jìn)行同步操作。

            后續(xù)規(guī)劃:

            目前一期產(chǎn)品已經(jīng)發(fā)布,可以同時(shí)同步的瀏覽器有IE/ForeFox/Chrome/Safari/360/Sougou/World

            1)網(wǎng)絡(luò)版,支持本機(jī)同步到虛擬機(jī),用于IE6/7/8/9的兼容性測試

            2)提升用戶體驗(yàn),添加其他常用功能

            3)截圖對(duì)比,減少人肉工作量,提高效率

            4)錄制功能

          posted on 2012-09-03 11:01 順其自然EVO 閱讀(1483) 評(píng)論(1)  編輯  收藏 所屬分類: web 前端性能測試

          評(píng)論

          # re: 多瀏覽器行為同步的手工兼容性測試方法[未登錄] 2012-11-02 10:27

          這個(gè)開發(fā)出來了嗎,可否發(fā)個(gè)測試版來試用下  回復(fù)  更多評(píng)論   

          <2012年9月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 海晏县| 漳州市| 云霄县| 东阿县| 德保县| 三河市| 灵寿县| 兴仁县| 漳平市| 乃东县| 金湖县| 冕宁县| 龙海市| 双辽市| 陆丰市| 武强县| 吕梁市| 东丰县| 涿州市| 诸城市| 安化县| 商丘市| 当阳市| 新化县| 淮南市| 阿拉善盟| 胶州市| 兴安盟| 肥乡县| 图木舒克市| 蓝田县| 黑龙江省| 临沧市| 大庆市| 沾益县| 广东省| 礼泉县| 吴桥县| 芮城县| 兴义市| 普格县|