gpt4 book ai didi

android - 如何使用 Robotium 测试两个 Activity

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:05:21 24 4
gpt4 key购买 nike

我正在使用 Robotium 测试我的 Android 应用程序我正面临一个间歇性问题。我的应用程序以允许用户登录的 SigninActivity 开始,然后他被定向到第二个 Activity ,该 Activity 具有在向 Web 服务器发出请求后填充的列表。

第一个问题是:由于我的所有 Activity 只能在用户登录后才能访问,因此我需要从登录屏幕开始对每个 Activity 进行每个测试。所以我正在做的是针对每个 Activity 测试类,我继承自

ActivityInstrumentationTestCase2<SigninActivity>

在 setUp 方法中,我正在登录用户。这是正确的做法吗?

第二个问题:我想测试第二个 Activity 中的列表数据,该 Activity 是在向网络服务器发出请求后填充的。如上所述,在我的设置方法中,我登录用户,然后使用

solo.waitForActivity(SecondActivity.class, BIG_TIMEOUT)
solo.waitForView(ListView.class)

保证第二个 Activity 和列表存在。问题是,即使进行了这种验证,我也经常得到

junit.framework.AssertionFailedError: Can not click on line number 2 as there are only 0 lines available

最佳答案

我能够使用以下方法在我的应用程序中测试多个 Activity :

  1. 开始第一个 Activity
  2. 在 Activity 中做一些事情(例如,点击一个启动新 Activity 的按钮)
  3. 等待第二个 Activity 。
  4. 在第二个 Activity 中做一些事情(例如,输入一些输入文本然后点击另一个按钮)
  5. 等等

示例代码: public void testDisplayBlackBox() {

    //Click on add ident button
solo.clickOnButton("Tap to get another number");
if (solo.waitForActivity(IdentityTemplateActivity.class)) {
// select ident type
solo.clickOnImageButton(0);

// add name/label and create ident
if (solo.waitForActivity(NumberDetailActivity.class)) {
solo.enterText(0, "Robotium");
solo.enterText(1, "test 1");
solo.clickOnImageButton(6);
}
}

关于android - 如何使用 Robotium 测试两个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16019011/

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