首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在iOS中可以同时自动化两个应用程序吗?

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

Stack Overflow用户
提问于 2017-03-31 03:43:00
回答 3查看 2K关注 0票数 4

我们有这样的场景:

在app1中执行脚本,在某些步骤中,app1向我们发送带有URL的短信,app1期望在文本字段中包含验证码

我们必须打开短信应用程序来验证短信是否存在,这条短信有一个网址,当我们点击它时,它会再次将我们发送到app1,但验证代码会自动写入文本字段。

然后,继续执行脚本。

有可能做到这一点吗?我们需要什么来制造它?

谢谢。

EN

回答 3

Stack Overflow用户

发布于 2019-01-07 23:28:48

对于iOS,你可以打开短信应用程序,然后在应用程序中做任何你想做的事情。例如,您可以打开SMS应用程序,然后打开最新的消息,然后单击(或复制)链接。

我用的是红宝石。我使用的方法基于XCUITest驱动程序( Noyo已经链接),可以使用的方法如下:

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

代码语言:javascript
复制
def launch_system_app(bundle_id)
  @driver.execute_script('mobile: launchApp', {'bundleId': "#{bundle_id}"});
end

下线app的销毁方法:

代码语言:javascript
复制
def terminate_system_app(bundle_id)
  @driver.execute_script('mobile: terminateApp', {'bundleId': "#{bundle_id}"});
end

将给定字符串复制到iOS设备剪贴板的方法:

代码语言:javascript
复制
def set_pasteboard(content)
  @driver.set_clipboard(content: content)
end

使用消息应用捆绑包id进行调用:

代码语言:javascript
复制
launch_system_app("com.apple.MobileSMS")
terminate_system_app("com.apple.MobileSMS")
票数 2
EN

Stack Overflow用户

发布于 2017-03-31 14:29:22

是的,根据您的场景,您必须在app1中执行脚本的过程中启动messages(称为app2)应用程序。您可以使用以下代码打开app2。

代码语言:javascript
复制
 driver.startActivity(app2PackageName, app2ActivityName);

现在app2将打开,您可以单击app2中的链接,这将打开app1,您可以访问app1中的元素。

票数 1
EN

Stack Overflow用户

发布于 2019-01-06 19:54:09

根据this article的说法,如果您使用的是Appium的XCUITest驱动程序,这是可能的。

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43126999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档