如何解决OKTA OAuth 登录页面的 Testcafe 问题
我们使用 OKTA 登录我们的门户。用户访问我们的网站页面,他们点击登录,然后我们将他们重定向到 OKTA 登录页面。一旦他们输入凭据并进行身份验证,我们会将用户重定向到我们的门户主页。由于某种原因,testcafe 测试失败,因为它在登录后找不到 HTML 元素。我可以看到正在运行的测试输入凭据,但没有导航到我们的门户主页。这不是我浏览自己时的体验。 OAuth 是否有一些额外的设置?
let testURL:string = 'https://mysite/home';
const myUserRole = Role('https://mysite/login',async t => {
await t
.click(Selector('#btnLogin')) // click on the login link,takes to OKTA login page
.typeText(Selector('#okta-signin-username'),"username")
.typeText(Selector('#okta-signin-password'),"password")
.click(Selector('#okta-signin-submit'));
});
fixture('Test1')
.page(testURL)
test('Create new records',async t => {
await t
.useRole(myUserRole) // the login process
.click(Selector('#myelement')); // <<<<<<<<<<<<<<<< cannot find this element
});
解决方法
当使用用户角色机制时,TestCafe 导航回到角色切换前打开的页面。要更改此行为,请将 preserveUrl 选项设置为 true
。
我在使用 oAuth 时遇到了类似的问题。
node --max-http-header-size=1024000 ./node_modules/testcafe/bin/testcafe.js chrome <your script>
这为我解决了它。试试像这样运行你的测试?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。