我有一个页面,里面有广告,有时,在iframe里,有时没有。
这可能不是100%准确的测试方法,但对于我们的案例来说已经足够了。
我在beforeach中尝试过使用它(不是最佳的,但是如果它可以工作,我会将它变成一个命令并使用它)
cy.server({
whitelist(xhr) {
// Basicly, does it match any of whitelisted URLs?
console.log('whitelisting', xhr.url)
const url = new URL(xhr.url);
const URLwhitelist: string[] = Cypress.env('URLwhitelist');
if (!URLwhitelist.length) {
return true
}
return URLwhitelist.some(allowerdUrl => {
if (allowerdUrl.split('.').length == 2) {
return url.host.includes(allowerdUrl);
} else if (allowerdUrl.startsWith('*.')) {
allowerdUrl = allowerdUrl.slice(1);
return url.host.includes(allowerdUrl);
}
throw new Error(`Unparsable whitelist URL (${allowerdUrl})`);
});
}
});
我也发现了一些黑名单的选择
cypress.json
,但我需要白名单而不是黑名单。