问题标签 [xcuitest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
357 浏览

xcode9 - Xcode 9 上的 Xcode 服务器;Bot XCUITest 失败:'测试目标遇到错误(提前意外退出.....)

我们已经在专用 mac 上的 xcode9 上设置了连续环境。在该机器上设置了 Xcode-server,并创建了 bot 来构建项目和执行测试。构建所需的 cocoapods ,因此也使用预集成脚本。

现在,当机器人启动 UI 测试时,应用程序安装在模拟器上,但没有启动,最终控制台记录以下错误: 测试目标“xx”遇到错误(早期意外退出,操作从未完成引导 - 不会尝试重新启动)

在对“原始构建日志”进行调查时,我们发现主线程检查器错误出现了 Firebase 警告。

主线程检查器:在后台线程上调用的 UI API:-[UIApplication applicationState] PID:34330,TID:355611,线程名称:(无),队列名称:NSOperationQueue 0x600000239dc0(QOS:未指定),QoS:0 回溯:

通过在诊断部分下取消选中 Edit Scheme->Test/Debug->Main Thread Checker 来缓解此问题,同时在本地运行测试。

在连续环境中出现相同的错误是否意味着我们必须将主线程检查器的取消选中作为参数传递?还是我们缺少什么?

请帮忙。

0 投票
1 回答
1829 浏览

ios - iOS XCUITest 模拟指纹

我正在使用本机工具编写自动化 UI 测试。在一个流程中弹出指纹认证。我怎样才能通过它,前进到下一个屏幕?

0 投票
1 回答
211 浏览

java - 如果找不到元素,我不希望此方法返回 null

我使用以下 mwthod 在我的页面工厂模型中创建动态元素。我将 IOSClassChain 值作为字符串传递,然后将其转换为元素。当元素存在于页面上时,这工作正常,但当元素不存在时返回 null。下面是方法:

我为 objElement 传递的值是:

有什么建议么?

0 投票
1 回答
312 浏览

ios - 异步加载时如何使用 XCUITest 验证 UITableView 中的单元格数量?

我正在编写一个 UI 测试,它需要异步加载数据,然后对单元格中显示的数据进行一些验证。

在这种情况下,如果没有数据加载测试通过并且不应该通过,所以我需要确保我至少有一个基于远程数据加载的单元格。

0 投票
2 回答
2364 浏览

ios - XCUITest 测试执行顺序

是否有任何已知方法可以影响XCUITest调用测试方法的顺序?目前,以哪种顺序调用哪种测试方法似乎是完全任意的。

这使得无法定义特定的顺序。一般来说,Xcode 管理 XCUITest 运行的方式是次优的,因为您必须为每个测试用例定义一个测试函数。最好只从一种方法启动一个完整的测试会话,以便可以在例如会话:功能:场景中构建自己的测试。

...这正是我想要做的,因为我们遵循 Calabash 风格的测试结构,而我围绕 XCUITest 编写的框架提供了许多附加功能(例如 Testrail 集成)。

我试图以这样一种方式来实现框架,即所有功能和场景都是从一个test()方法组织和开始的。如果 Xcode 允许,这将起作用,但事实证明在每个场景之间终止和启动应用程序是有问题的,因为它会导致主线程停止甚至崩溃。因此,我为我们的框架添加了支持,以使用老式的 Xcode 方式为每个测试定义一个方法,但顺序被 Xcode 弄乱了,这弄乱了 Testrail 的日志和报告的生成。

0 投票
2 回答
710 浏览

ios - XCUITest - Task-kill App

Trying to find a solution to automate task-kill the app for XCUITest...

But it's not working. The two home button taps seem not to be recognized as a quick double-tap. Does anyone know a workable solution for this?

0 投票
2 回答
475 浏览

swift - XCTWaiter 期望未触发

我正在使用 XCTWaiter 等待 UI 自动化设置中的某些条件。这是我的自定义 waitFor 方法:

这种方法在我等待 XCUIElements 但我想等待网络请求完成的情况下工作正常,所以我使用一个在网络请求完成后设置为 true 的标志。这是一个简化的示例:

但是,XCTWaiter 永远不会完成,只是在超时后超时。在这种情况下似乎isTestRailCasesRetrived从未评估过。有人知道为什么吗?

0 投票
2 回答
1247 浏览

xcode - Xcode 9 UITest 不工作

我尝试为我的应用程序开发 UI 单元测试。我创建了一个 UI 测试目标,并想启动创建目标时生成的示例 XCTest。

当我尝试启动测试时,我收到错误消息:

无法获取 /Path/from/user/toAppRepo/build/Debug-iphonesimulator/My_App.app 的 Bundle Identifier

我不确定为什么会发生这种情况,因为我没有更改 Andy 配置,并且我在这里看到的几个问题对我的问题没有帮助,例如,我将建筑物“用于命令行构建”选项设置为“调试”为在类似的问题中提到。当我设置TEST_HOST它时说,我无法使用USE_XCTRUNNERand配置测试TEST_HOST

0 投票
2 回答
503 浏览

swift - 如何使用 XCUITest 获取 SkyFloatingLabelTextField 中浮动标题的内容?

在我的 XCUITests 中,我需要在验证错误后检查 SkyFloatingLabelTextField 中浮动标题标签的内容。

我已经为 SkyFloatingLabelTextField 元素设置了accessibilityIdentifier,所以我可以毫无问题地点击并输入文本,但是如何仅使用XCUIElement 访问它的标题(titleLabel?)?

我尝试将titleLabel 设置为具有自己的accessibilityIdentifier 的accessibilityElement,但在那之后我无法访问我的测试中的文本字段。

0 投票
1 回答
575 浏览

ios - XCUIElementQuery.matching(identifier:) 不适用于 UIImageView

我正在尝试实现一个非常简单的测试,但我坚持使用XCUIElementQuery.matching(identifier:)方法。我认为查询UIImageViews 没有按预期工作,但不知道为什么。

我为视图设置了这两个设置:

  1. 标签:使用 id: 'label' 启用可访问性的标签
  2. UIImageView:具有可访问性的 UIImageView 启用了 id: 'accept'

我有这个测试:

我在哪里查询这两个视图(带有 id 的标签和带有 idlabel的 UIImageView accept)。从这里:app简单地定义为像这样的类属性:let app = XCUIApplication()

所以,这就是屏幕的样子: 有 2 个项目的表

这意味着这个测试应该通过,因为屏幕上有两个staticTextidlabel和一个imageid acceptstaticTexts 已成功查询,但matching(identifier:)尝试image使用 id查询时失败accept在 ID 为“接受”的图像上测试失败

我试图查询很多东西,比如:

  • app.images.
  • app.tables.
  • app.tables.images.
  • app.tables.cells.images.
  • app.buttons.(也标记为Button辅助功能设置的特征部分)
  • app.staticTexts.(也标记为Static Text辅助功能设置的特征部分)

但没有运气......我在这里做错了什么,或者遗漏了什么?