尝试让Puppeteer浏览我的登录页面,这将自动化测试带到我网站的主页面。这一切都有效,直到达到'waitFor('#idSIButton9');'。 Puppeteer成功输入密码和用户名但似乎无法选择提交按钮(#idSIButton9)。知道这里可能出了什么问题吗?如果你们需要更多信息,请告诉我。 谢谢:)
const puppeteer = require('puppeteer');
const { defineSupportCode } = require('cucumber')
defineSupportCode(({ Before, Given, When, Then }) => {
Before({ timeout: 60 * 1000 }, async function testCase() {
this.browser = await puppeteer.launch({ headless: false });
this.page = await this.browser.newPage();
await this.page.setViewport({width: 1024, height: 768});
await this.page.goto('http://localhost:3000', {waitUntil: 'networkidle2'});
await this.page.screenshot({ path: 'test_artifacts/img/load.png', fullPage: true });
await this.page.waitFor('button');
await this.page.click('button');
await this.page.waitFor('#i0116');
await this.page.type('#i0116', 'username');
await this.page.waitFor('#i0118');
await this.page.type('#i0118', 'password');
await this.page.waitFor('#idSIButton9');
await this.page.click('#idSIButton9');
})
答案 0 :(得分:1)
似乎相当明显但在点击之前等待使用数值:
await this.page.waitFor(2000);
await this.page.click('#idSIButton9');
await this.page.waitForNavigation();
答案 1 :(得分:1)
我似乎发现,正如上面的回答
page.waitForNavigation('load')
在点击触发导航的情况下效果很好。