问题标签 [xcuiscreenshot]

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 投票
1 回答
423 浏览

ios - 如何让 UITests-Runner 能够访问隐私敏感数据

我正在运行一个 UITests 案例UIImageWriteToSavedPhotosAlbum(),以将我的测试屏幕截图保存到相册:

但它因错误而崩溃:

... XXXUITests-Runner[53905:8592232] [access] 此应用程序已崩溃,因为它试图在没有使用说明的情况下访问隐私敏感数据。应用的 Info.plist 必须包含一个 NSPhotoLibraryAddUsageDescription 键和一个字符串值,向用户解释应用如何使用这些数据。

我已将 NSPhotoLibraryUsageDescription 和 NSPhotoLibraryAddUsageDescription 提供给我的 UITest 目标和应用程序目标。

搜索了一段时间,到目前为止,我想不出一种方法让 UITests-Runner 能够将图像保存到照片应用程序,没有 UI 级别让我按下允许它。

那么,我怎样才能做到这一点,即使 UITests-Runner 能够访问隐私敏感数据(在这种情况下为照片)?


此处提供的示例项目:

UITestRunnerIssueDemo

以下是相关的错误详细信息:

测试套件“所有测试”开始于 2018-05-10 11:30:37.693
测试套件“UITestRunnerIssueDemoUITests.xctest”开始于 2018-05-10 11:30:37.694
测试套件“UITestRunnerIssueDemoUITests”开始于 2018-05-10 11 :30:37.694
测试用例 '-[UITestRunnerIssueDemoUITests testExample]' 开始。
t = 0.00s 在 2018-05-10 11:30:37.695 开始测试
t = 0.05s 设置
t = 0.06s 打开 com.kjuly.UITestRunnerIssueDemo
t = 0.10s 启动 com.kjuly.UITestRunnerIssueDemo
t = 3.08s 等待 com .kjuly.UITestRunnerIssueDemo to idle
t = 6.10s Find the Target Application 0x60c0000dd5e0
t = 6.25s Tear Down
2018-05-10 11:30:43.948541+0800 UITestRunnerIssueDemoUITests-Runner[53905:8592232] [access] 这个应用程序已经崩溃,因为它试图在没有使用说明的情况下访问隐私敏感数据。应用的 Info.plist 必须包含一个 NSPhotoLibraryAddUsageDescription 键和一个字符串值,向用户解释应用如何使用这些数据。


顺便说一句,我知道我可以获取自动保存在 AppData/Library/Snapshots 文件夹下的 UITests 屏幕截图,但是如果我可以从相册中获取它会很方便,尤其是在真实设备中这样做时,我不愿意每次下载 App Container 只是为了获取这些屏幕截图(而且,我需要保存的高质量屏幕截图)。

0 投票
1 回答
1832 浏览

swift - Xcode swift UI 测试对比两张截图

基本上我拥有的是一个项目列表,我可以使用按钮在该列表中创建一个新项目。

现在我想测试单击按钮时是否将项目添加到列表中。

在为此创建测试用例时,我想在点击按钮之前和之后截取屏幕截图并比较它们以了解是否添加了项目。但是现在我被困在如何比较两个屏幕截图上。

PS:列表很复杂,项目可能包含不同的数据。

PS:列表以自下而上的方式显示,就像您看到聊天新项目将添加在底部一样。

0 投票
0 回答
376 浏览

ios - XCTest 断言失败应用程序未运行

我正在使用 Xcode 9.4 在 iPad Pro 上运行 XCTEST 测试用例。应用程序在执行测试用例时启动后崩溃。我的第一个测试步骤是简单的等待,然后我验证 UI。但我确信它与测试用例无关。

iPad pro 有操作系统 11.4。

请帮帮我。提前致谢。这是日志

0 投票
2 回答
161 浏览

xcuitest - XCUITest 元素快照无法闪烁光标

我们正在使用 FBSnapshottestcase 作为 XCUITest 案例的一部分来拍摄快照。我们有一个具有 UITextField 的 ScrollView。我们在文本字段中输入文本并拍摄快照以验证元素在输入文本时的行为是否正确(出现清除按钮)。我们遇到的问题是,当您在文本字段中键入时,会出现一个闪烁的光标。根据拍摄快照时闪烁光标的状态,测试将失败或通过。有没有办法禁用 XCUITest 的闪烁光标?

0 投票
1 回答
45 浏览

xcode - Xcode - 从图像中编辑元素

有没有办法从 xcode 中的图像中编辑特定元素?我们正在做快照测试,目前我们在需要的地方裁剪图像或只拍摄特定元素的快照以避免此问题,但我们希望能够拍摄图像并编辑某个可能会像日期一样不断变化的元素/时间场。

0 投票
1 回答
120 浏览

xctest - XCTEST - 如何从屏幕截图中提取文本并将其与预期的字符串进行比较

目前我正在测试一个 iOS 应用程序进行本地化。有什么方法可以截取应用程序屏幕的屏幕截图,然后从该屏幕截图中提取文本以将其与来自语言环境字符串文件的文本进行比较?

0 投票
1 回答
119 浏览

xctest - FBSnapshotTestcase 与 xcuiscreenshot

我试图了解 FBSnapshotTestcase 解决的用例。我们已经有了名为 xcuiscreenshot 的原生苹果库。每当任何 UITest 失败时,它都会自动截取视图以供参考。

FBSnapshotTestcase 与先前存储的参考图像进行比较,以根据所需的 UI 声明屏幕失败。

但实际上使用 FBSnapTestCase 优于 XCUIScreenshot 的确切优势是什么?