Jestjs 不支持的目标类型:布尔型,使用puppeter waitFor函数
我正在尝试做下面这样的事情Jestjs 不支持的目标类型:布尔型,使用puppeter waitFor函数,jestjs,puppeteer,Jestjs,Puppeteer,我正在尝试做下面这样的事情 const url = await page.url(); await page.waitFor(url === 'localhost:3000/blogs'); 我也试过了 await page.waitFor(url).toEqual('localhost:3000/blogs'); 并且还使用waitForFunction方法尝试了所有这些场景,但无法使任何场景正常工作。该函数接受选择器、函数或超时。若你们想知道url是否等于某个东西,那个么就为它写一个函数
const url = await page.url();
await page.waitFor(url === 'localhost:3000/blogs');
我也试过了
await page.waitFor(url).toEqual('localhost:3000/blogs');
并且还使用waitForFunction
方法尝试了所有这些场景,但无法使任何场景正常工作。该函数接受选择器、函数或超时。若你们想知道url是否等于某个东西,那个么就为它写一个函数。将url作为参数传递,以便可以在浏览器上下文中读取它
const url = await page.url();
await page.waitFor((url)=> url === 'http://localhost:3000/blogs', url); // <-- use a function
注意,由于您使用=
匹配字符串,请确保包含http://
,因为location.href
将输出带有协议的url
如果您想使用jest,那么可以使用expect
并将其包装在it
块中
it('should contain specific url', async () => {
const url = await page.url();
expect(url).toContain('localhost:3000/blogs');
});
这是一个文档。函数接受选择器、函数或超时。若你们想知道url是否等于某个东西,那个么就为它写一个函数。将url作为参数传递,以便可以在浏览器上下文中读取它
const url = await page.url();
await page.waitFor((url)=> url === 'http://localhost:3000/blogs', url); // <-- use a function
注意,由于您使用=
匹配字符串,请确保包含http://
,因为location.href
将输出带有协议的url
如果您想使用jest,那么可以使用expect
并将其包装在it
块中
it('should contain specific url', async () => {
const url = await page.url();
expect(url).toContain('localhost:3000/blogs');
});
这是的文档。我得到的
url
未定义。我认为这与异步等待部分有关。是的,我知道做笑话的部分!我只是想看看是否有可能在waitFor中进行测试,修复了这个问题,但现在测试超时了。它因为某种原因被悬挂着。我试图在waitFor函数中控制台记录url,但无法获取值。waitFor将在浏览器上下文中运行代码,如果没有事件侦听器,您无法控制台记录,也无法确保使用正确的url和http等,就像我在第二个示例中使用的那样。我得到的url
未定义。我认为这与异步等待部分有关。是的,我知道做笑话的部分!我只是想看看是否有可能在waitFor中进行测试,修复了这个问题,但现在测试超时了。它因为某种原因被悬挂着。我试图在waitFor函数中控制台记录url,但无法获取值。waitFor将在浏览器上下文中运行代码,如果没有事件侦听器,您无法控制台记录,也请确保使用正确的url和http等,就像我在第二个示例中使用的那样。