首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用XCode自动化工具测试动态生成的UI元素

使用XCode自动化工具测试动态生成的UI元素
EN

Stack Overflow用户
提问于 2012-12-13 16:29:36
回答 1查看 1.3K关注 0票数 1

我想测试我的iOS应用程序。它包含动态生成的UI元素。我以编程方式创建所有UI元素,而不使用界面构建器。为了测试,我需要通过自动化工具访问它们。

我至少不能用logElementTree()打印它们,我也不知道如何访问动态生成的元素。

是否有任何方法可以使用脚本访问动态生成的元素?

这是我尝试记录UI元素的代码。

var target = UIATarget.localTarget();

var app = target.frontMostApp();

var window = app.mainWindow();

target.logElementTree();

我进一步尝试使用app.mainWindow().logElementTree();它也不起作用。

任何帮助都将受到高度的感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-04 13:32:27

这就是答案。我自己做的。这就是这个过程。

我们可以使用延迟(Int)方法来暂停测试脚本,因为脚本可以保持活动状态。否则,脚本将在绘制动态UI之前结束。

现在logElementTree()方法起作用了,我们可以访问UI元素了。

这就是我们访问动态生成的UI元素的方式。在我的应用程序中,首先有一个连接按钮,当它被点击时,一个带有文本框和登录按钮的UI会被动态绘制。

这是用于访问UI元素的脚本。

var target = UIATarget.localTarget();var app = target.frontMostApp();app.logElementTree();

//--选择元素窗口(“单击连接按钮”);var UIALogger.logMessage= UIATarget.localTarget().frontMostApp().mainWindow().buttons() .tap();

UIALogger.logMessage(“等待下一个UI”);target.delay( 2 );target.frontMostApp().logElementTree();UIALogger.logMessage(“输入用户名”);

UIALogger.logMessage(“等待下一个UI”);target.delay( 3 );target.frontMostApp().logElementTree();target.frontMostApp().mainWindow().scrollViews().textFields().setValue("admin");名称(“关闭键盘”);var UIALogger.logMessage= UIATarget.localTarget().frontMostApp().keyboard().buttons()"done".tap();

希望这对某些人有帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13855820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档