问题标签 [xctestcase]
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.
xctest - IOS UI 测试 - 如何编写打开相机和文件选择器的测试用例
我正在使用 XCTest 框架为 IOS 编写测试用例。我想选择一张照片来设置用户配置文件,可以通过两种方式完成: 1. 使用相机拍摄图像。2. 从文件选择器中选择图像。
我有以下问题: 1. 我在模拟器上运行这个测试。那么,如何访问摄像头呢?2.我可以通过点击“选择相册”打开页面文件选择器页面。但是,无法检测到页面文件选择器页面上的点击。
我的代码如下:
第 2 行给了我错误:NSInternalInconsistencyException 无效参数不满足
没有找到上述案例的单一文档。
cucumber - XCUItest 系统警报
我正在尝试使用 XCUITest 和 Cucumberish 自动化我的应用程序,我无法单击系统警报,例如位置和联系人权限,但无法单击“允许”或“确定”,它正在单击“不允许”或“任意”“允许”。
这是我试图在我的步骤定义中使用的代码:
ios - IOS UI 测试 - 等待网络调用
我正在使用 XCTest 框架为 IOS 编写测试用例。一旦网络调用完成,我们如何等待网络调用并开始执行。目前,我正在使用 sleep() 等待。但是,它不是最好的方法。
那么,还有其他方法可以做到吗?
ios - 将 XCTests measure() 限制为仅运行一次
作为我正在编写的UI测试的一部分,我想测量一个功能的性能。测试本身需要一段时间,而且我要测量的部分很小,而且测试运行的频率足够高,每次运行只需进行一次测量即可获得所需的数据。但是, XCTestCasemeasure(_:)
将运行 10 次。
是否有任何选项我可以给它或measureMetrics(_:automaticallyStartMeasuring:for:)
只运行一次测量,或者有什么方法让我自己进行测量并将其反馈到测试运行器中,以便它像 Xcode 那样集成measure(_:)
?
ios - 如何在 iOS 中从 XCTestCase 文件中访问联系人
我正在尝试通过 UITest 文件在设备联系人库中添加联系人。我在 plist 中添加了隐私使用说明。但它仍然抛出以下错误:
我正在使用以下代码添加联系人:
从开发目标执行时,相同的代码成功地创建了一个联系人。
ios - EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0) 尝试使用 SBTUITestTunnel 运行 XCTest
我正在尝试在我的 XCTest UI 自动化中使用测试框架SBTUITestTunnel 。我按照描述设置了 Podfile:
但是,当我运行 UI 测试时,它们在启动后立即崩溃:
谁能帮我调试一下?我什至不能设置断点,所以我很茫然。请记住我的代码构建并开始执行。我猜我的 Podfile 或我的项目配置有问题。我尝试了他们对未找到框架的建议,但没有帮助:
如果您使用的是 CocoaPods v1.0 并且您的 UI 测试无法启动,您可能需要在 UI 测试目标的构建设置中将 $(FRAMEWORK_SEARCH_PATHS) 添加到您的运行路径搜索路径!
ios - 手动将 UIView 实例化为模拟 UIViewController 后,为什么 UIView 为零?
我正在UiViewController
用 XCUnitTests 测试我的 s。
有时我必须模拟UIViewController
以捕获方法调用。例如是否performSegue
已被调用。
有时我测试的一种方法(例如viewDidLoad
)访问 IBOutlet。当我创建一个自定义模拟子类然后说mockViewController.textfield = UITextField()
一切都很好。
但是,当我想手动实例化 aUIView
或 aUIStackView
时,变量仍然是 nil,即使 a 的初始化UIView
程序永远不会返回 nil。为什么?
也许这与UIView
s 和UIStackView
s 没有内在内容大小有关?我该如何解决?
macos - 测试目标中资产目录中的 NSImage
我的单元测试目标需要加载图像资源以用于某些测试,但我无法加载它。
- 我在测试目标中创建了一个资产目录。
- 我在目录中添加了一个新的图像集资源,选中了“设备”中的“Mac”框,并将其源图像设置为两种分辨率(@1x 和@2x):
我已经检查了测试目标的“复制捆绑资源”构建阶段,它确实包括资产目录。
我检查了资产目录和图像集的目标成员资格,它确实是测试目标。
运行测试时,我尝试使用如下代码加载图像:
......但是守卫失败了。
我也试过:
...但第一个守卫失败(无法检索资源路径)。
这两种格式我都试过了
和:
我也试过Bundle.urlForImageResource(_)
了,但也失败了。
我见过类似的问题和答案,但它们要么适用于iOS ,要么适用于应用程序(主)包中的资源。
我错过了什么?
更新:
同时,我通过将测试图像添加为独立图像资源(不使用资产目录)并使用以下代码加载它来解决该问题:
在这种情况下,我不需要支持多种分辨率(我的图像是图像处理算法的来源;它已经被假定为必要的最高分辨率),即使我这样做了,我也会从.png切换到.tiff,我猜。
问题似乎是,NSImage
没有类似于's的初始化程序,它允许您指定从中加载图像的包(第二个参数)。UIImage
init(named:in:compatibleWith:)
您可以改为要求特定的包(除了main
)来创建资源 URL 并从中实例化图像(就像我在上面所做的那样),但这似乎与资产目录不兼容。欢迎提供更多信息...
xctest - Xctest 如何在套装完成之前知道测试用例通过/失败,以便我可以在测试完成时更新测试周期
覆盖 func setUp() { super.setUp()
XCTestObservationCenter.shared.addTestObserver(观察者)
下面是观察者类,但没有任何东西是打印的
我希望每个测试用例的测试用例 id 和状态完成运行,以便我将更新 Jira 或 Zephyr 中的状态
类观察者:NSObject,XCTestObservation { var failedTC = 0
}
swift - XCTest 元素查询计数返回不正确的单元格数
使用 Xcode 9、Swift、XCUI 测试
我正在尝试测试显示在表格中的结果数量,但是当第二组/页面结果加载到表格中时,返回的单元格数量/计数不正确。
表格中每页有 50 个单元格。加载最后一个单元格时,如果有更多,则加载下一组 50 个(或最多 50 个)。
在我的测试用例中,我们导航到页面并加载了前 50 个单元格。当我调用 .count 单元格时,由于某种原因,它正在调用 api 以两次返回结果的第二页。第 2 页包含 20 个结果。结束计数应为 70(第一页为 50,第二页为 20),但计数返回为 90,因为它两次调用结果的第二页。
它两次调用最后一个单元格willDisplayCell
。tableViewController
为什么 .count 方法会使这种情况发生两次,从而导致单元格计数不正确?还有另一种方法可以在我们的 UI 测试中获得正确的单元格计数吗?