美文网首页
Puppeteer Jest Config

Puppeteer Jest Config

作者: DjangoUnchained | 来源:发表于2020-08-05 10:56 被阅读0次

介绍

在使用Puppeteer时,我们会更希望与Jest一起使用,这样在写脚本时在Jest的组织下,结构会更清晰。

下面给出的版本依赖是puppeteer@4.0.0

自己项目根目录下的文件

组织

image

下面是各个文件的配置


package.json


{

"dependencies": {

"@babel/runtime":"7.10.3"

  },

"devDependencies": {

"@babel/plugin-transform-runtime":"7.10.3",

"@babel/preset-env":"7.10.3",

"babel-core":"6.26.3",

"babel-jest":"26.0.1",

"expect-puppeteer":"4.4.0",

"jest":"26.0.1",

"jest-puppeteer":"4.4.0",

"puppeteer":"4.0.0"

  },

"scripts": {

"test":"jest"

  }

}


.babelrc


{

"presets": ["@babel/preset-env"],

"plugins": [

["@babel/plugin-transform-runtime",

{

"regenerator":true

      }

]

]

}


.eslintrc.js


module.exports = {

env: {

jest:true,

},

globals: {

page:true,

browser:true,

context:true,

jestPuppeteer:true,

},

}


jest.config.js


module.exports = {

preset:"jest-puppeteer",

globalSetup:'./setup.js',

globalTeardown:'./teardown.js',

testEnvironment:'./puppeteer_environment.js',

setupFilesAfterEnv: ["expect-puppeteer"]

};


jest-puppeteer.config.js


module.exports = {

launch: {

// dumpio: true,

// headless: process.env.HEADLESS !== 'false',

        headless:false,

args:['--user-data-dir=RunData','--start-maximized',],

slowMo:20,

delay:100

    },

browser:'chromium',

browserContext:'default'

};


puppeteer_environment.js


const PuppeteerEnvironment =require('jest-environment-puppeteer')

class CustomEnvironmentextends PuppeteerEnvironment {

async setup() {

await super.setup()

// Your setup

    }

async teardown() {

// Your teardown

        await super.teardown()

}

}

module.exports = CustomEnvironment;


setup.js


// global-setup.js

const chalk =require('chalk');

import {setDefaultOptions }from 'expect-puppeteer';

const {setup:setupPuppeteer } =require('jest-environment-puppeteer');

setDefaultOptions({timeout:1000 });

module.exports =async function globalSetup(globalConfig) {

console.log(chalk.green('Setup Puppeteer'));

await setupPuppeteer(globalConfig);

// Your global setup

};


teardown.js


//global-teardown.js

const {teardown:teardownPuppeteer } =require('jest-environment-puppeteer');

const chalk =require('chalk');

module.exports =async function globalTeardown(globalConfig) {

// Your global teardown

    console.log(chalk.green('Teardown Puppeteer'));

await teardownPuppeteer(globalConfig);

};


示例


import puppeteer from "puppeteer";

import expect from 'expect-puppeteer';

const iPhone =puppeteer.devices['iPhone 6'];

describe('yourname', ()=> {

it('yourname',async () => {

await page.emulate(iPhone);

await page.goto('******');

},180000)

});

执行


npm test file/path.js

相关文章

  • Puppeteer Jest Config

    介绍 在使用Puppeteer时,我们会更希望与Jest一起使用,这样在写脚本时在Jest的组织下,结构会更清晰。...

  • E2E test -------------jest-puppe

    Pre-Install git nodejs ? Tech stack jest-puppeteer ? Link...

  • jest+puppeteer

    dockerfile使用dockerignore过滤掉node_modulespuppeteer需要添加sadbo...

  • 前端进阶

    1.jest需要依赖babel.config.js(而不是.babelrc),然后通过babel-jest来tra...

  • umi框架UI测试实践(一)

    umi 内置了jest 的测试框架,并且内置的 jest.config.js 也配置了 typescript、ba...

  • jest使用

    一、起步 # 1、挂载 2、生成jest.config.js配置文件 安装相关依赖 babel配置 jest通过b...

  • vue jest 测试用例基本写法

    通过@vue/cli生成具有jest功能的代码 配置测试代码的覆盖率 jest.config.js添加 编写测试用...

  • Vue-Test-Utils + Jest

    jest.config.js配置 testMatch 匹配哪些文件进行测试transformIgnorePatte...

  • jest基础配置运行

    jest init命令在根目录创建 jest.config.js文件,没有这个文件中的几个配置我运行失败,所以记录...

  • 重要函数:单元测试

    vue官方提供:https://vue-test-utils.vuejs.org/zh/ jest.config....

网友评论

      本文标题:Puppeteer Jest Config

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