标签: robotium

Google Espresso或Robotium

我必须使用Automated UI测试工具,我对使用Robotium和Google Espresso感到困惑.

两者之间有哪些主要区别?是否存在一个但不存在的功能?

testing android robotium android-testing android-espresso

114
推荐指数
2
解决办法
2万
查看次数

Android测试原始资源

我在Android Studio中有以下文件夹结构:

??? androidTest
?   ??? java
?   ??? res
?       ??? raw
?           ??? test_file
??? main
    ??? java
    ??? res
        ??? raw
            ??? app_file
Run Code Online (Sandbox Code Playgroud)

我正在尝试访问test_fileandroidTest元素的原始文件夹中存在的资源.这是继承自以下内容的Robotium测试用例中的代码ActivityInstrumentationTestCase2:

InputStream is = this.getInstrumentation()
                 .getContext()
                 .getResources()
                 .openRawResource(R.raw.test_file);
Run Code Online (Sandbox Code Playgroud)

由于无法找到资源,Android Studio会引发参考错误.确切的错误是"无法解析符号test_file".

如何从androidTest资源包中存在的测试用例中引用此资源?

android robotium android-resources

36
推荐指数
2
解决办法
1万
查看次数

如何使用gradle android运行单个测试

我正在尝试使用此行运行测试...但是这会启动所有测试:

./gradlew -DconnectedAndroidTest.single=LandingActivityTests connectedAndroidTest
Run Code Online (Sandbox Code Playgroud)

我该如何进行单一测试?

testing android robotium android-testing

32
推荐指数
3
解决办法
8151
查看次数

如何旋转活动,我的意思是:使用Espresso更改屏幕方向?

我已经决定使用Google的Espresso进行应用程序测试的测试标准之一是:

测试应在屏幕方向旋转后保持活动状态

使用Espresso时如何旋转屏幕?


我尝试了以下Robotium代码(是的,我在我的Espresso测试中放置了Robotium代码,所以起诉我)

solo.setActivityOrientation(solo.LANDSCAPE);
solo.setActivityOrientation(solo.PORTRAIT);
Run Code Online (Sandbox Code Playgroud)

但是当我在Espresso测试中运行它时,它会崩溃应用程序.
有没有办法做到这一点?

在此先感谢您的帮助

android ui-testing robotium android-espresso

22
推荐指数
5
解决办法
7423
查看次数

如何在Android Studio中使用Robotium?

Robotium是一个Android测试自动化框架,完全支持本机和混合应用程序.

既然Android Studio是Android开发的事实上的 IDE,我有兴趣尝试使用Android Studio.但是,我找不到设置它的方法.

如何设置和使用Robotium来测试Android Studio?

android robotium android-studio

21
推荐指数
1
解决办法
2万
查看次数

Android测试项目崩溃,出现错误"测试运行失败:由于'进程崩溃导致仪表运行失败'."

我的问题似乎与此处有所不同测试运行失败:由于"进程崩溃",仪表运行失败.在测试多个Android活动时,
我遵循了pdf中给出步骤.我已经创建了测试项目"TestAndroidCalculatorBlackbox"(我们需要有两个项目一个测试和一个主项目,也许这可能是原因,因为在Robotium"入门"链接他们希望我们为记事本创建项目),
并添加罐子robotium-solo-5.0.1.jar,robotium-solo-1.6.0.jar以摆脱solo.功能和下面的红色错误行jay.way package.
我附上错误截图: 项目树和错误屏幕截图 y AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.testcalculator"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />

    <instrumentation
        android:name="android.test.InstrumentationTestRunner"
        android:targetPackage="com.testcalculator" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" android:debuggable="true">
        <uses-library android:name="android.test.runner" />
    </application>

</manifest>
Run Code Online (Sandbox Code Playgroud)

我在仪表列表中添加了包:

 c:\> adb shell pm list instrumentation
instrumentation:PACKAGE.test.test/android.test.InstrumentationTestRunner (target=PACKAGE)
instrumentation:PACKAGE.test.test.test.test.test.test/android.test.InstrumentationTestRunner (target=PACKAGE.test.test)
instrumentation:com.example.android.apis/.app.LocalSampleInstrumentation (target=com.example.android.apis)
>> instrumentation:com.testcalculator/android.test.InstrumentationTestRunner (target=com.testcalculator) <<
Run Code Online (Sandbox Code Playgroud)

