问题标签 [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 投票
4 回答
3453 浏览

xcode8 - XCUITest 录制失败并显示“请选择“XCUITodo”是可执行文件的方案”

我正在使用 Xcode 8 来自动化我的应用程序。我从下载现有代码开始:XCUIToDo项目。我在 Xcode 中打开了该项目,当我单击“记录”按钮时,我看到一条警告消息“请选择“XCUITodo”是可执行文件的方案”并且记录功能没有启动。请让我知道我在哪里失踪。

TIA

0 投票
1 回答
1068 浏览

ios - Xcode 方案默认位置在测试中被忽略

我创建了一个 GPX 文件并将其添加到我的项目中。如果我的项目正在运行,我可以从可能的位置下拉列表中选择 GPX 文件来模拟并让它正确应用定义的路径。

该项目包含2个方案:主方案和主测试方案。我已经将两者都设置为使用 GPX 文件作为“选项”选项卡上的“默认位置”。此外,在两个方案的“测试”区域下,我再次指定了相同的文件。

主要方案运行选项 主要方案运行选项

主要方案测试设置 主要方案测试

测试方案运行选项 测试方案运行选项

测试方案 测试设置 测试方案 测试设置

当我在模拟器上运行应用程序时,它会正确应用模拟位置。但是,当我运行测试时,模拟的位置没有被应用。我无法解释为什么测试不会自动应用该位置。在模拟器/测试设备上编译并安装测试后,我可以使用 Xcode 中的下拉菜单应用所需的模拟位置。但是,为了设置自动化测试,该方案需要正确应用目标模拟位置,因为无法从测试脚本中设置模拟位置。还有什么我想念的吗?

0 投票
3 回答
2089 浏览

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

我们有这样的场景:

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

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

然后,继续执行脚本。

是否有可能做到这一点?我们需要做什么?

谢谢。

0 投票
1 回答
535 浏览

swift - 使用 `isSecureTextEntry = true` 测试文本字段时,访问 ID 不起作用

因此,我正在尝试访问并确认我的 uitests 中是否存在密码文本字段,但是一旦分配了它们isSecureTextEntry = true,测试就无法再通过 accessID 找到它们。有谁知道为什么?如果有办法解决这个问题,以便我可以找到它们并在测试中使用它们?最好这样我仍然可以使用访问 ID 在测试中找到它们。

我的测试很简单:

运行测试时出现以下错误:

“未找到匹配项:匹配谓词“密码”IN 标识符的元素来自输入 {(TextField,0x600000193e80,特征:146029150208,标识符:“电子邮件”,占位符值:“电子邮件”)} “。

isSecureTextEntry = false如果(或只是未设置),测试会愉快地通过

0 投票
1 回答
91 浏览

xcode - 以编程方式启动 XCUITests?

有谁知道这是否可能?

默认情况下,Xcode 会启动 UI 自动化测试,它会在类中找到以“test”开头的方法。当我围绕 XCUITest 编写测试框架时,这种启动测试的方式非常不灵活。

我希望能够在我的框架中提供工具来以编程方式注册测试类和启动测试,而不是 Xcode 为我做这件事。

0 投票
1 回答
1506 浏览

automation - Xcode 9、iOS 11、XCUITest 失败:主线程检查器 Flurry Analytics

使用在 iOS 11 上运行的 Xcode 9 运行我的 XCUITests 套件。

测试在 Xcode 8 (iOS10) 中运行完美,但在 Xcode 9 中我收到以下错误:

这可以通过注释掉所有 Flurry 代码来解决,但这显然并不理想。开发人员以前已经看到过这个问题: https ://github.com/flurry/flurry-ios-sdk/issues/91

但是,在这种情况下,dev build 可以正确编译,并且仅在运行 XCUITests 时才会出现此错误。

有人知道怎么修这个东西吗?

0 投票
1 回答
3008 浏览

xcode - XCUITest - 如何在应用程序运行时禁用 Wi Fi?

我想在运行 XCUITest 时自动化 ios App 的行为方式。手动执行测试时,我关闭了 wi fi 适配器。我如何使用 Xcode UI 测试来做到这一点?

谢谢

ps 我发现我们可以使用下面的命令来禁用 wi fi。但要做到这一点,我需要将我的应用程序发送到后台。我需要在不将当前应用程序发送到后台的情况下执行此操作。

0 投票
0 回答
1199 浏览

ios - XCUITest跳板断言失败

我正在围绕 XCUITest 编写一个框架,它添加了各种方便的功能(例如本地 HTML 报告、Testrail 集成等),我发现为了我们的目的,拥有一个扩展 XCTestCase 并运行我们所有测试的类是有意义的从此(而不是让每个测试用例类都从 XCTestCase 扩展并通过非常尴尬的方案启动它)。然后,我们的实际测试类(称为 Features)从一个 XCUITest 方法调用开始按顺序启动。

当我想在测试用例之间删除并重新安装测试的应用程序时,这一切都很好。

我正在使用来自Is there a way to reset the app between tests between Swift XCTest UI in Xcode 7 中的类?通过 XCUITest 控制跳板。

该应用程序在每个测试用例之前重新安装,它在第一个测试之前成功,但在第二个测试用例之前我总是得到一个错误并且测试运行器退出:

再次调用 resolve() 时会发生错误:

我删除并重新安装应用程序的相关框架方法:

有谁知道可以防止此错误的解决方法?

Xcode 9 更新:

我希望用 Xcode 9 和 Swift 4 以及新XCUIApplication.activate()方法来解决这个问题。我的 Springboard 代理类如下所示:

但现在我收到以下错误:

有谁知道如何解决这个新问题?

0 投票
1 回答
1949 浏览

swift3 - 使用 Xcode 9 中的 Swift 3 / Swift 4 在 XCUITest 中处理系统对话框(警报)

我想编写一个 XCUITest,在其中获得系统对话框/警报。如何在带有 Xcode 9 的 Swift 3 / Swift 4 中处理它?它应该找到警报并单击显示的两个按钮之一。每次,如果我搜索警报,系统都找不到它们。

0 投票
1 回答
166 浏览

xcode - 即使谓词看起来有效,XCUItest 也没有通过

这是我的代码-> https://github.com/patchthecode/XCTestBug

这是我的看法->

在此处输入图像描述

我正在尝试捕捉灰色视图。它包含一个标签Ll和按钮11

此代码捕获视图

此代码还正确捕获视图

但是此代码无法捕获任何内容

我究竟做错了什么?