ios – Xcode UI测试如何在自定义类文本字段中键入文本

ios – Xcode UI测试如何在自定义类文本字段中键入文本,第1张

概述在我的项目中使用 Xcode开始UI测试,遇到障碍. UITextField的子类名为RSCustomTextField,它有一些UI自定义.这是添加到RSSearchHeadView,其中包含文本字段和按钮. 所以我无法将文本字段查询为app.textfields [“搜索字段”],因为它是一个自定义类,它显示为app.otherElements [“搜索字段”] 它在searchField.t 在我的项目中使用 Xcode开始UI测试,遇到障碍.

UITextFIEld的子类名为RSCustomTextFIEld,它有一些UI自定义.这是添加到RSSearchheadVIEw,其中包含文本字段和按钮.

所以我无法将文本字段查询为app.textfIElds [“搜索字段”],因为它是一个自定义类,它显示为app.otherElements [“搜索字段”]

它在searchFIEld.typeText(“abc”)上崩溃,显示错误.无论是元素还是任何后代都没有键盘焦点.

甚至在元素上点击()之后.注意,我也尝试在子类和文本字段上设置辅助功能特性为UIAccessibilityTraitSearchFIEld但没有区别.

func testSearchIcon() {  let searchFIEld = app.otherElements["Search fIEld"]      searchFIEld.tap()  searchFIEld.typeText("abc")  app.keys["delete"].tap()  XCTAssertFalse(searchdubizzleElement.hittable)}

在app上打印deBUGDescription会提供以下输出:

Element subtree: →Application 0x7fc1b3f3aa00: {{0.0,0.0},{375.0,667.0}},label: 'myappname-masked'    Window 0x7fc1b3f439b0: Main Window,{{0.0,667.0}}      Other 0x7fc1b3f55c20: traits: 8589934592,667.0}}        Other 0x7fc1b3f43440: traits: 8589934592,667.0}}          Other 0x7fc1b3f31830: traits: 8589934592,667.0}}            Other 0x7fc1b3f61ff0: traits: 8589934592,667.0}}              Other 0x7fc1b3f52820: traits: 8589934592,64.0}}                Other 0x7fc1b3f4e190: traits: 8589934592,64.0}}                  button 0x7fc1b3f3a250: traits: 8589934593,{{5.0,20.0},{44.0,44.0}},label: 'search icon right'                  Other 0x7fc1b3f349b0: traits: 8589935616,{{15.0,{345.0,39.0}},label: 'Search fIEld'                  Image 0x7fc1b3f3b3b0: traits: 8589934596,{{139.0,22.0},{97.0,30.0}},IDentifIEr: 'logo'                  button 0x7fc1b3f537a0: traits: 8589934593,{{326.0,label: 'your account icon'              CollectionVIEw 0x7fc1b3f32450: traits: 35192962023424,64.0},603.0}}                Cell 0x7fc1b3f1e230: traits: 8589934592,50.0}}......
解决方法 我遇到了与UITextFIEld的自定义子类相同的错误.该问题的根源是在UITextFIEld上以编程方式插入leftVIEw.有关使用这些子视图属性的信息会破坏自动UI测试的可访问性访问.

为了解决这个问题,我避免在UITextFIElds上使用leftVIEw或rightVIEw.相反,我通过修改textRect方法来实现所需的缩进,如下面的答案之一(目前是第二个最受欢迎的)中所述:Set padding for UITextField with UITextBorderStyleNone

我无法从您的代码中判断出您的问题是否相同,但我想我会分享这个小小的发现.

总结

以上是内存溢出为你收集整理的ios – Xcode UI测试如何在自定义类文本字段中键入文本全部内容,希望文章能够帮你解决ios – Xcode UI测试如何在自定义类文本字段中键入文本所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1003086.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存