我试图依靠OHHTTPStubs作为一个框架,来自Xcode 7中的Swift UI测试目标.
我构建了.framework(通过Carthage,但我不确定它是否相关?)并将其拖入UI测试目标的Build Phases选项卡下的"带库的链接二进制文件"部分.
但是当我尝试@import OHHTTPStubs在我的.swift测试用例中时,Xcode告诉我No such module 'OHHTTPStubs'.
我有一个如下所示的测试:
func testNextButtonDisabled() {
let app = XCUIApplication()
XCTAssertFalse(app.buttons["Next"].enabled)
}
Run Code Online (Sandbox Code Playgroud)
此测试失败,因为除了我自己创建的"下一步"按钮外,键盘返回按钮标有"下一步".此测试失败并显示错误:
UI测试失败 - 找到多个匹配项
如何区分我自己的"下一步"按钮和键盘"下一步"按钮?
我正在使用XCTest UI Test框架来检查表视图中的行.在我的测试中,我需要在给定索引的表视图行中验证文本是否存在.
我正在考虑使用tableRows.elementBoundByIndex方法,但它没有返回任何东西.调用返回的行数tableRows.count为零.该表存在并填充,因为我可以成功查询行内的文本:
XCTAssertEqual(app.tables.staticTexts["Cute Alpaca"].exists)
Run Code Online (Sandbox Code Playgroud)
如何根据XCTest UI测试中的索引验证连续文本的存在?
如果我想在物理设备上运行测试,是否有任何特定配置?
-my物理设备正在运行ios 9.0
- 我有一个配置的配置文件(应用程序在设备上运行)
- 我已启用UI自动化(设置 - >开发人员)
- 我的主动方案是我的目标,我选择了物理设备
但是当我运行测试(UI测试)时,会有一条消息"测试成功"(设备上没有任何反应,应用程序根本没有打开,根本没有错误消息),当我去了报告导航器,没有与测试相关的信息,我刚刚运行.
如果我在模拟器上运行此测试,它将运行没有问题.似乎xcode没有运行测试,但它显示"测试成功"消息谢谢!
我有几个UI测试,我可以成功单独或分组.我最终将我的测试分解为特定的类并以这种方式运行它们.我遇到的问题是Xcode按字母顺序执行UI测试,而不是按顺序编写/显示.有关如何绕过它的任何想法?
谢谢
是否有移动的方式UISlider下,UITests目标在Xcode?我真的需要从代码中移动它.可能吗?
我想在我的iOS应用(Xcode 7.2.1)中为登录过程运行功能(UI)测试。
该应用程序的行为是,成功登录后,将存储用户凭据,以便在下次启动时自动登录(不显示登录屏幕)。
因此,我在登录屏幕上设置了一系列UI事件,以使该应用首次在iOS模拟器中启动时通过登录测试。但是,下一次我运行测试将失败,因为登录屏幕甚至没有按预期显示。
我在这里看到两个选项,但似乎都不适合:
Run Script在Build Phases带有:的测试目标中添加一个阶段xcrun simctl shutdown booted && xcrun simctl erase all && killall "Simulator",但这似乎不起作用(Simulator应用程序无法启动,并且测试卡住了)。-(void)tearDown一些代码中以清除存储的用户凭据。此选项不好,因为它不仅在每个测试方法之间运行(不是在每次测试启动时都运行),而且似乎我无权访问AuthManager用于清除用户凭据的类。当用户界面测试登录过程时,您会怎么做?
我XCTest UI对Mac应用程序进行了相当正常的测试,该应用程序单击应用程序菜单中的某些菜单项以打开窗口.
在某些地方 - 比如我自己的Mac - 测试工作正常.但在其他地方 - 比如Travis CI- 他们失败了,出现了这个错误:
UI Testing Failure - Failed to receive event delivery confirmation within 2.5s of the original dispatch.
...
menuBarsQuery.menuBarItems["Top level menu item"].click()
menuBarsQuery.menuItems["Menu item in sub menu"].click()
Run Code Online (Sandbox Code Playgroud)
系统:
稍微消毒的测试用例版本:
import XCTest
class FooUITests: XCTestCase {
override func setUp() {
super.setUp()
continueAfterFailure = false
XCUIApplication().launch()
}
override func tearDown() {
super.tearDown()
}
func testCanDoSomething() {
let app …Run Code Online (Sandbox Code Playgroud) 我的UITests在XCode的测试窗格中突然变得灰暗.(见下图.)因此,当我选择产品 - >测试时,它们不会运行.只有单元测试运行(不显示灰色).
尽管它们是灰色的,但我可以按住UITests中的每个行项目并成功运行它.
知道什么配置导致这个灰显了吗?我该怎么扭转呢?
每当测试失败时,Xcode UI Testing都会在结果导航器中自动截取屏幕,这非常有用.但是,这不包括由于谓词失败而失败的测试.由于谓词通常用于基本检查(例如,当前视图中是否存在元素),这是一个巨大的缺点,因为屏幕截图可用于诊断测试失败时应用程序中发生的情况.
有谁知道如何强制截图?这是否需要集成Fastlane快照工具?
xcode-ui-testing ×10
ios ×6
xcode ×6
xctest ×5
swift ×3
xcode7 ×2
carthage ×1
cocoa ×1
objective-c ×1
ui-testing ×1
uitest ×1