是否可以在iOS中同时自动化两个应用程序?

是否可以在iOS中同时自动化两个应用程序?,ios,automation,appium,ui-automation,xcuitest,Ios,Automation,Appium,Ui Automation,Xcuitest,我们有这样一种情况: 在app1中执行脚本,在特定步骤中,app1向我们发送带有URL的SMS,app1在文本字段中需要验证代码 我们必须打开SMS应用程序来验证SMS是否存在,此SMS有一个URL,当我们单击它时,它会再次将我们发送到app1,但验证代码会自动写入文本字段 然后,继续脚本 有可能这样做吗? 我们需要做什么 谢谢。 < P>是的,根据你的场景,你必须在APP1脚本的执行过程中启动消息(调用它为APP2)应用程序。您可以使用以下代码打开app2 driver.startActiv

我们有这样一种情况:

在app1中执行脚本,在特定步骤中,app1向我们发送带有URL的SMS,app1在文本字段中需要验证代码

我们必须打开SMS应用程序来验证SMS是否存在,此SMS有一个URL,当我们单击它时,它会再次将我们发送到app1,但验证代码会自动写入文本字段

然后,继续脚本

有可能这样做吗? 我们需要做什么


谢谢。

< P>是的,根据你的场景,你必须在APP1脚本的执行过程中启动消息(调用它为APP2)应用程序。您可以使用以下代码打开app2

 driver.startActivity(app2PackageName, app2ActivityName);
现在app2将被打开,您可以单击app2中的链接打开app1,您可以访问app1中的元素

根据,如果您使用的是Appium的XUITest驱动程序,这是可能的

请注意,它只支持iOS 9.3及以上版本


您可以找到一些您可能感兴趣的其他应用程序管理命令。

对于iOS,您可以打开SMS应用程序,在应用程序中执行任何您喜欢的操作。例如,您可以打开SMS应用程序,然后打开最新消息,然后单击(或复制)链接

我用ruby。我使用基于XUITest驱动程序的方法(Noyo已经链接了该驱动程序) 可使用的方法如下:

启动设备上安装的任何应用程序的方法:

def launch_system_app(bundle_id)
  @driver.execute_script('mobile: launchApp', {'bundleId': "#{bundle_id}"});
end
终止已启动应用程序的方法:

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")

他在问如何在iOS上做到这一点,你提供的答案只适用于androidHey,是的,它适用于android,感谢android用户