- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建一个 XCTestCase
。对于其中一种测试方法,将其称为 func testConfirmLastCellContent() { ... }
,我想确认是否存在值为 的
在 staticText
子元素>"98765"UITableViewCell
中(我将文本值放在 TableView 单元格的 textLabel.text
属性中)。此单元格上方列出了 4 个表格 View 单元格。它们每个的 textLabel.text
都有一个 String
值 "12345"
,除了第二个单元格,它具有相同的文本值作为最后一个:"98765"
。
然后,每个单元格的 textLabel.text
属性的 String
值如下所示:
“12345”
“98765”
“12345”
“12345”
“98765”
这些 textLabel.text
值分别是表格 View 单元格中的唯一视觉子元素。
如果我像这样创建一个简单的XCUIElementQuery
...
let staticTextForLastCell = XCUIApplication().staticTexts["98765"]
...并像这样断言其存在为 true
...
XCTAssert(staticTextForLastCell.exists == true)
...然后测试将通过,但我怎么知道我得到了最后一个单元格?显然,我无法从该查询中得知,因为它可能是从第二个单元格中提取的。
到目前为止,我找不到一个 XCTest
类/方法来专门获取最后一个 UITableViewCell
并查询其详细信息。
我的目标是获取最后一个单元格并确认其 textLabel.text
值符合我的预期。我该怎么做?
注意:我无法在任何表格 View 单元格上添加/减去/更改文本、视觉等元素。
编辑:
我还应该注意,UITableViewCell
是由被测试的应用程序动态生成的。因此,我无法标记
它们或填充textLabel
或单元格的accessibilityIdentifier
属性。
我的设置如下:
最佳答案
您可能应该向 XCUIElementQuery
添加一个扩展
extension XCUIElementQuery {
var lastMatch : XCUIElement {return self.element(boundBy: self.count - 1)}
}
然后你可以像这样断言你的单元格:
XCTAssertEqual(app.cells.lastMatch.staticTexts.element.label,
"98765",
"Unexpected text of the last cell")
关于ios - 如何为 UITableView 中的最后一个 UITableViewCell 创建 XCUIElement 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58288533/
我正在使用 Xcode 7.2.1,并且我已经为我的代码编写了一些单元测试用例。我的代码编译并成功运行,但当我开始测试时,它失败了。 代码如下: if let params = item["param
也许我误解了查询和 xcuielements 的工作原理,但我想遍历查询的结果。 在我的应用程序中,我在应用程序的屏幕上发送了两次短信号码/收到了短信号码。我想检查两个数字是否相同。例如,以下文本显示
我有一个类型为 .Image 和类 XCUIElement 的变量。像这样: var image = app.descendantsMatchingType(.Image).elementAtInde
在我的 UI 测试中,我有这个 XCUIElement : XCUIApplication().staticTexts["提交订单"] 当我打印 debugDescription 时: po prin
在我的 UI 测试中,我使用(缩短)以编程方式创建 UIView let topMarker = UIView.init(frame: CGRect.init()) … topMarker.acces
我在 Xcode 11.1 上观察到 XCUITest 的奇怪行为。我只有一个带有两个 UITextField 的 Storyboard,两个 UITextField 都带有可访问性标识符集。我想在两
在 Swift 中使用 UITextfield 类,您可以执行如下功能: private func signIn() { if emailTextField.text?.charact
在 iOS UITests 上工作时,我发现了 XCUIElement有一个属性,identifier , 这是面对 XCUIElementAttributes .当我调试时,我发现这是一个真正的属性
iOS UITesting时,如何区分两个不同的XCUIElement? 例如,我有两个不同的 UIButton 具有相同的标签字符串“Button”。如何检查它们是否不同? XCUIElement
我的一个屏幕有多个文本字段,我可以从不同的其他屏幕登陆到这个屏幕。在每种情况下,我都会将一个或另一个文本字段作为第一响应者。我无法编写测试来确定所需的文本字段是否具有焦点。 当我在控制台中打印文本字段
背景: 我正在使用 XCode GM 在 iOS 9.0 中进行用户界面级别测试。 问题: XCode GM 中是否有一个命令可以让您看到可访问元素及其关系的“树”?类似于 Appium 中的“页面”
我有一个非常简单的 XCTestCase 实现,它测试按钮上的点击并期望出现 Alert Controller 。问题是 tap() 方法不起作用。在关联按钮的 IBAction 中放置一个断点,我意
在我的 UI 测试中,一些 XCUIElement 的 frame 属性被发现,但不是其他人。 下面使用的可访问性标识符在 Storyboard中设置,app在 setUp() 中初始化如XCUIAp
我正在尝试为我的 iOS 应用程序编写 UI 测试。出于某种原因,我无法点击我的自定义表格 View 单元格。我正在尝试这样做: let app = XCUIApplication() let sta
在 iOS、UITest 上工作时,我如何检测特定的 XCUIElement 是否已被点击? 例如, let app = XCUIApplication() let button1 = app.tab
我创建了一个辅助类 SignUpSetUp 以便登录我的应用程序而不是重复使用代码。在这个类中,我有一个私有(private)函数 waitForElementToAppear 来等待测试套件中的元素
在尝试在 Swift 中实现新的 UI 测试时,我尝试通过以下方式设置文本字段的值: app.textFields["field_name"].setValue(value, forKey: "any
这是我尝试在终端窗口中输入 po print(XCUIApplication().debugDescription) 时打印应用程序的元素结构时的示例 tables, (address code li
我一直在使用这种方法定位 XCUIElements: app.staticTexts["Full Label Text"] 但是如果我只知道标签文本的一部分怎么办?部分标签文本是动态生成的(例如“It
我想找到一个 UIView XCUIElement,但我似乎找不到它。这个 UIView 用于向用户显示某些信息,我需要能够测试它在某些情况下是否在屏幕上。我将 view.userInteractio
我是一名优秀的程序员,十分优秀!