我正在尝试在xcode 7 beta中使用UI测试.我有一个带有两个文本字段的故事板.两个文本字段都有出口和不同的恢复ID.我记录了测试,但生成的代码是不可读的,它不起作用:
app.otherElements.containingType(.TextField, identifier:"y").childrenMatchingType(.TextField).elementBoundByIndex(0).typeText("hello")
Run Code Online (Sandbox Code Playgroud)
我也尝试了以下内容,并将根据占位符文本工作?!?
app.textFields["PlaceholderText"].typeText("hello")
Run Code Online (Sandbox Code Playgroud)
在UI测试中获取TextField引用的正确方法是什么?
我正在创建Automate UITest测试用例,我想在用户与元素进行3D Touch交互时测试场景,然后显示Peek和Pop视图.
我似乎找不到任何可能的方法来模拟元素上的3D Touch并继续.
任何人对此有任何想法,或3D Touch仍无法测试?
谢谢
Apple在Xcode 7中简化了iOS UI测试.
使用新的Xcode 7项目,要获得iOS UI测试的完整配置,您只需在创建项目时选中"包含UI测试".
对于在Xcode 7存在之前创建的项目,在Xcode 7中获得相同的步骤是什么?
我在一个Xcode机器人中运行UI测试.机器人在一台单独的计算机上运行,该计算机仅用于此任务,而不是其他任何计算机.测试一开始运行正常,但经过几次成功运行后,他们开始全部失败并出现此错误.
UI测试失败 - 应用程序状态仍未终止
在第一次测试失败后出现此错误 - 所有测试都失败后也是如此.我找到的唯一办法就是重启服务器计算机.我该如何防止此错误?
OS X 10.11(15A263e),Xcode 7.0(7A192o),OS X Server 5.0.1(15S2235)
我正在使用带有swift的Xcode 7构建一个自动化套件.
我的应用加载了以下警报视图:
在使用应用程序时,允许"Light Alarm"访问您的位置?
当我使用UI测试进行录制并单击此警报时,我会收到以下代码:app.alerts ["允许\ U201cLight警报\ U201c在您使用应用程序时访问您的位置?"]
注意:引号已替换为\ U201c
但是,当我尝试编译时,我收到以下错误:"文字中的转义序列无效"
有谁知道怎么绕这个?
我正在使用Xcode 7中的UI测试自动化应用程序.我有一个带有XCUIElements(包括按钮等)的滚动视图.有时XCUIElements是可见的,有时它们在scrollview上隐藏得太远(取决于我在scrollview上的位置).
有没有办法将项目滚动到视图中,或者可能会告诉它们是否可见?
谢谢
在我的项目上使用 Xcode 开始 UI 测试,遇到了障碍。
有一个UITextField调用的子类,RSCustomTextField它有一些 UI 自定义。添加到RSSearchHeadView包含文本字段和按钮的 。
所以我无法查询文本字段,app.textfields["Search field"]因为它是一个自定义类,它显示为app.otherElements["Search field"]
它在searchField.typeText("abc")显示错误时崩溃元素和任何后代都没有键盘焦点。.
即使在tap()元素之后。请注意,我还尝试在子类和文本字段上设置可访问性特征,UIAccessibilityTraitSearchField但没有区别。
func testSearchIcon() {
let searchField = app.otherElements["Search field"]
searchField.tap()
searchField.typeText("abc")
app.keys["delete"].tap()
XCTAssertFalse(searchDubizzleElement.hittable)
}
Run Code Online (Sandbox Code Playgroud)
debugDescription在应用程序上打印提供以下输出:
Element subtree:
?Application 0x7fc1b3f3aa00: {{0.0, 0.0}, {375.0, 667.0}}, label: 'myappname-masked'
Window 0x7fc1b3f439b0: Main Window, {{0.0, 0.0}, {375.0, 667.0}}
Other 0x7fc1b3f55c20: traits: 8589934592, {{0.0, 0.0}, {375.0, 667.0}}
Other 0x7fc1b3f43440: traits: 8589934592, {{0.0, 0.0}, {375.0, 667.0}} …Run Code Online (Sandbox Code Playgroud) 我有一个非常简单的XCTestCase实现,测试按下按钮并期望显示警报控制器.问题是该tap()方法不起作用.在相关按钮的IBAction中放置一个断点我意识到逻辑甚至没有被调用.
class uitestsampleUITests: XCTestCase {
var app: XCUIApplication!
override func setUp() {
super.setUp()
continueAfterFailure = false
app = XCUIApplication()
app.launch()
}
func testButton() {
let button = app.buttons["Button"]
button.tap()
expectationForPredicate(NSPredicate(format: "exists == 1"), evaluatedWithObject: button, handler: nil)
waitForExpectationsWithTimeout(5.0, handler: nil)
}
}
Run Code Online (Sandbox Code Playgroud)
此外,复制button.tap()指令使测试通过,如下所示:
func testButton() {
let button = app.buttons["Button"]
button.tap()
button.tap()
expectationForPredicate(NSPredicate(format: "exists == 1"), evaluatedWithObject: button, handler: nil)
waitForExpectationsWithTimeout(5.0, handler: nil)
}
Run Code Online (Sandbox Code Playgroud)
我在Xcode 7.3.1中遇到这个问题我错过了什么吗?这是一个错误吗?
只是想知道是否有可能在xcode中使用UITesting以某种方式在模拟器的自定义位置编码.我们有一个应用程序涉及许多位置更改,如果我们可以自动化位置更改作为我们的UITesting套件的一部分将是很好的.
在Xcode 9.2中,对于我的iOS应用程序,我有一个用于运行UI测试套件的Scheme.在此方案中,在"测试"选项卡下,我定义了环境变量和参数.当我的测试运行时,我的应用程序代码无法使用这些变量.
但是,我能够以编程方式在测试代码中设置参数和launchEnvironment,并且当应用程序在测试下运行时,它们可供应用程序使用.
我还在"运行"选项卡中设置了环境变量和参数,当我仅在模拟器中运行应用程序时,这些变量和参数可用.当我运行我的UI测试时,它们不可用,无论我是否有"使用运行操作的参数和环境变量"切换.
要查看指定参数和ENV瓦尔的价值观,我有一个断点,在我的设置applicationDidFinishLaunching,我po ProcessInfo.processInfo.environment和po ProcessInfo.processInfo.arguments.
我在这里设置错误吗?
xcode-ui-testing ×10
swift ×7
ios ×5
xcode ×4
xcode7 ×4
ui-testing ×3
3dtouch ×1
automation ×1
escaping ×1
geolocation ×1
location ×1
uitest ×1
xcode-bots ×1