如何通过UI测试在iOS13共享表中找到要共享的应用?

问题描述 投票:1回答:1

我正在使用UI测试来检查与目标应用程序共享文件。为此,我使用multi-app UI testing如下:

  • 目标应用程序在共享给定文件时应处于活动状态
  • 助手应用UITestsHelper是一个简单的基于文档的应用模板将文件安装在其容器中,导航到该文件并共享目标应用的文件]

问题是,当打开共享表时,没有可用于查找将文件共享到目标应用程序的单元格的有意义的文本,在本例中显示为“ MyApp”。

enter image description here

检查日志中的UI层次结构时,这是相关部分:

ScrollView, {{0.0, 617.0}, {414.0, 132.0}}
  Cell, {{13.0, 617.0}, {78.0, 118.5}}, label: 'AirDrop'
  Cell, {{106.5, 617.0}, {78.0, 118.5}}, label: 'Nachrichten'
  Cell, {{200.0, 617.0}, {78.0, 118.5}}, label: 'Mail'
  Cell, {{293.5, 617.0}, {78.0, 131.5}}, label: 'Aktivität'
  Cell, {{387.0, 617.0}, {78.0, 131.5}}, label: 'Aktivität'

如您所见,系统应用程序和服务(例如AirDrop,消息和邮件)具有有意义的标签(此处使用德语,因为这是系统语言)。第三方应用仅显示标签为“活动”(德语中的Aktivität)。

我现在正在盲目地点击第四个单元,作为选择第一个非系统应用程序的方法,但是我发现这非常脆弱。

是否有更可靠的方法将文件共享到目标应用程序?

ios ios13 xcode-ui-testing xcuitest uitest
1个回答
0
投票

我也发现了这个错误。我以另一种方式解决它-找到所有这些“活动”单元格(app.cells.matching(identifier: "Activity").allElementsBoundByIndex),一个接一个地点击它们,直到找到所需的单元格为止(我通过查看目标应用程序.state对其进行了检查)

© www.soinside.com 2019 - 2024. All rights reserved.