问题标签 [xcode-ui-testing]

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 投票
2 回答
4285 浏览

unit-testing - iOS 中的 XCTest 和 UI 测试

我是 iOS 单元测试的新手,需要为 iOS 7 应用程序编写单元测试。我看到 XCTest 在测试导航器和助理编辑器的帮助下编写单元测试。由于“单元测试”意味着我们正在测试一段代码[可以是单个方法或一组相关方法]。我们如何为 UI 编写单元测试?假设我们在应用程序启动时确实有一个设置屏幕,其中包含一些用户需要选择的选项,然后将其保存到 NSUserDefaults 以供以后使用。我的问题:我们如何使用 XCTest 来: 1. 显示 UI [用户界面在故事板中],以便能够验证其上的各种 UI 元素,包括一些自定义绘制的 UI 工作。

可能我对使用 XCTest 进行 UI 的单元测试有点困惑,所以如果有人能在上面澄清一下,那就太好了。

我也看过苹果的 UIAutomation 但我们如何将它集成到我们的测试目标中?

0 投票
2 回答
992 浏览

ios - 在 Xcode UI 测试期间检查电子邮件?

更新:使用 Xcode 进行 UI 测试的新方法是否仍然可行?

我可以通过iOS UI 自动化脚本以编程方式访问我的电子邮件吗?

我想访问我的 iPhone 应用程序通过电子邮件发送到我的电子邮件帐户的注册代码。

0 投票
0 回答
1847 浏览

ios - 在执行测试之前重置 iOS App 内容

我想为 iOS 8 应用程序编写测试。该应用程序在运行测试之前在模拟器中启动,它会加载所有可能存在的首选项和钥匙串项目。由于无法正确测试应用程序,当总是可能存在早期测试或手动使用模拟器的剩余偏好时,我想每次在执行测试之前重置应用程序。我怎么能这样做?

0 投票
1 回答
899 浏览

xctest - XCTest UI Record and Play - 模拟器不更新 UI

两天前,苹果在 WWDC2015 期间发布了一个新的 UI 测试框架。我正在尝试编写一个测试用例,当我尝试记录 UI 测试以生成脚手架代码时,它看起来正在生成代码,但是模拟器上的 UI 实际上并没有更新。

即当我点击一个按钮时,会生成代码以实际找到按钮并点击,但实际上并没有在模拟器上同时点击该按钮。所以基本上我无法进入模拟器上的下一个屏幕,在测试用例中实际进行。

WWDC 会议视频展示了一个 iPhone 应用程序(Lister 应用程序)的示例。但我正在 iPad 2 应用程序上尝试它。这就是唯一的区别。

关于为什么会发生这种情况的任何线索?

想要在实际向 Apple 提交 Radar 之前检查是否还有其他此类情况。

0 投票
2 回答
2757 浏览

xcode - XCode 7 中的 UI 测试文档

我想知道在 WWDC 2015 上引入的 XCode 7 中的新 UI 测试是否有任何文档。如果没有文档,是否有任何用户制作的版本值得一看?

谢谢

0 投票
3 回答
3139 浏览

ios - Xcode 7 之前的项目的 Xcode 7 UI 测试用例

Apple 在 Xcode 7 中简化了 iOS UI 测试。

对于新的 Xcode 7 项目,您只需在创建项目时选中“包含 UI 测试”即可获得 iOS UI 测试的完整配置。

对于在 Xcode 7 存在之前创建的项目,在 Xcode 7 中获得相同的步骤是什么?

0 投票
3 回答
2760 浏览

ios - 通过 Cocoapods 包含 Xcode 7 UI 测试依赖项?

我有一个现有的 Objective-C 项目,我想添加一个新的 Xcode 7 UI 测试目标,其中OHHTTPStubs作为依赖项。

我在 Xcode 中添加了新的(Swift 2.0)UI 测试目标,然后将其添加到我的Podfile

我跑pod update、打扫和重建。但是当我尝试import OHHTTPStubs在为我创建的模板 UI 测试 .swift 文件的顶部时,它会抱怨“没有这样的模块 'OHHTTPStubs'”。

我正在使用 Cocoapods 版本 0.37.2 — 是否将 Objective-C 依赖项导入到 Swift(... UI 测试)目标中,甚至可以正常工作?

更新:正如我在下面的自我回答中所指出的,添加use_frameworks!到我的 Podfile 可以让我进行干净的编译——我可以import OHHTTPStubs在我的测试文件的顶部,引用类和方法,代码完成工作——但是当我真正去运行测试时,我得到了Xcode 控制台中的以下输出:

不过,我的目录下似乎确实存在Release-iphoneosRelease-iphonesimulator构建。OHHTTPStubs.framework~/Library/Developer/DerivedData

关于发生了什么的任何提示?

0 投票
3 回答
4813 浏览

ios - 使用 Xcode7 的 UI 测试为 App Store 创建应用截图

每次我们在 UI 中更改某些内容时,我们都必须手动准备并截取 375 个(= 5 个屏幕截图 * 5 种设备类型 * 15 种语言)屏幕截图以用于 iTunes Connect 的列表。

我正在尝试“利用”iOS 9 的新 UI 测试来自动为每种语言准备和截取这些屏幕截图。这应该可以节省大量时间并为我们的用户提供更好的体验,因为我们没有经常更新屏幕截图,因为涉及的工作量很大。

我在网上找不到太多帮助,可能是因为这个功能太新鲜了。所以这里有两个基本问题,希望我们能找到一种方法来实现它。

  1. 是否可以通过 UI 测试 API 将屏幕截图保存到磁盘?

  2. 是否可以为 XCTestCase 进行全新安装?

0 投票
0 回答
999 浏览

ios - 不能在 Xcode 7 UI 测试目标中包含 Objective-C .framework?

我试图依赖OHHTTPStubs作为框架,来自 Xcode 7 中的 Swift UI 测试目标。

我构建了 .framework(通过 Carthage,但我不确定这是否相关?)并将其拖到 UI 测试目标的 Build Phases 选项卡下的“Link binaries with libraries”部分。

但是当我尝试@import OHHTTPStubs在我的 .swift 测试用例中时,Xcode 告诉我No such module 'OHHTTPStubs'

这应该很简单,我错过了什么?这是Github 上的项目

0 投票
0 回答
317 浏览

ios - iOS 应用程序在 UI 录制时没有响应

我正在尝试为我的 iPad 应用程序记录 UI 测试。当我按标签栏项目导航到另一个屏幕录制时,正确捕获了我的操作,但我的应用程序根本没有响应。之后,当我运行测试时,它实际上会导航到正确的屏幕。

知道什么会导致这种行为吗?

谢谢。