【发布时间】:2019-09-07 13:18:15
【问题描述】:
我在 puppeteer-jest 框架上开发测试,并收到 Runtime.callFunctionOn 错误。功能问题 isOverviewTpabPresent、isPeopleTabPresent、isSocialTabPresent、isFinanceTabPresent
我在堆栈或官方 GitHub 存储库中看到了一些解决方案,但这无济于事。
测试:
it(`${testcase.C673055.id} - ${testcase.C673055.name}`, async C673055 => {
await goto(homePage, HOME_PAGE_RELATIVE_PATH);
await listPage.clickAdvancedSearch(homePage);
await takeScreenshot(homePage, `advancedSearchPage`);
await advancedSearchPage.clickFinanceCategory(homePage);
await takeScreenshot(homePage, `Finance_click`);
await advancedSearchPage.clickFilter(homePage, `Company Size & Offices`);
await takeScreenshot(homePage, `Open_CompanyFilter`);
await advancedSearchPage.setHeadcount1k(homePage);
await takeScreenshot(homePage, `Take_Filter_to_1K`);
await advancedSearchPage.clickFilter(homePage, `Keywords`);
await takeScreenshot(homePage, `Open_Keywords`);
await advancedSearchPage.fillKeywords(homePage, companies.creditKarmaInc.name);
await takeScreenshot(homePage, `Fill_Keywords`);
await advancedSearchPage.clickViewCompanies(homePage);
await companyPage.isOverviewTpabPresent(homePage);
await takeScreenshot(homePage, `companyPage`);
await companyPage.isPeopleTabPresent(homePage);
await companyPage.isSocialTabPresent(homePage);
await companyPage.isFinanceTabPresent(homePage);
await homePage.close();
函数是OverviewPresent:
async function isOverviewTabPresent(page) {
validatePageSelectorAvailable(page, companyPageLocators.overviewTab.locator);
}
功能验证:
async function validatePageSelectorAvailable(page, selector) {
return expect(page).toMatchElement(selector);
}
我预计不会收到该错误,测试通过的结果应该是。
【问题讨论】:
-
错误是什么?
Runtime.callFunctionOn上的错误往往是发送到 chromium 的 javascript 错误。 -
@hardkoded 是的,错误是:
Error: Protocol error (Runtime.callFunctionOn): Target closed -
您发送的评估结果是什么?
-
我想检查一个元素是否显示使用函数:
expect(page).toMatchElement(selector); -
是错字吗? "isOverviewTpabPresent" 注意 Tpab。
标签: javascript jestjs puppeteer