【问题标题】:Running Puppeteer test multiple times with different scenarios Async/Await使用不同的场景 Async/Await 多次运行 Puppeteer 测试
【发布时间】:2019-06-07 16:54:14
【问题描述】:

大家好,我需要一些关于场景的帮助

  1. 我有一个包含 Google、Yahoo 100 对象的数组。
  2. 如果 Google 做 X
  3. 其他 Yahoo do Y

这在 Java Selenium 中很容易,只需使用 if 语句循环,然后启动停止浏览器,假设 puppeteer 运行异步,我如何使用 Javascript 实现这一点?还使用 Jest。

我尝试使 foreach 循环异步以能够运行 await,但明显的问题是它一次启动所有浏览器。

希望避免 .then 为 puppeteer 提供承诺链。

describe('Sample Test', () => {
  let browser
  let page

  beforeAll(async () => {
    browser = await puppeteer.launch()
    page = await browser.newPage()
  })

  afterAll(async () => {
    await browser.close()
  })

  it('should search on google and navigate to domain', async () => {
    jest.setTimeout(500000)
    let numOfTotalVists =  await helpers.getTotalVisits()

    numOfTotalVists.forEach(element => {
      if (element.includes('Google')) {
        browser = puppeteer.launch()
          page =browser.newPage()
          browser.close()
      } 
        console.log('no')
        browser = puppeteer.launch()
          page = browser.newPage()
          browser.close()
    })

【问题讨论】:

    标签: node.js puppeteer puppeteer-cluster


    【解决方案1】:

    想通了,简单的brainfart切换到一个简单的for循环

    for (let i = 0; i < numOfTotalVists.length; i++) {
    }
    
    

    【讨论】:

      猜你喜欢
      • 2020-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      • 2018-05-27
      • 1970-01-01
      相关资源
      最近更新 更多