我们有这样的场景:
在app1中执行脚本,在某些步骤中,app1向我们发送带有URL的短信,app1期望在文本字段中包含验证码
我们必须打开短信应用程序来验证短信是否存在,这条短信有一个网址,当我们点击它时,它会再次将我们发送到app1,但验证代码会自动写入文本字段。
然后,继续执行脚本。
有可能做到这一点吗?我们需要什么来制造它?
谢谢。
发布于 2019-01-07 23:28:48
对于iOS,你可以打开短信应用程序,然后在应用程序中做任何你想做的事情。例如,您可以打开SMS应用程序,然后打开最新的消息,然后单击(或复制)链接。
我用的是红宝石。我使用的方法基于XCUITest驱动程序( Noyo已经链接),可以使用的方法如下:
启动安装在设备上的任何应用程序的方法:
def launch_system_app(bundle_id)
@driver.execute_script('mobile: launchApp', {'bundleId': "#{bundle_id}"});
end下线app的销毁方法:
def terminate_system_app(bundle_id)
@driver.execute_script('mobile: terminateApp', {'bundleId': "#{bundle_id}"});
end将给定字符串复制到iOS设备剪贴板的方法:
def set_pasteboard(content)
@driver.set_clipboard(content: content)
end使用消息应用捆绑包id进行调用:
launch_system_app("com.apple.MobileSMS")
terminate_system_app("com.apple.MobileSMS")发布于 2017-03-31 14:29:22
是的,根据您的场景,您必须在app1中执行脚本的过程中启动messages(称为app2)应用程序。您可以使用以下代码打开app2。
driver.startActivity(app2PackageName, app2ActivityName);现在app2将打开,您可以单击app2中的链接,这将打开app1,您可以访问app1中的元素。
发布于 2019-01-06 19:54:09
根据this article的说法,如果您使用的是Appium的XCUITest驱动程序,这是可能的。
请注意,它只支持iOS版本9.3及以上版本。
您可以在the official docs上找到其他一些您可能感兴趣的应用程序管理命令。
https://stackoverflow.com/questions/43126999
复制相似问题