android - Robotium - 我们如何找到 Activity 中元素的确切索引

标签 android testing robotium black-box-testing

如果我们在进行黑盒测试,我会问这个问题。
我已经研究了 Robotium 几天了。我在网上自学。
我还写了一些简单的测试用例并成功运行。但是当我搜索索引元素时(例如:一个 Edittext,我必须尝试按索引形式从 0 到 x 进行索引并获取我期望的索引 ID)。
我们能不能有另一种方法来获取表单名称,我有 ID 名称(txtEd1,btnLogin ...),我们可以在白盒测试中从 R 类访问它,但在这种情况下我只询问黑盒。
那么我们能否有另一种方法通过 id 获取元素,或者我们如何获取 Activity 中元素的确切索引号。
我还使用了 DDMS 的 Hierarchy Viewer 和 SDK 工具来获取索引 ID,但它没有用。

TextView tw = (TextView) solo.getText(<index>); << how can get exact index number?

Hierarchy Viewer from DDMS Hierarchy Viewer from SDK tool

最佳答案

您可以尝试另一种方法来循环查看您的 View 并找到正确的 View 。 首先,您需要获取所有 View ,然后像下面这样对它们进行循环:

views = solo.getCurrentViews();

for (int i = 0; i < views.size(); i++) {
    if (views.get(i).getClass().getName().equals("android.widget.TextView")) { 
        tw = (TextView) views.get(i); //DO-YOUR-CHECK-BLABLABLA
    } 
}

关于android - Robotium - 我们如何找到 Activity 中元素的确切索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29360448/

相关文章:

ruby-on-rails - Ruby 教程第 9 章练习 #9 - 测试失败

python - Django testCase 中的 POST 日期值

android - 如何在 Robotium 中检查应用程序是否已完成?

android - 如何检测 Android 中的 i18N UI 问题

android - 使用 ActivityManager.RunningTaskInfo 时出错

Android 将 View 作为对象传递给 fragment

java - 无法通过 Android Studio 使用 JDBC 连接到 Cloud SQL 数据库

angularjs - 如何在注入(inject)前模拟 Angular 模块?

安卓+机器人 : is view of ViewPager visible to user

android - PageTabStrip 类未找到异常