背景
随着酷家乐网站功能的不断迭代,业务场景也越来越复杂。网站页面多且层级深,账号类型多且权限易变,导致测试人员的回归测试工作冗余和繁杂。为了减轻回归工作,日常巡检能力是必要的,本文主要介绍网页巡检工具在酷家乐的使用和实践。
实现原理
如何获取网页信息是网页巡检的核心点,对此我们选取了Puppeteer开源工具,Puppeteer是Node.js工具引擎,它提供了一系列API,通过Chrome DevTools Protocol协议控制Chromium或Chrome。在网页巡检工具里,Puppeteer主要是作为一个爬虫工具来获取以下页面内容:
网页访问是否正常
检测网页是否正常可访问的,网页链接是否404,是否超时
await page.goto(url, {waitUntil: 'domcontentloaded'}).catch(async error => {
console.log(error);});page.on('pageerror', pageerr=> {
console.log(pageerr);})
网页调用的API信息
通过page.on('requestfinished')获取网页Network信息,并过滤出Type为xhr的。这个时候就可以得到用户在访问网页的时候调用了哪些接口,包括接口的参数