Karate 如何处理空手道登录后页面加载的不确定性
在我的应用程序中,在Okta向GCP发送带有用户信息的请求之后,它使用了多个层进行登录,就像向Okta发送应用程序请求一样,之后只有登录成功。 我已将登录功能创建为:Karate 如何处理空手道登录后页面加载的不确定性,karate,Karate,在我的应用程序中,在Okta向GCP发送带有用户信息的请求之后,它使用了多个层进行登录,就像向Okta发送应用程序请求一样,之后只有登录成功。 我已将登录功能创建为: * driver fdiPortalUrl * maximize() * retry(50, 1000).waitForUrl('/login') * call read 'classpath:fdiPortalUI/fdiPortal
* driver fdiPortalUrl
* maximize()
* retry(50, 1000).waitForUrl('/login')
* call read 'classpath:fdiPortalUI/fdiPortalPageObjects.json'
* if (exists(loginPage.username)) click(loginPage.username)
* if (!exists(loginPage.username)) reload()
# * retry(50, 1000).waitFor(loginPage.username)
* retry(30, 1000).waitForUrl('/login')
* match text(loginPage.usernameLabel) contains 'Username'
* match text(loginPage.passwordLabel) contains 'Password'
* input(loginPage.username, username)
* input(loginPage.password, password)
* waitForEnabled(loginPage.signInBtn).click()
* retry(20, 1000).waitForUrl('/auth/callback')
* retry(50, 1000).waitForUrl('/inventory-management')
即使在这些延迟和重试之后,它在最后一行也会失败。我想让它变得动态,就像它在最后失败了一样,并且无法在url中找到/inventory management
,所以它会再次重新加载页面。
您能帮忙吗。对不起,没有捷径可走,您已经尝试过重试等 也许是时候考虑一些高级技术,比如嘲笑UI的部分,或者使用API来避免登录等:
否则我就没有别的建议了。也许这里的其他人可以提供帮助。对不起,没有捷径可走,您已经尝试过重试等 也许是时候考虑一些高级技术,比如嘲笑UI的部分,或者使用API来避免登录等:
否则我就没有别的建议了。也许这里的其他人能帮上忙。谢谢@Peter,我会试试hybrid:)谢谢@Peter,我会试试hybrid:)