gpt4 book ai didi

ios - Xcode UI 测试 : staticText's label not updating as text is updated?

转载 作者:行者123 更新时间:2023-12-02 13:26:46 26 4
gpt4 key购买 nike

背景

我正在研究将基于 Appium 的自动化迁移到 Xcode UI 测试。鉴于我们的应用程序是用 Objective C 编写的,我还需要使用 Objective-C 来编写测试代码。

我正在自动化测试的应用程序有一个进度条,我想读取其值。这不是UIAProgressIndicator ,只是一个 UIAStaticText,其值从“0”增加到“100%”。

与此 staticText 对应的 XCUIElement 可以通过以下方式访问:

[[app staticTexts] elementBoundByIndex:1]

进度条将花费不同的时间 - 我需要监视进度,这将涉及读取值(当然还要解析它)。

我尝试使用各种方法获取值 - [XCUIElement value][XCUIElement label]

NSString *prog = [[[app staticTexts] elementBoundByIndex:1] label];

label 方法正在获取进度字符串,因此我在循环中执行此操作,例如

  int i=0;
while (i<5) {
//custom sleep method
[self.helper threadSleepForSeconds:[NSNumber numberWithInt:2]];
//now get progress text
NSString *prog = [[[app staticTexts] elementBoundByIndex:1] label];

i++;
}

但是,随着进度的变化,label 属性不会更新 - 它似乎一直显示读取的第一个值,就好像它被缓存在某个地方一样。

即日志输出显示(假设读取的第一个值为 19%):

19%
19%
19%
19%

我完全无法弄清楚为什么会发生这种情况。有什么帮助吗?

最佳答案

没有合成事件,因此 Xcode 不会尝试拍摄屏幕上 UI 元素的新快照。这是设计使然,以便在特定 View 中分配多个 ui 元素变量不会使您的计算机重载。

不幸的是,如果您对单元测试不满意,手动测试可能是您唯一的选择。

关于ios - Xcode UI 测试 : staticText's label not updating as text is updated?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34034991/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com