亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

【page-monitor 前端自動(dòng)化 上篇】初步調(diào)研

light / 3106人閱讀

摘要:前端自動(dòng)化測(cè)試主要在于變化快,不穩(wěn)定,兼容性復(fù)雜故而,想通過(guò)較低的成本維護(hù)較為通用的自動(dòng)化比較困難。本文旨在通過(guò)獲取和分析結(jié)構(gòu),調(diào)研能否通過(guò)監(jiān)控和分析核心,來(lái)進(jìn)行前端自動(dòng)化測(cè)試。相關(guān)文章前端自動(dòng)化中篇源碼分析前端自動(dòng)化下篇實(shí)踐應(yīng)用

前端自動(dòng)化測(cè)試主要在于:變化快,不穩(wěn)定,兼容性復(fù)雜;故而,想通過(guò)較低的成本維護(hù)較為通用的自動(dòng)化case比較困難。本文旨在通過(guò)page-monitor獲取和分析dom結(jié)構(gòu),調(diào)研能否通過(guò)監(jiān)控和分析核心dom,來(lái)進(jìn)行前端自動(dòng)化測(cè)試。

一:page-monitor 介紹

page-monitor:通過(guò)xpath獲取dom節(jié)點(diǎn)結(jié)構(gòu),之后可視化的渲染出頁(yè)面的差異。
github地址:https://github.com/fouber/pag...
基本原理:利用xpath獲取頁(yè)面的dom結(jié)構(gòu),存儲(chǔ)為結(jié)構(gòu)化的json,對(duì)比兩次的json之間的差異,利用phantom渲染頁(yè)面和差異頁(yè)面

先上個(gè)初次試用的圖

二:初次試用 2.1 安裝
# page-monitor 依賴(lài)于 phantomjs
npm install phantomjs
npm install page-monitor

注意:phantomJs較大,如果比較慢 可以用brew安裝,并且page-monitor最多兼容phantom1.98

# 調(diào)整phantom為1.98 版本
MacBook-Pro:~ cuixiaohuan$ brew link phantomjs198
Linking /usr/local/Cellar/phantomjs198/1.9.8... 2 symlinks created
MacBook-Pro:~ cuixiaohuan$ phantomjs -v
1.9.8

2.2 初次運(yùn)行:
寫(xiě)一個(gè)test.js 代碼如下:

var Monitor = require("page-monitor");

var url = "http://www.baidu.com";
var monitor = new Monitor(url);
monitor.capture(function(code){
        console.log(monitor.log); // from phantom
        console.log("done, exit [" + code + "]");
});

運(yùn)行效果

MacBook-Pro:test cuixiaohuan$ node test.js
{ debug:
   [ "mode: 11",
     "need diff",
     "loading: http://www.baidu.com",
     "page.viewportSize = {"width":320,"height":568}",
     "page.settings.resourceTimeout = 20000",
     "page.settings.userAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X; en-us) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53"",
     "loaded: http://www.baidu.com",
     "delay before render: 0ms",
     "walk tree",
     "save capture [/Users/cuixiaohuan/Desktop/workspace/test/pagemonitor/test/www.baidu.com/Lw==/1461155680901]",
     "screenshot [/Users/cuixiaohuan/Desktop/workspace/test/pagemonitor/test/www.baidu.com/Lw==/1461155680901/screenshot.jpg]",
     "Unsafe JavaScript attempt to access frame with URL about:blank from frame with URL file:///Users/cuixiaohuan/Desktop/workspace/test/pagemonitor/test/node_modules/page-monitor/phantomjs/index.js. Domains, protocols and ports must match." ],
  warning: [],
  info: [],
  error: [],
  notice: [] }
done, exit [0]
2.2 生成對(duì)比頁(yè)面

test.js code

monitor.diff(1408947323420, 1408947556898, function(code){
    console.log(monitor.log.info); // diff result
    console.log("[DONE] exit [" + code + "]");
});

運(yùn)行

