首先,要先安装backstop,
<pre style=" font-family : "microsoft yahei"; padding: 5px; max-width: 680px !important; background-color : rgb(246, 246, 246); border: 1px dotted rgb(170, 170, 170); white-space : pre-wrap; word-wrap : break-word;">npm install -g backstopjs</pre>
安装中之后,在适当的位置新建文件夹,执行
<pre style="font-family: "microsoft yahei"; padding: 5px; max-width: 680px !important; background-color: rgb(246, 246, 246); border: 1px dotted rgb(170, 170, 170); white-space: pre-wrap; word-wrap: break-word;"> backstop init</pre>
初始化之后
点开backstop_data文件夹
打开package.json
<pre style="font-family: "microsoft yahei"; padding: 5px; max-width: 680px !important; background-color: rgb(246, 246, 246); border: 1px dotted rgb(170, 170, 170); white-space: pre-wrap; word-wrap: break-word;">{ "id": "backstop_default", "viewports": [ //viewports 为生成的截图的格式,可以写多个,至少为一个 { "label": "phone", //手机 "width": 320, "height": 480 }, { "label": "tablet", //平板 "width": 1024, "height": 768 } ], "onbeforescript": "chromy/onbefore.js", "onreadyscript": "chromy/onready.js", "scenarios": [ { "label": "backstopjs homepage", "cookiepath": "backstop_data/engine_scripts/cookies.json", "url": "https://garris.github.io/backstopjs/", //这个路径为我们将要截图的网址 "referenceurl": "", "readyevent": "", "readyselector": "", "delay": 0, "hideselectors": [], "removeselectors": [], "hoverselector": "", "clickselector": "", "postinteractionwait": "", "selectors": [], "selectorexpansion": true, "mismatchthreshold" : 0.1, "requiresamedimensions": true } ], "paths": { "bitmaps_reference": "backstop_data/bitmaps_reference", "bitmaps_test": "backstop_data/bitmaps_test", "engine_scripts": "backstop_data/engine_scripts", "html_report": "backstop_data/html_report", "ci_report": "backstop_data/ci_report" }, "report": ["browser"], "engine": "chrome", "engineflags": [], "asynccapturelimit": 5, "asynccomparelimit": 50, "debug": false, "debugwindow": false }</pre>
现在我们以百度地图的为例,即把 scenarios的url 改为 https://map.baidu.com/mobile/webapp/index/index/
把导出ipone的格式为基础,将宽改为375 高改为667
此时,执行backstop test
会自动打开一个页面
此时的backstop_data文件夹为
然后再执行 backstop approve ,此时会把刚刚生成的图片作为标准,然后我们再把网址改为
https://map.baidu.com/mobile/webapp/index/index/qt=cur&wd=%e4%b8%8a%e6%b5%b7%e5%b8%82&from=maponline&tn=m01&ie=utf-8=utf-8/tab=line
再执行backstop test ,经过执行之后会把两个页面的不同标注出来
此时的结果就是对比之后的结果,就可以按照比较的不同进行更改。
此时的backstop_data 的里出多出bitmaps_reference
总结:在执行backstop approve的时候,也可以执行backstop reference ,是把当前得到的图片作为参照,
也可以把自己定义bitmaps_reference的图片,即自定义参照图片,就是,把ui的图,直接放在这里面,但是有一点需要注意的是,图片的命名需要准守backstop的起名规则,即可以,把test之后生成的图片名直接复制命名就行
还有就是,我最初跟着老师敲的时候,就是无法生成手机端的照片,
我又查资料,发现有人把label写成name
我又来回测试了下,竟然就好了,无论是label还是name都是可以的
现在就是对比网页了
我现在写的只是最基本的用法,在github上有非常详细的用法,需要的时候,可以去github上查看。
相信看了这些案例你已经掌握了方法,更多精彩请关注其它相关文章!
相关阅读:
es6 module语法加载 import export
css的伪类选择器
html中关于盒模型的总结
在html中各类型盒子的基线应如何确定
以上就是css的回归测试工具backstopjs应该如何使用的详细内容。
