android 如何使用Appium和WebdriverIO的移动的自动化通过Magic Link自动化进行无密码身份验证

jk9hmnmh  于 2023-06-04  发布在  Android
关注(0)|答案(2)|浏览(218)

**平台:**Android和iOS。
**自动化工具:**Appium + WebdriverIO(JavaScript)
应用行为:

1.当我启动我的应用程序,着陆页有“开始”按钮。
1.点击后,重定向到“登录”页面,该页面具有“电子邮件地址”文本框字段和“登录”按钮。
1.后点击'登录'按钮,它会发送电子邮件到输入的电子邮件地址与主题:登录链接。
1.点击此链接后,我登录到我的应用程序。

Q1:如何通过这种工具与自动化的组合来处理这种情况?

我已经和我的开发团队讨论过了,并表示考虑到工具的范围,通过自动化来实现电子邮件收件箱的自动化非常困难。
Q2:可以吗?**
替代方法是:他们为我提供了POST API,通过点击,我会在响应中获得登录链接,点击后我就可以直接登录到我的应用程序。
但我担心的是当我开始自动化执行时,它总是首先触发新会话,安装并启动应用程序。发布应用程序后,如何点击URL并跳过此电子邮件地址屏幕并直接绕过登录?

Q3:请建议一种处理移动的应用程序自动化的方法,点击链接移动设备本身的浏览器?

此外,如何使最好的方式的网页挂钩,即.在此实现中,hook?
附:
此登录链接仅在60分钟内有效。登录链接示例:https://api.xxx.com/auth/iyFJt640clXQNHIgHZSYO
我是移动的应用程序自动化的初学者。

vxqlmq5t

vxqlmq5t1#

我使用mailosaur接收电子邮件,然后从我从那里收到的消息中获取URL。和这个wdio代码做登录通过链接:

driver.execute('mobile: deepLink', {
      url: //URL,
    });

这在本地iOS模拟器上有效,但在Browserstack设备上无效。IDK为什么:(

inn6fuwd

inn6fuwd2#

根据我的说法,使用真实的iOS设备测试深度链接的最佳解决方案是:
1.启动Safari应用程序

driver.execute(
 'mobile: terminateApp,
 {
 bundleId: "Your_App_bundle_id"
 }
 );

1.在地址栏中输入深层链接
1.确认通知弹出窗口
你可以在这里阅读更多关于它:https://www.headspin.io/blog/reliably-opening-deep-links-across-platforms-and-devices
希望有帮助!

相关问题