MacBook-Pro:test cuixiaohuan$ node test.js
[ "{"diff":{"left":"1461155680901","right":"1461163758667","screenshot":"/Users/cuixiaohuan/Desktop/workspace/test/pagemonitor/test/www.baidu.com/Lw==/diff/1461155680901-1461163758667.jpg","count":{"add":2,"remove":2,"style":0,"text":9}}}" ]
[DONE] exit [0]
2.3 對(duì)比頁(yè)面效果如下圖

2.4 目錄初步分析

通過(guò)目錄和運(yùn)行結(jié)果
1:每個(gè)時(shí)間利用phantom生成一張截圖【保存現(xiàn)場(chǎng)】和一個(gè)dome的tree.json【對(duì)比dom】 【生成過(guò)程看下源碼】
2:diff 調(diào)用tree.json 比較區(qū)中的區(qū)別【位置,內(nèi)容生成和對(duì)比過(guò)程之后看下源碼?】
3:利用當(dāng)時(shí)保存的截圖渲染生成的結(jié)果

三:dom diff工具page monitor 調(diào)研初步結(jié)論:

1:dom的diff 是可行的。

2:page monitor 現(xiàn)有主要功能:抽取不同時(shí)間段的頁(yè)面做頁(yè)面domdiff
使用過(guò)程中缺陷:

1:依賴(lài)太多,依賴(lài)node,依賴(lài)phantom,
2:接口太少,現(xiàn)在直接提供的就兩個(gè)一個(gè)保存現(xiàn)場(chǎng),一個(gè)diff。不方便dom定制和閾值定制。

四:應(yīng)用價(jià)值思考和下一步

如果能對(duì)dom樹(shù)的處理更完善一些,應(yīng)用價(jià)值還是挺高的,例如核心dom的diff,局部dom的diff,時(shí)效性dom(例如:時(shí)間tag必須變化,不變化則為bug)的變更檢驗(yàn),兼容性dom的check等等

下一步調(diào)研:
看下源碼中,分析dom生成tree過(guò)程,對(duì)比tree過(guò)程,展現(xiàn)tree過(guò)程。

相關(guān)文章:
【page-monitor 前端自動(dòng)化 中篇】 源碼分析
【page-monitor 前端自動(dòng)化 下篇】 實(shí)踐應(yīng)用

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/80032.html

相關(guān)文章

  • page-monitor 前端動(dòng)化 下篇】 實(shí)踐應(yīng)用

    摘要:貼一個(gè)細(xì)節(jié)圖其他分析小拽通過(guò)上面的舉例,旨在拋磚引玉,希望或者結(jié)構(gòu)在前端的自動(dòng)化測(cè)試有一定應(yīng)用,提升產(chǎn)品質(zhì)量。最終再上一張流程圖,便于分析相關(guān)文章前端自動(dòng)化上篇初步調(diào)研前端自動(dòng)化中篇源碼分析 通過(guò)page-diff的初步調(diào)研和源碼分析,確定page-diff在前端自動(dòng)化測(cè)試和監(jiān)控方面做一些事情。本篇主要介紹下,page-diff在具體的實(shí)踐中的一些應(yīng)用 核心dom校驗(yàn) 前端的快速發(fā)展,...

    PAMPANG 評(píng)論0 收藏0
  • page-monitor 前端動(dòng)化 中篇】 源碼分析

    摘要:上篇中初探了的一些功能和在前端自動(dòng)化測(cè)試方面的可行性,本篇主要分析下的實(shí)現(xiàn)方式和源碼。文件分析完整文件目錄運(yùn)行生成目錄分析出了及其組件代碼,可用和值的分析的文件和下面的五個(gè)文件。相關(guān)文章前端自動(dòng)化上篇初步調(diào)研前端自動(dòng)化下篇實(shí)踐應(yīng)用 上篇中初探了page-monitor的一些功能和在前端自動(dòng)化測(cè)試方面的可行性,本篇主要分析下page-monitor的實(shí)現(xiàn)方式和源碼。 mode-modul...

    Object 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<