【问题标题】:how can I solve this error in playwright tests?我怎样才能解决剧作家测试中的这个错误?
【发布时间】:2023-02-12 06:44:37
【问题描述】:

我有这个代码来测试我的表单

import { expect, test } from '@playwright/test'

test('Form test', async ({ page }) => {
  await expect(page.locator('#feedback_form'))

  await page.locator('input#name[type="text"]').fill('John Doe')
  await page.locator('input#email[type="email"]').fill('troum@outlook.com')
  await page.locator('input#phone[type="text"]').fill('+47 89 89678 90')
  await page.locator('input#subject[type="text"]').fill('Test subject')
  await page.locator('input#purpose[type="text"]').fill('Test purpose')
  await page.locator('input#contactWay[type="text"]').fill('Via e-mail')
  await page
    .locator('textarea#message')
    .fill('Contrary to popular belief, Lorem Ipsum is not simply random text')

  await page.click('button[type="submit"]', { force: true })
  await page.screenshot({ path: 'scrapingant.png' })
})

但我对每个浏览器都有这个问题

it's my screenshort

【问题讨论】:

    标签: playwright


    【解决方案1】:

    先完成断言:

    await expect(page.locator('#feedback_form')).toBeVisible()
    

    然后你可以像这样修改你的选择器并尝试:

    await page.locator('input#name').fill('John Doe')
    

    或者,您可以在填充前执行 click 并尝试:

    await page.locator('input#name').click().fill('John Doe')
    

    【讨论】:

    • 嗯...现在它在 toBeVisible() 上失败错误:expect(received).toBeVisible() 调用日志:- expect.toBeVisible 超时 5000ms - 等待选择器“#feedback_form”
    【解决方案2】:

    如果它仍然不起作用,请尝试使用不同的选择器,使用命令寻找剧作家 Codegen 生成的定位器npx playwright codegen因为我遇到了同样的问题,即使我使用的是唯一定位器,它也对我有用。

    【讨论】:

      猜你喜欢
      • 2020-11-28
      • 2012-03-16
      • 2022-11-28
      • 2023-01-19
      • 2013-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多