美文网首页
前端测试Puppeteer试用

前端测试Puppeteer试用

作者: Jims_d31e | 来源:发表于2019-03-03 10:52 被阅读0次

前端测试主要包括界面功能测试、页面的浏览器兼容性和页面性能稳定性测试等内容。同时,前端自动化测试作为持续集成的主要环节,在提升产品质量、保证系统的页面兼容性、稳定性、功能的完整性具有非常重要的作用。我们选择业界巨头Chrome(据2018年5月的数据,Chrome占全球浏览器市场份额的60%)作为访问“工银e企赢”系统的浏览器,选择Google Chrome 的Headless(无界面) Chrome 工具——Puppeteer作为辅助测试工具,探索前端自动化测试。

    Puppeteer是一个提供高级的API来控制Chrome的Node库。相对于Selenium,Puppeteer最大的特点就是可以操作Dom并在内存中进行模拟,即在V8引擎中处理而不打开浏览器,而且该工具由Chrome团队维护,拥有更好的兼容性和应用前景。

 一般情况下,有界面浏览器自动化测试时的步骤为:启动浏览器,打开一个网页,模拟用户进行交互操作,脚本运行时需要显式占用屏幕。而无界面浏览器自动化测试是使用脚本完成上述过程,不仅能在不占用屏幕的情况下模拟真实的浏览器使用场景,同时Puppeteer具备以下功能:

    1.屏幕快照,打印PDF;

    2.高级爬虫,使用Puppeteer可以取到渲染后的效果,而普通爬虫相当于只能拿到http response;

    3.UI自动化测试,模拟用户在浏览器中的所有操作;

    4.页面性能分析,捕获站点的时间线,以便追踪网站,帮助分析网站性能问题。

```

import puppeteer from 'puppeteer';

describe('Login', () => {let browser;let page;

beforeAll(async () => {

browser = await puppeteer.launch({headless:false});

});

beforeEach(async () => {

page = await browser.newPage();await page.goto('https://ecsp.icbc.com.cn/#/user/login');//await page.evaluate(() => window.localStorage.setItem('antd-pro-authority', 'guest'));});

afterEach(()=> page.close());

it('should login with failure', async () => {await page.type('#account', '185***08');await page.type('#password', 'wrong_password');await page.click('button[type="submit"]');await page.screenshot({path:'ecsp_fail.png'});await page.waitForSelector('.ant-alert-error'); // should display error});

it('should login successfully', async () => {await page.type('#account', '185***08');await page.type('#password', '****');await page.click('button[type="submit"]');await page.screenshot({path:'ecsp_success.png'});await page.waitForSelector('.ant-layout-sider h1'); // should display successconst text = await page.evaluate(()=> document.body.innerHTML);

expect(text).toContain('<title>首页 - 工银e企赢</title>');

});

afterAll(()=> browser.close());

});

```

相关文章

  • 前端测试Puppeteer试用

    前端测试主要包括界面功能测试、页面的浏览器兼容性和页面性能稳定性测试等内容。同时,前端自动化测试作为持续集成的主要...

  • web前端自动化测试利器puppeteer介绍

    web前端自动化测试利器puppeteer介绍 Intro Chrome59(linux、macos)、 Chro...

  • java 下载文件

    测试用的后端代码 前端如何下载文件

  • react测试用例

    什么是测试用例 字面理解来说,就是测试一个东西,对于我们前端开发来说就是测试前端功能,前端主要分为 html cs...

  • Puppeteer 前端自动化测试工具

    Puppeteer 前端自动化工具 开篇 本文转自:[原文链接] 参考:[NPM-Puppeteer] ...

  • 用于发文测试

    用于发文测试用于发文测试用于发文测试用于发文测试用于发文测试用于发文测试用于发文测试用于发文测试用于发文测试用于发...

  • selenium + nightwatch 进行前端自动化测试

    1、为什么需要前端测试框架 .编写测试用例,可以避免测试点的遗漏 .也是为了更好的进行测试,可以提高测试效率 .是...

  • Puppeteer相关介绍

    最近在使用lighthouse和puppeteer进行一些性能测试相关的工作,感觉puppeteer还是很好用的,...

  • Puppeteer

    详解Puppeteer前端自动化测试实践 起因 目前我们在持续开发着一个几十个页面,十万+行代码的项目,随着产品的...

  • 1、RobotframeWork安装及RIDE运行

    RIDE是robotframework的图形操作前端,我们在RIDE上进行测试用例设计和编写测试脚本,并执行自动化...

网友评论

      本文标题:前端测试Puppeteer试用

      本文链接:https://www.haomeiwen.com/subject/tilpuqtx.html