如何解决如何在页面初始化之前在 TestCafe 中设置本地存储
在页面被 testcafe 初始化之前,我需要将本地存储设置为绕过登录屏幕。我尝试注入自定义脚本,但这不起作用。
有人可以帮我怎么做吗?
解决方法
要在 TestCafe 会话中设置本地存储变量,您可以使用 ClientFunction's。您可以使用 beforeEach 钩子中的密钥设置本地存储变量,以便在每次测试之前调用它。实现此目的的代码可能如下所示:
const setLocalStorageItem = ClientFunction((key: string,value: string) => window.localStorage.setItem(key,value));
fixture(`My tests`)
.page("https://www.my-test-url.com")
.beforeEach(async (t) => {
await setLocalStorageItem("myLocalStorageKey","myValue");
});
test('Some test',async (t) => {
// This assertion should be fine for every test
await t.expect(await getLocalStorageItem("myLocalStorageKey")).eql("myValue");
// more test code should follow here
})
当 TestCafe 清除 localStorage and sessionStorage after each test 时,如果您想在每个测试中访问相同的本地存储键/值对(或者由于某种原因需要为每个测试设置它),您需要这样做).
如果您只想为特定测试设置本地存储条目,您可以按以下步骤操作:
test('Some other test',async (t) => {
// my test code
}).before(async (t) => {
await setLocalStorageItem("testKey","testValue");
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。