automation android robotium

20
推荐指数
2
解决办法
2万
查看次数

Android和Robotium - 期望额外的测试活动?

在我看来,robotium的设计方式是一次测试1个Activity而不是整个应用程序.

所以我的问题是如何测试一个期望将额外传递给它的活动?我的意思是额外的intent.putExtra("Something", object);

android robotium android-activity

19
推荐指数
1
解决办法
3654
查看次数

使用导航抽屉的应用程序的Robotium UI测试

我们Navigation Drawersupport.v4图书馆获得了应用程序.我们自动进行UI测试Robotium并且一切正常,但Navigation Drawer可以随机冻结,因此某些测试可能会随机失败.

这绝对不是Robotium问题,因为我看到了如何Navigation Drawer在我的设备上的其他应用程序中冻结,也在我自己的应用程序中.

我已经尝试过修复Navigation Drawer此问题的答案:为什么DrawerLayout有时会在打开时出现故障?

它帮助和随机冻结从90%减少到大约10%,但10%的测试运行可能会失败,这非常糟糕,特别是对于持续集成...

可能有人已经解决了这个问题吗?

android robotium navigation-drawer

18
推荐指数
1
解决办法
2517
查看次数

Android Junit测试失败,"只有创建视图层次结构的原始线程才能触及其视图".

我是Android的新手,我正在使用Robotium编写一些基本的Android测试,但这个例外失败了

"android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views."
Run Code Online (Sandbox Code Playgroud)

以下是基本的测试用例解释: -

测试用例:-

public void testSearch() {
                        Activity a = getActivity();
            SearchItemActivity search = new SearchItemActivity(solo);
            search.searchText("ipod", a);   

    }

 SearchItemActivity.searchText(String) is defined as

    public void searchText(final String search, Activity act) {
                Button v = (Button) act
                .findViewById(com.test.mobile.R.id.text_search_field);
                ((Button) v).setText("");
                ((Button) v).setText(search);
                solo.sendKey(Solo.ENTER);
                solo.waitForActivity("FoundItemdDetailActivity");
                solo.assertCurrentActivity("Expected FoundItemDetail activity","FoundItemdDetailActivity");
    }
Run Code Online (Sandbox Code Playgroud)

任何有关如何修改我的代码的建议都将受到赞赏

android robotium

16
推荐指数
2
解决办法
5222
查看次数

什么单元测试,在Android应用程序中

我的应用程序主要是GUI,它们与服务器通信以获取大部分信息.如果出现任何问题,通常会在网络调用中或对JSON对象做出错误的假设.

单元测试不适合这些与网络相关的任务和与i/o相关的任务,否则它们不会被称为单元测试.

所以我试图在我的案例中收集单元测试的要点.为什么我会测试Android按钮是否可以单击或EditText可以看到我键入的内容?我只是不明白实现这些繁琐的测试的效用

private void initElements(){
    placeButton = (Button) findViewById(R.id.currplace);
    placeButton.setText(MainActivity.this.getString(R.string.findingLocation));
    placeButton.setEnabled(false);
    selectplaceLayout = (LinearLayout)findViewById(R.id.selectplaceLayout);
    selectplaceLayout.setVisibility(View.GONE);
    splash = (RelativeLayout)findViewById(R.id.splashbg);
    infoLayout = (LinearLayout)findViewById(R.id.infoLayout);
}
Run Code Online (Sandbox Code Playgroud)

如果以上方法通过,我的所有活动都在onCreate中运行,那么我知道应用程序有效.对此进行单元测试将是一个冗余耗时的事情.耗时,因为我不熟悉jUnit和Android测试框架中的所有方法.

所以,长话短说,重点是什么?有什么特别的方法我应该考虑这些测试吗?到目前为止,我所看到的所有示例和教程仅仅讨论了最简单的示例,为了简洁起见,但我无法想到在主要的客户端 - 服务器应用程序中进行单元测试的任何实际用途.

通过访问我已经知道并声明并初始化的android视图,我期望发现什么?我必须以过于有限的方式思考这个问题

所以,洞察力赞赏

junit android unit-testing robotium android-testing

15
推荐指数
1
解决办法
1453
查看次数