问题标签 [ios-ui-automation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1990 浏览

iphone - 为什么 UIAutomation 看不到我视图中的按钮?

我能够看到视图,但无法看到/点击其中的按钮。该按钮的可访问性标签为 UIA_loginview_loginbutton 并启用了可访问性。为什么它没有显示在 logElementTree() 上?

日志元素树://显示我的视图,但不显示其中的按钮

4) UIAElement [name:UIA_loginview_view value:(null) NSRect: {{0, 20}, {320, 460}}]

0 投票
4 回答
3269 浏览

iphone - 如何改进 iPhone UI 自动化?

为了找到 UI 自动化问题的解决方案,我进行了很多谷歌搜索。我发现一篇很好地总结了这些问题的帖子:

无法从命令行运行测试。(...)

无法设置或重置状态。(...)

前一个问题的一部分是 UI 自动化没有离散测试的概念。(...)

无法以编程方式检索测试运行的结果。(...)

来源:https ://content.pivotal.io/blog/iphone-ui-automation-tests-a-decent-start

问题编号 3 可以用茉莉花解决(https://github.com/pivotal/jasmine-iphone

其他问题呢?自该帖子(2010 年 7 月 20 日)以来是否有任何改进?

还有一个问题:选择特定 UI 元素的唯一现有方法是否真的是在应用程序源代码中添加可访问性标签?

0 投票
2 回答
776 浏览

iphone - iPhone UI 自动化

嗨,使用新的 UIAutomation API 可以自动化应用程序中的 UI,我的问题是它是否也可以用于内置应用程序,或者更准确地说,可以使用 UIAutomation API 完成/结束语音通话或发送短信

0 投票
1 回答
1359 浏览

javascript - 在目标设备上读取 UIAutomation 的 UIAApplication.setPreferencesValueForKey() 设置的首选项?

在过去的几天里,我一直在使用 Apple 的 UIAutomation 框架,试图组合一套验收测试来推动我正在开发的应用程序的开发(以 BDD 类型的方式......)。

我遇到的一件事是如何让 SUT 进入给定状态,这样如果我需要设置一些内部状态来实现它,我就可以开始测试。问题是 Apple 的 Javascript 环境除了通过它的 UI 之外没有提供任何我可以用来与设备通信的功能(我确信这可能是设计使然,但有时这是不切实际的):而像iCukeFrank这样的解决方案可以使用 HTTP 与嵌入在目标应用程序中的侦听服务器进行通信以进行此类通信,但在 Instrument 的 UIAutomation 环境中无法执行此类操作。

查看提供的 API,我注意到 UIAApplication 类中有一个函数允许我在目标设备上设置首选项值(有关更多详细信息,请参见此处):我想到我可以在设备上安装一些代码可以使用 KVO 来寻找给定首选项键的机会,然后我可以使用它作为与目标应用程序中一些特殊的特定于测试的帮助代码进行通信的手段(在首选项的值更改时做出反应)。

我开始四处寻找是否可以完成这项工作,但遇到了一堵砖墙,因为我找不到从目标应用程序中访问 UIAutomation 设置的首选项的方法。问题是首选项似乎是在主机域级别设置的(即它们是在文件中设置的/Library/Preferences/com.mycompany.MyApp),而不是在/Library特定于我的应用程序的沙盒文件夹中。

我确定我设置的首选项正在影响设备 - 我可以看到上述文件中的值发生变化,但我找不到使用 NSUserDefaults 访问这些值的方法。

谁能阐明我应该如何访问存储在 iOS 设备上的此级别(NSLocalDomain ...)的首选项?

注意:我意识到这完全是一种黑客攻击,但不幸的是,Apple 现在提供的环境似乎远远达不到标准,所以我正在尽我最大的努力填补空白,以代替 Apple 的进一步更新。如果您在网络上搜索,您会发现其他人也有非常相似的经历,并试图以类似的方式解决当前的缺陷。

更新:根据这个线程,这可能是一个错误。虽然我无法确定这一点..

0 投票
1 回答
5110 浏览

ios - 如何以编程方式模拟滑动手势?

我目前正在尝试使用frank(以及UISpec)为我们的新 iOS 应用程序编写一些验收测试。虽然框架支持触摸作为与视图交互的基本方式,但它目前不支持更多涉及的手势(例如,捏合、滑动等)。我至少需要添加对滑动的支持,因为这是我们应用程序功能的核心,如果没有它,我们的测试将毫无用处。

如果我能找到一种方法来模拟 Cocoa 中的事件,那么实现它应该相当简单。如果您使用 Apple 的 UIAutomation 框架(请参见此处),则可以发送滑动手势,因此有一个在外部生成这些事件的示例。我在网上四处搜索,但没有找到任何人这样做的例子(尽管之前有人要求类似的东西......)。

非常感谢您的帮助/想法...

0 投票
2 回答
849 浏览

iphone - 如何访问 UI 自动化 (iPhone) 中第二页的元素?

我的应用程序有一个主屏幕,我有一个按钮可以转到登录屏幕。按下登录按钮后,它会进入第二个屏幕,即登录屏幕。在登录屏幕中,我有一个提交按钮,它位于表格视图中。我想点击这个提交。我应该使用什么方法。或者更准确地说,在同一个 java 脚本中热访问第二个 scree 的元素。

0 投票
2 回答
3920 浏览

iphone - UI自动化:-如何使用不是主屏幕(iPhone)的屏幕的javascript单击按钮?

想通过javascript单击一个按钮以进行测试。我可以单击第一页上的按钮,但不知道如何单击第二页上的按钮,该按钮在单击第一页上的按钮后出现。

0 投票
0 回答
484 浏览

javascript - 在自动化仪器 Ipad 中运行脚本时出现解析错误

我正在尝试在 Ipad 上使用自动化仪器。但是我的javascript不断收到以下错误:运行脚本时引发异常:SyntaxError:解析错误

如果有人可以帮助我解决这个问题,那将非常有帮助。

提前致谢

0 投票
1 回答
1834 浏览

javascript - 在 Xcode UIAutomation 和 Instruments 中使用 Javascript 验证按钮对象的存在

为了在 iOS 4.2 上对我们的项目进行质量测试,我们正在通过 Xcode 3.x 中的 Instruments 使用 UIAutomation。我们正在用 Javascript 编写脚本。我是 Javascript 新手,并且发现 UIAutomation 文档是(我应该怎么写?),“稀疏”。

我希望以太中的一些天才能够启发我如何验证在我们的 iOS 应用程序的主窗口上显示一个名为“哔声”的按钮是否存在?

还有没有人发现在 JavaScript 中编写测试脚本(而不是动态网页)的任何好的参考?

感谢您的任何帮助!

问候,

史蒂夫奥沙利文

0 投票
1 回答
934 浏览

iphone - UI 自动化:在滚动视图中滚动时调用哪些委托方法

我是 iOS4 引入的 UIAutomation 的新手。我正在编写一个需要在滚动视图中滚动的测试。

所以UIAScrollView有以下方法:

  • 向上滑动
  • 向下滚动
  • 向左滚动
  • 向右滚动
  • scrollToElementWithName
  • scrollToElementWithPredicate
  • scrollToElementWithValueForKey

我想知道UIScrollView在我的脚本中使用这些函数时,应用程序中调用了哪些委托方法。