标签: robotium

机器人问题

我刚开始使用机器人.演示可以毫无问题地运行,但是当我使用EditText和编写第一个测试脚本时Button,会出现问题.我的环境是android 2.1,脚本很简单,只需输入用户名和psw,然后点击sumbit按钮登录.
脚本如下:

package com.tpc.test;

import com.tpc.login.Login;
import com.jayway.android.robotium.solo.Solo;
import android.test.ActivityInstrumentationTestCase2;
import android.test.suitebuilder.annotation.Smoke;

public class LoginTest extends ActivityInstrumentationTestCase2<Login>{

    private Solo solo;

    public LoginTest() {
        super("com.tpc", Login.class);

    }

     public void setUp() throws Exception {
         solo = new Solo(getInstrumentation(), getActivity());
          }


     @Smoke
     public void testApp() throws Exception {
         String appName = solo.getCurrentActivity().getClass().getSimpleName();
         System.out.println(appName);
         solo.getButton(0).getClass().getSimpleName();
         solo.assertCurrentActivity("Expected login activity", appName); 
                 System.out.println(solo.getButton(0).getText());//can get the text of button
         solo.enterText(0, "name"); //input name to the 1st EditText is OK
         solo.enterText(1, "psw");   // Actually …
Run Code Online (Sandbox Code Playgroud)

android robotium

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

solo.finishOpenActivities()始终为null

我有一个测试类,但总能得到NullPointerExceptiontearDown(),任何人都知道这是为什么?

public class LaunchManagerActivityTest extends ActivityInstrumentationTestCase2<LaunchManagerActivity> {

    private Solo solo;

    public LaunchManagerActivityTest() {
        super(LaunchManagerActivity.class);
    }

    @Override
    protected void setUp() throws Exception {
        super.setUp();

        solo = new Solo(getInstrumentation(), getActivity());
    }

    @Override
    protected void tearDown() throws Exception {
        super.tearDown();
        solo.finishOpenedActivities();
    }

    public void testOne() {

    }

    public void testTwo() {

    }
Run Code Online (Sandbox Code Playgroud)

java testing android robotium

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

Hierarachy查看器不在谷歌LG nexus 4工作?

我试图使用谷歌nexus 4打开网络应用程序的层次结构查看器.但它没有奏效.然后,我正在搜索有关此问题的一些表单和网站,但有根据设备的方式告诉如果root设备可能无效保修.有没有办法打开层次结构.我看到一个关于层次结构的网站,但提到保修无效,我们可以撤销保修.在这里我的担忧是正确的吗?我们可以取消保修吗?

链接是:http://android.sc/how-to-root-google-nexus-4/

android robotium calabash

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

风味和仪器测试 - gradle 配置

我在我的项目中使用口味,并且我想添加特定于每种口味的仪器测试。

所以我创建了

MyApplication/src/androidTestFlavor1/java/com.package.test
MyApplication/src/androidTestFlavor2/java/com.package.test
Run Code Online (Sandbox Code Playgroud)

但它无法正常工作。

所以,我尝试在 build.gradle 中配置它,我添加了

android {
    ...

    sourceSets {
        flavor1{
            instrumentTest.setRoot('src/instrumentationTestFlavor/java')
        }
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

错误:(59, 0) 在源集 ding 上找不到属性“instrumentTest”。

这里最好的解决方案是什么?

android robotium build.gradle android-instrumentation

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

CircleCI Build中的自动化测试失败,但有异常

Circle Ci Android Test模拟器脚本始终失败

项目中使用的circle.yml文件.

#
#Build configuration for Circle CI
#

general:
artifacts:
    - /home/ubuntu/TestApp/app/build/outputs/apk/

machine:
environment:
    ANDROID_HOME: /usr/local/android-sdk-linux
dependencies:
override:
    - echo y | android update sdk --no-ui --all --filter tools,platform-tools,build-tools-21.1.2,android-21,extra-google-m2repository,extra-google-google_play_services,extra-android-support
     - ANDROID_HOME=/usr/local/android-sdk-linux ./gradlew dependencies


test:
 override:
    - (./gradlew assemble):
        timeout: 360



test:
 override:
# start the emulator
- emulator -avd circleci-android21 -no-audio -no-window:
    background: true
    parallel: true
# wait for it to have booted
- circle-android wait-for-boot
# run tests  against the emulator.
- ./gradlew …
Run Code Online (Sandbox Code Playgroud)

android automated-tests robotium circleci android-studio

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

java.lang.NoClassDefFoundError:android/test/ActivityInstrumentationTestCase2

我创建了测试项目...我在(运行时配置类路径 - >用户条目 - > junit.jar中更新了junit.jar

当我运行代码时,我正在低于错误...

java.lang.NoClassDefFoundError: android/test/ActivityInstrumentationTestCase2
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$000(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:693)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:429)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.ClassNotFoundException: android.test.ActivityInstrumentationTestCase2
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    ... …
Run Code Online (Sandbox Code Playgroud)

android robotium

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

如何使用Robotium单击微调器中的第一个项目?

我在旋转器中向上滚动以选择Robotium测试用例中的第一项时遇到问题.这是我的代码:

int pos = solo.getCurrentSpinners().get(0).getSelectedItemPosition();
solo.pressSpinnerItem(0, 0 - pos);
Run Code Online (Sandbox Code Playgroud)

当我调试时pos是1,但Robotium仍然在索引1上按下微调器,即使我命令它按-1.我究竟做错了什么?

谢谢马库斯

android spinner robotium

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

Android:Robotium:Tab只需点击图标

我有标签布局.这只有图标而不是text.I尝试使用clickOnImageButton和ClickOnButton clickOnImage并按下OnMenuItem(R.drwable.icon)但没有工作.我怎么能用独奏?注意:图像视图位于选项卡顶部.(选项卡位于底部)

testing android robotium

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

Robotium与adb壳猴的速度

跑步Robotium很慢.

adb shell monkey ...
Run Code Online (Sandbox Code Playgroud)

运行速度非常快,GUI只是在屏幕上闪烁.因为我是新手,Robotium我想知道这是否正常?

android robotium

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

Espresso如何在不使用R.id.viewid的情况下访问视图,就像我们在robotium中一样?

我正在从机器人切换到浓缩咖啡,我正在使用apk编写测试,我无法访问代码.在使用solo.getView("view-id")的robotium中,我们可以访问视图,但我不知道如何在浓缩咖啡中进行操作?espresso witId()方法需要R.id.viewid,我无权访问.

public class AaEspressoTest {

private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME = "com.tri.re.CordActivity";
private static Class<?> launcherActivityClass;

static {
    try {
        launcherActivityClass = Class.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);
    } catch (ClassNotFoundException e) {
        throw new RuntimeException(e);
    }
}

@Rule
public ActivityTestRule<?> mActivityRule = new ActivityTestRule(launcherActivityClass);


@Test public void testHello() throws Exception{

    onView(withText("Browse older recordings")).perform(click());

   //Id is not accessible shows red
    onView(withId(R.id.button)).perform(click());

}

}
Run Code Online (Sandbox Code Playgroud)

android junit4 robotium android-testing android-espresso

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