客戶端測試一般使用Selenium,它可自動執測試行任務。
可是,您可能不須要Selenium那種重量級的或者那麼多功能的框架。若是您正在尋找一種更輕巧,易於使用的工具來自動執行任務或運行端到端測試,Puppeteer是一個不錯的選擇。
本文中咱們將使用:前端
全部這些庫都是流行的開源項目,由著名的軟件公司(谷歌,Facebook和微軟)維護,這意味着這些工具不會很快消亡。 在這篇文章的最後,咱們應該有一個能夠可靠地運行測試或自動化任務的項目,用Chromium瀏覽器中的TypeScript編寫。vue
module.exports = {
preset: 'jest-puppeteer',
testMatch: ["**/?(*.)+(spec|test).[t]s"],
testPathIgnorePatterns: ['/node_modules/', 'dist'], //
setupFilesAfterEnv: ['<rootDir>/jest.setup.ts'],
transform: {
"^.+\\.ts?$": "ts-jest"
},
globalSetup: './jest.global-setup.ts', // will be called once before all tests are executed
globalTeardown: './jest.global-teardown.ts' // will be called once after all tests are executed
};
複製代碼
import "expect-puppeteer";
複製代碼
module.exports = {
launch: {
dumpio: true,
headless: false,
args: ['--disable-infobars'],
},
browserContext: 'default'
};
複製代碼
const { setup: setupPuppeteer } = require('jest-environment-puppeteer');
/**
* Sets up the environment for running tests with Jest
*/
module.exports = async function globalSetup(globalConfig) {
// do stuff which needs to be done before all tests are executed
await setupPuppeteer(globalConfig);
};
複製代碼
感謝你作將這篇文章讀完。正如您所見,鏈接Jest,Puppeteer和TypeScript須要短短几個步驟。一旦完成這些設置,您能夠實現不少您想實現的事情。 但願本文能幫助到您!node
點贊,讓更多的人也能看到這篇內容(收藏不點贊,都是耍流氓-_-)
關注公衆號「新前端社區」,享受文章首發體驗!
每週重點攻克一個前端技術難點。react