安卓应用交互

标签 android testing

我有一个问题,不知道如何解决。我看到了一些用于 android 应用程序自动化测试的工具,比如 appium 等。他们从设备外部连接到 android 设备、模拟器并打开要测试的应用程序。我想知道如何构建一个可以实现相同功能的原生 Android 应用程序。打开另一个应用程序并开始在该应用程序的 UI 上执行不同的操作。举一个简单的例子,假设我有一个我想测试的社交应用程序。我想要另一个在手机上运行的程序,它打开我的社交应用程序并开始运行一些操作,比如在应用程序内搜索、点击不同的帖子、喜欢帖子等等。有没有办法做到这一点?是否有任何框架或方法可以做到这一点?

问候。

最佳答案

Android 有两种自动化框架。

基于仪器:

以及用于功能测试的黑盒框架:

instrumentation frameworks 的工作方式如下:由于每个 android 应用程序都在沙箱中运行,其他应用程序一旦安装就无法更改其行为,因此基于 instrumentation-based 的框架会更改应用程序的安装包,在方法中注入(inject) hooks允许他们与应用程序交互的定义。这允许绕过 Android 系统中的沙箱。

其他三个都有 UIAutomator Android 服务作为与应用程序交互的基础。 UIAutomator 是 hte Android SDK 的一部分,允许模拟真实的用户交互(例如点击、滚动等),而不是在较低的代码级别上模拟它们。

我相信列出的五个框架中的任何一个都可以让您实现您想要的。我个人推荐黑盒测试框架,因为检测可以隐藏缺陷。我最喜欢的框架是 ATMOSPHERE - 免费使用,开源,虽然最近更容易使用。

关于安卓应用交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41389131/

相关文章:

android - 如何在Flutter中创建Stream Provider

java - 这个 Android 相机设置叫什么?如何设置它?

java - 在 Android 上运行时,来自网页的 Httpget 不会返回内容

android - 移动应用程序的自签名 SSL 与 Diffie-Hellman 交换?

testing - 驱动多个相互交互的浏览器

android - MonoDroid 下载图像到 ImageView

node.js - 如何避免 jasmine 在不同环境下出现较长的相对路径(../../../)?

ruby-on-rails - 具有特征和动态变量的 Factory Girl create_list

unit-testing - 如何验证是否使用 Spock 中的一组指定元素调用了方法?

python - 测试 IRC 机器人