TestCafe

基于 TestCafe 的端到端测试

自定义浏览器支持

/**
 * Testcafe browser provider plugin for the nightmare browser automation library.
 */
export default {
  // reference to Nightmare instance
  nightmare: null, // map with open page references

  openedPages: {}, // multiple browsers support

  isMultiBrowser: false, // open new page in browser

  async openBrowser(id, pageUrl) {
    const page = await this.nightmare.goto(pageUrl);

    this.openedPages[id] = page;
  }, // close given page in browser

  async closeBrowser(id) {
    const page = this.openedPages[id];

    delete this.openedPages[id];
    await page.end();
  }, // init browser

  async init() {
    const conf = {
      show: debug.enabled(),
      openDevTools: debug.enabled()
    };

    this.nightmare = Nightmare(conf);
  },

  async dispose() {
    return;
  }, // resize browser window to given size

  async resizeWindow(id, width, height) {
    await this.nightmare.viewport(width, height);
  }, // take screenshot of given page in browser

  async takeScreenshot(id, screenshotPath) {
    await this.nightmare.screenshot(screenshotPath);
  }
};
上一页
下一页