Git Product home page Git Product logo

robotium's Introduction

Robotium

User scenario testing for Android

Robotium is an Android test automation framework that has full support for native and hybrid applications. Robotium makes it easy to write powerful and robust automatic black-box UI tests for Android applications. With the support of Robotium, test case developers can write function, system and user acceptance test scenarios, spanning multiple Android activities.

See Questions & Answers for common Robotium questions and answers.

See Getting Started for instructions and examples on how to create your first Robotium tests.

Join the discussions in the Robotium Developers Group.


NEWS: Robotium 5.6.3 is released!

Robotium 5.6.3 is the fastest, most accurate and stable version of Robotium yet.

New functionality includes: clickInRecyclerView(int itemIndex, int recyclerViewIndex, int id) and Config.sleepDuration, Config.sleepMiniDuration (to adjust the execution speed, lower means faster) and more. See the Javadoc for more information.


Robotium provides the following benefits:

  • Test Android apps, both native and hybrid.
  • Requires minimal knowledge of the application under test.
  • The framework handles multiple Android activities automatically.
  • Minimal time needed to write solid test cases.
  • Readability of test cases is greatly improved, compared to standard instrumentation tests.
  • Test cases are more robust due to the run-time binding to UI components.
  • Fast test case execution.
  • Integrates smoothly with Maven, Gradle or Ant to run tests as part of continuous integration.

Robotium Recorder

  • Check out Robotium Recorder that will allow you to record Robotium test cases in minutes. Now also available for Android Studio!

robotium's People

Contributors

albintheander avatar andersjanmyr avatar arai-wa avatar aried3r avatar atermenji avatar billy-jana avatar brianll avatar ekajjake avatar gw111zz avatar hamiltont avatar hidekuro avatar hugojosefson avatar hypest avatar japgolly avatar krzysiekfonal avatar louth avatar menny avatar mosabua avatar naveedsaleem001 avatar neoalienson avatar orrc avatar pererikbergman avatar rcuhljr avatar renas avatar ricardomomm avatar sascanagl avatar simudvarac avatar skart1 avatar thorikawa avatar timotheejeannin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

robotium's Issues

Call from your application

From [email protected] on November 25, 2010 01:16:45

What steps will reproduce the problem? 1.What is the expected output? What do you see instead?
I am trying to call one number from my application but it is not happening

  1. What version of the product are you using? On what operating system?
    robotium-solo-1.9.0.jar and XP

  2. Please provide any additional information below.
    I am including the sample over here

    solo.clickOnText("George");
    solo.sendKey(solo.CALL);
    solo.sleep(5000);
    solo.sendKey(solo.ENDCALL);

I am trying to call the George number from my application. Please let me know is this the correct way to do testing for calling numbers? Please provide any additional information below.

Original issue: http://code.google.com/p/robotium/issues/detail?id=35

ClickOnMenuItem SubMenu Scroll

From [email protected] on December 17, 2010 05:36:45

What steps will reproduce the problem? 1. Have so many Menu Options in your Activity, so that the SubMenu can be scrolled
2. Have a Menu Option "ABC" that is the last MenuOption to be added to the Menu
3. Call the function ClickonMenuItem("ABC", true)

What is the expected output?
The Option "ABC" will be clicked

What do you see instead?
junit.framework.AssertionFailedError: The text: ABC is not found! What version of the product are you using? On what operating system? Robotium 2.0 Please provide any additional information below. If the Menu Option "ABC" is in the SubMenu at a position that can only be reached by scrolling, Robotium will not click it

Original issue: http://code.google.com/p/robotium/issues/detail?id=46

Multidevice support

From [email protected] on November 29, 2010 23:16:15

What steps will reproduce the problem? 1. What is the expected output? What do you see instead?
This is not an issue required some more information on multidevice support. I read in site saying that down the line Robotium will support Multidevice feature. It means is there any limitations on device I mean only for specific devices it will work?

  1. What version of the product are you using? On what operating system?
    robotium-solo-1.9.0.jar and XP

Original issue: http://code.google.com/p/robotium/issues/detail?id=39

enterText method works incorrect

From [email protected] on September 24, 2010 01:56:08

What steps will reproduce the problem? solo.clearEditText(0);
solo.enterText(0, "Something"); What is the expected output? What do you see instead? In EditText should be typed "Something" text. But I see "SOmething" insted What version of the product are you using? On what operating system? robotium-1.7.1
Ubuntu 10.4
JUnit4
Eclipse 3.5.2
ADT 0.9.8 Please provide any additional information below.

Original issue: http://code.google.com/p/robotium/issues/detail?id=16

getCurrentCheckBoxes.get(0).getCount() is giving the wrong data.

From [email protected] on December 06, 2010 06:18:13

What steps will reproduce the problem? 1.Launch the activity with checkboxes.
2.get the count of checkboxes.
3.My activity has 4 checkboxes but the last one is hided,to see it you need to scroll. What is the expected output? What do you see instead? Expected:it is getting me countas 3 checkboxes.

Actual: it should return 4 checkboxes. What version of the product are you using? On what operating system? Android2.2 with robotium 1.9.0 Please provide any additional information below.

Original issue: http://code.google.com/p/robotium/issues/detail?id=42

is it possible to search a string with more than 2 pages .

From [email protected] on October 12, 2010 20:55:48

What steps will reproduce the problem? 1.Have some user info string with more than 2 pages in your application .

sample code :
boolean actual=solo.searchText(getActivity().getResources().getString(R.string.id)); What is the expected output? What do you see instead? I am getting the result actual as false. is it right way to search a string.is there any other ways. What version of the product are you using? On what operating system? Robotium1.7 Please provide any additional information below.

Original issue: http://code.google.com/p/robotium/issues/detail?id=19

Will robotium support new version of Android 2.3 or later

From [email protected] on November 16, 2010 21:53:04

What steps will reproduce the problem? 1. 2. 3. What is the expected output? What do you see instead? --We started working with robotium 0.9 to test Android 2.2 applications.

--Will robotium 0.9 support new version of Android 2.3 or later

-- If its not support, what is the alternative ? What version of the product are you using? On what operating system? --Now we are using robotium 0.9 with Android 2.2 on widows XP Please provide any additional information below. -- Please send the versions compatibility of Android with robotium.

Original issue: http://code.google.com/p/robotium/issues/detail?id=29

Need Long press option for buttons ,image buttons

From [email protected] on October 22, 2010 03:21:40

What steps will reproduce the problem? Long press on image button on dialer dialpad number buttons .. It will b speed dial option .. What is the expected output? What do you see instead? Please provide your suggestion if there is any other possibility to do long press using solo. What version of the product are you using? On what operating system? robotium 1.8 Please provide any additional information below.

Original issue: http://code.google.com/p/robotium/issues/detail?id=24

Injecting to another application requires INJECT_EVENT permission

From [email protected] on February 21, 2010 23:31:57

I get this error when running the test in the example:

java.lang.SecurityException: Injecting to another application requires
INJECT_EVENT permission
at android.os.Parcel.readException(Parcel.java:1218)
at android.os.Parcel.readException(Parcel.java:1206)
at
android.view.IWindowManager$Stub$Proxy.injectKeyEvent(IWindowManager.java:8
05)
at android.app.Instrumentation.sendKeySync(Instrumentation.java:859)
at android.app.Instrumentation.sendKeyDownUpSync(Instrumentation.java:871)
at com.jayway.android.robotium.solo.Solo.pressMenuItem(Solo.java:556)
at com.jayway.test.NotePadTest.testAddNote(NotePadTest.java:38)
at java.lang.reflect.Method.invokeNative(Native Method)
at
android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java
:205)
at
android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:1
95)
at
android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentati
onTestCase2.java:175)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at
android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.ja
va:430)
at
android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:
1447)

I tried adding the permission to the manifest file, but that did not help.

Original issue: http://code.google.com/p/robotium/issues/detail?id=1

Spinner problem

From [email protected] on November 17, 2010 02:53:51

  1. What steps will reproduce the problem?
    When we have the combination of Spinners and EditText fields test case is not working.
  2. What is the expected output? What do you see instead?
    It should run without any problems
  3. What version of the product are you using? On what operating system?
    robotium 0.9 and XP Please provide any additional information below. We have an activity where first we have 4 spinners and next some edit text fields when we ran the test case it is executing fine.
    But we have one more activity where we have 8 edit text fields followed by 4 spinners but this is not working as expected.

Original issue: http://code.google.com/p/robotium/issues/detail?id=31

Java Machine crashes when i try to call Robotium class from another class

From [email protected] on December 09, 2010 23:51:25

What steps will reproduce the problem? 1.Do a Robotium Class Instance for testing a program
2.Make another class in which to call an object of RobotiumTest class

What is the expected output?
It all works fine
What do you see instead?
Java crashes with the attached java generated report. What version of the product are you using? On what operating system? Robotium 1.9.0 on Windows Xpx86 with java jdk 6 update 22 Please provide any additional information below.

Attachment: hs_err_pid3820.log hs_err_pid4428.log hs_err_pid5100.log

Original issue: http://code.google.com/p/robotium/issues/detail?id=44

Solo.clickOnMenuItem(String) closes menu if already open

From [email protected] on September 25, 2010 07:44:35

What steps will reproduce the problem? 1. Test an application which automatically opens its own menu on startup, or issue the command solo.sendKeys(Solo.MENU) manually.
2. solo.clickOnMenuItem("Add"); 3. What is the expected output? What do you see instead? Solo should recognize that the menu is already open (is that possible?!), and not start by closing it.

What it does now, is to blindly click MENU before looking for a match to the regex, thereby closing an already open menu and never finding the regex match.

The solution to this should not be to look for a match first, but to actually figure out whether the menu is already open.

Original issue: http://code.google.com/p/robotium/issues/detail?id=17

Cannot click on Nexus One

From burcujdogan on December 02, 2010 23:40:23

What steps will reproduce the problem? 1.Added

to my AndroidManifest.xml as suggested in a click problem.
2. solo.waitForActivity("MyActivity", 20000);
solo.assertCurrentActivity("", MyActivity.class);
solo.sleep(100);
solo.clickOnMenuItem("Menu item", false);
3. Application loads, MyActivity launches, menu opens and "Menu item" appears. What is the expected output? What do you see instead? Actual result: Menu item is being selected but not clicked
Expected result: Menu item should be clicked and a new activity will be launched What version of the product are you using? On what operating system? Testing 1.9.0 on Nexus One running Froyo (2.2.1) Please provide any additional information below. None of the click methods are working and they dont throw an exception.

I'm attaching you the screen shot that illustrates the selected but not clicked menu button.

Attachment: n1.png

Original issue: http://code.google.com/p/robotium/issues/detail?id=40

instanceof instead of class name comparison

From [email protected] on March 09, 2010 06:37:20

What steps will reproduce the problem? 1. Extend a base class such as EditText:

public class MyEditText extends EditText {
...
}

  1. Use this class as an EditText view.
  2. call solo.getCurrentEditTexts() in a test (or related methods).

What is the expected output?
A list of MyEditText views.

What do you see instead?
A null list. What version of the product are you using? On what operating system? 1.3.1 on mac os x / eclipse / android latest Please provide any additional information below. This is the result of the following check in ViewFetcher.java:

public ArrayList<TextView> getCurrentTextViews(View parent) {

... cut ..
if (view.getClass().getName().equals("android.widget.TextView")) {
textViewList.add((TextView) view);
}
... cut ..
}

This only allows classes with that specific class name, not classes that extend it. Instead, it would be better to use the runtime "instaceof"
comparison :

public ArrayList<TextView> getCurrentTextViews(View parent) {

... cut ..
if (view.getClass().isInstance(android.widget.TextView.class)) {
textViewList.add((TextView) view);
}
... cut ..
}

The same applies to the other methods that look for buttons, GridViews, etc.

Original issue: http://code.google.com/p/robotium/issues/detail?id=2

Add functionality to click on menu item text when number of menu items is more than six

From [email protected] on October 15, 2010 14:48:06

This is feature request, I have written this in my test code as following, would be nice to have this method in Solo.

protected void selectMenuOption(String menuOption)
{
this.solo.sendKey(Solo.MENU);
// if menu item exists then click on it else click on menu
if (this.solo.searchText(menuOption, 0, false))
{
this.solo.clickOnText(menuOption, 0, false);
}
else
{
this.solo.clickOnText("More", 0, false);
this.solo.waitForText(menuOption);
this.solo.clickOnText(menuOption, 0, false);
}
}

Original issue: http://code.google.com/p/robotium/issues/detail?id=20

Maven is not packaging Robotium.jar into apk for testing???

From [email protected] on August 01, 2010 13:58:48

What steps will reproduce the problem? 1. Setup mavenized main project as per maven-android-eclipse docs.
2. Setup mavenized test project as per maven-android-eclipse docs.
3. Setup Robotium dependency on test project. What is the expected output? What do you see instead? I expect a Junit runner result - not an exception of a missing class.
Seems like the apk doesn't have the source packed in for some reason.
This is despite having 0 compile time issues. What version of the product are you using? On what operating system? mvn -version
Apache Maven 2.2.1 ( r801777 ; 2009-08-06 15:16:01-0400)
Java version: 1.6.0_20
Java home: /usr/java/jdk1.6.0_20/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux" version: "2.6.18-194.8.1.el5" arch: "amd64" Family: "unix" Please provide any additional information below. DDMS Output

08-01 17:48:36.505: ERROR/dalvikvm(406): Could not find class 'com.jayway.android.robotium.solo.Solo', referenced from method com.overlord.test.NotificationTest.setUp
08-01 17:48:36.505: WARN/dalvikvm(406): VFY: unable to resolve new-instance 16 (Lcom/jayway/android/robotium/solo/Solo;) in Lcom/overlord/test/NotificationTest;
08-01 17:48:36.505: WARN/dalvikvm(406): VFY: rejecting opcode 0x22 at 0x0000
08-01 17:48:36.505: WARN/dalvikvm(406): VFY: rejected Lcom/overlord/test/NotificationTest;.setUp ()V
08-01 17:48:36.505: WARN/dalvikvm(406): Verifier rejected class Lcom/overlord/test/NotificationTest;
08-01 17:48:36.505: DEBUG/AndroidRuntime(406): Shutting down VM
08-01 17:48:36.505: WARN/dalvikvm(406): threadid=3: thread exiting with uncaught exception (group=0x4001aa28)
08-01 17:48:36.505: ERROR/AndroidRuntime(406): Uncaught handler: thread main exiting due to uncaught exception
08-01 17:48:36.515: ERROR/AndroidRuntime(406): java.lang.VerifyError: com.overlord.test.NotificationTest
08-01 17:48:36.515: ERROR/AndroidRuntime(406): at java.lang.Class.getDeclaredConstructors(Native Method)
08-01 17:48:36.515: ERROR/AndroidRuntime(406): at java.lang.Class.getConstructor(Class.java:484)
08-01 17:48:36.515: ERROR/AndroidRuntime(406): at junit.framework.TestSuite.getTestConstructor(TestSuite.java:177)
08-01 17:48:36.515: ERROR/AndroidRuntime(406): at junit.framework.TestSuite.(TestSuite.java:59)
08-01 17:48:36.515: ERROR/AndroidRuntime(406): at junit.runner.BaseTestRunner.getTest(BaseTestRunner.java:103)
08-01 17:48:36.515: ERROR/AndroidRuntime(406): at android.test.AndroidTestRunner.getTest(AndroidTestRunner.java:124)
08-01 17:48:36.515: ERROR/AndroidRuntime(406): at android.test.AndroidTestRunner.setTestClassName(AndroidTestRunner.java:52)
08-01 17:48:36.515: ERROR/AndroidRuntime(406): at android.test.suitebuilder.TestSuiteBuilder.addTestClassByName(TestSuiteBuilder.java:81)
08-01 17:48:36.515: ERROR/AndroidRuntime(406): at android.test.InstrumentationTestRunner.parseTestClass(InstrumentationTestRunner.java:375)
08-01 17:48:36.515: ERROR/AndroidRuntime(406): at android.test.InstrumentationTestRunner.parseTestClasses(InstrumentationTestRunner.java:357)
08-01 17:48:36.515: ERROR/AndroidRuntime(406): at android.test.InstrumentationTestRunner.onCreate(InstrumentationTestRunner.java:325)
08-01 17:48:36.515: ERROR/AndroidRuntime(406): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3848)
08-01 17:48:36.515: ERROR/AndroidRuntime(406): at android.app.ActivityThread.access$2800(ActivityThread.java:116)
08-01 17:48:36.515: ERROR/AndroidRuntime(406): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1831)
08-01 17:48:36.515: ERROR/AndroidRuntime(406): at android.os.Handler.dispatchMessage(Handler.java:99)
08-01 17:48:36.515: ERROR/AndroidRuntime(406): at android.os.Looper.loop(Looper.java:123)
08-01 17:48:36.515: ERROR/AndroidRuntime(406): at android.app.ActivityThread.main(ActivityThread.java:4203)
08-01 17:48:36.515: ERROR/AndroidRuntime(406): at java.lang.reflect.Method.invokeNative(Native Method)
08-01 17:48:36.515: ERROR/AndroidRuntime(406): at java.lang.reflect.Method.invoke(Method.java:521)
08-01 17:48:36.515: ERROR/AndroidRuntime(406): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
08-01 17:48:36.515: ERROR/AndroidRuntime(406): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
08-01 17:48:36.515: ERROR/AndroidRuntime(406): at dalvik.system.NativeStart.main(Native Method)
08-01 17:48:36.525: INFO/Process(52): Sending signal. PID: 406 SIG: 3
08-01 17:48:36.525: WARN/ActivityManager(52): Error in app com.overlord running instrumentation ComponentInfo{com.overlord.test/android.test.InstrumentationTestRunner}:
08-01 17:48:36.525: WARN/ActivityManager(52): com.overlord.test.NotificationTest
08-01 17:48:36.525: WARN/ActivityManager(52): java.lang.VerifyError: com.overlord.test.NotificationTest

Eclipse - Run Android JUnit Test output

Process crash is using the APK style test initialization,
Test run fail is using the standard test initialization.

[2010-08-01 13:48:28 - Overlordtest] Launching instrumentation android.test.InstrumentationTestRunner on device emulator-5554
[2010-08-01 13:48:30 - Overlordtest] Collecting test information
[2010-08-01 13:48:33 - Overlordtest] Test run failed: Process crashed.
[2010-08-01 13:48:37 - Overlordtest] ------------------------------
[2010-08-01 13:48:37 - Overlordtest] Android Launch!
[2010-08-01 13:48:37 - Overlordtest] adb is running normally.
[2010-08-01 13:48:37 - Overlordtest] Performing android.test.InstrumentationTestRunner JUnit launch
[2010-08-01 13:48:37 - Overlordtest] Automatic Target Mode: using existing emulator 'emulator-5554' running compatible AVD 'googleapi4'
[2010-08-01 13:48:39 - Overlordtest] Application already deployed. No need to reinstall.
[2010-08-01 13:48:39 - Overlordtest] Project dependency found, installing: Overlord
[2010-08-01 13:48:40 - Overlord] Application already deployed. No need to reinstall.
[2010-08-01 13:48:40 - Overlordtest] Launching instrumentation android.test.InstrumentationTestRunner on device emulator-5554
[2010-08-01 13:48:42 - Overlordtest] Collecting test information
[2010-08-01 13:48:44 - Overlordtest] Test run failed: com.overlord.test.NotificationTest

Primary POM.

\<artifactId>overlord</artifactId>
\<packaging>apk</packaging>
\<name>Overlord</name>
\<version>0.0.1-SNAPSHOT</version>

\<dependencies>
    \<dependency>
        \<groupId>android</groupId>
        \<artifactId>android</artifactId>
        \<version>2.1_r2</version>
        \<scope>provided</scope>
    \</dependency>
    \<dependency>
        \<groupId>com.google.android.maps</groupId>
        \<artifactId>maps</artifactId>
        \<version>7_r1</version>
        \<scope>provided</scope>
    \</dependency>
    \<dependency>
        \<groupId>junit</groupId>
        \<artifactId>junit</artifactId>
        \<version>4.8.1</version>
    \</dependency>
\</dependencies>

\<build>
    \<sourceDirectory>src</...

Original issue: http://code.google.com/p/robotium/issues/detail?id=13

Scroller.drag incorrect fromX/fromY/toX/toY usage

From [email protected] on June 12, 2010 09:50:21

I know the code for drag() is taken from TouchUtils, but it's probably easier to fix it here. Notice how the x and y used for the motion event are "fromX, y" rather than "fromX,fromY" or "toX,toY".

Current code: http://github.com/jayway/robotium/blob/master/robotium-solo/src/main/java/com/jayway/android/robotium/solo/Scroller.java#L67 http://github.com/jayway/robotium/blob/master/robotium-solo/src/main/java/com/jayway/android/robotium/solo/Scroller.java#L86 public void drag(float fromX, float toX, float fromY, float toY,
int stepCount) {
...
eventTime,MotionEvent.ACTION_DOWN, fromX, y, 0);
...
event = MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_UP,fromX, y, 0);
}

Correct code:
eventTime,MotionEvent.ACTION_DOWN, fromX, fromY, 0);
...
event = MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_UP,toX, toY, 0);

Original issue: http://code.google.com/p/robotium/issues/detail?id=9

selenium + robotium

From [email protected] on November 23, 2010 23:18:49

What steps will reproduce the problem? 1.What is the expected output? What do you see instead?
This not an issue need some information. Shall we add robotium inside selenium I mean Shall we control robotium through selenium tool?

  1. What version of the product are you using? On what operating system?
    robotium-solo.1.9.0 and XP

Original issue: http://code.google.com/p/robotium/issues/detail?id=33

Sub-menu not displayed when clicking menu item

From [email protected] on August 04, 2010 06:27:08

What steps will reproduce the problem? 1. solo.sendKey(Solo.MENU);
2. solo.clickOnText("Channels");
3. assertTrue(solo.searchText("Pick a channel")); What is the expected output? What do you see instead? Sub-menu should be displayed. Assertion should pass. What version of the product are you using? On what operating system? 1.6.0 on Windows XP

Original issue: http://code.google.com/p/robotium/issues/detail?id=14

Problem with two test cases

From [email protected] on November 17, 2010 02:43:26

  1. What steps will reproduce the problem?
    When we run two test methods inside the class first one is working fine but second one is failing with some errors. If you run these two methods separately working fine without having any problems.
  2. What is the expected output? What do you see instead?
    both methods has to work without having any problems
  3. What version of the product are you using? On what operating system?
    robotium 0.9 and XP Please provide any additional information below. could you please provide me what might be the problem of this?

Original issue: http://code.google.com/p/robotium/issues/detail?id=30

Robotium's all-purpose ActivityMonitor breaks non-Robotium tests

From [email protected] on December 17, 2010 09:27:25

What steps will reproduce the problem? 1. create a Robotium test
2. create a non-Robotium ActivityInstrumentationTestCase2
3. create an ActivityMonitor
4. make sure that the Robotium test is executed first What is the expected output? What do you see instead? both tests should pass. The test from 2 instead fails What version of the product are you using? On what operating system? Robotium 2.0.2 Please provide any additional information below. The cause of the problem is how Robotium monitors activity launches, namely by adding a single, greedy ActivityMonitor that matches any Activity starts, regardless their type. The offening code is:

private void setupActivityMonitor() {

    try {
        IntentFilter filter = null;
        activityMonitor = inst.addMonitor(filter, null, false);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

the IntentFilter is null, and hence, matches anything. Any custom ActivityMonitor that will be added after this one will never fire, since this one catches everything already. Hence, any non-Robotium test using ActivityMonitors will fail.

Original issue: http://code.google.com/p/robotium/issues/detail?id=47

Whether we can use clickOnText(), waitForText(), searchForText() on ExpandableListView?

From [email protected] on November 24, 2010 23:56:54

What steps will reproduce the problem? 1.My apps has ExpandableListView, when i try to use waitforText, clickonText,ClickonList every thing gives me error. 2. 3. What is the expected output? What do you see instead? What version of the product are you using? On what operating system? Robatium 1.8 on Android 2.2 Please provide any additional information below.

Attachment: Exception.txt

Original issue: http://code.google.com/p/robotium/issues/detail?id=34

help~ My apk has two activity when it starts. but when it starts B activity,the Process has died. 选项

From [email protected] on December 21, 2010 23:06:01

My apk has two activity when it starts. the A activity and B acticity.
when it starts, the A activity work(it is the welcome page).after
5S ,the B activity work.
But,i use robotium,when it starts B activity,the Process has died.

A activity: Main Activity
B activity: MyStockActivity

LOGCAT:
12-22 14:29:43.870: INFO/ActivityManager(563): Starting activity:
Intent { comp={com.test.in/com.test.in.MyStock.MyStockActivity} }
12-22 14:29:43.889: INFO/Process(1474): Sending signal. PID: 1474 SIG:
9
12-22 14:29:43.909: INFO/ActivityManager(563): Process com.test.in
(pid 1474) has died.
12-22 14:29:43.909: INFO/WindowManager(563): WIN DEATH:
Window{435d8978 com.test.in/com.test.in.MainActivity paused=true}
12-22 14:29:43.949: WARN/ActivityManager(563): Crash of app
com.test.in running instrumentation ComponentInfo{com.test.test/
android.test.InstrumentationTestRunner}
12-22 14:29:43.960: DEBUG/ActivityManager(563): Uninstalling process
ccom.test.in
12-22 14:29:43.960: DEBUG/ActivityManager(563): Force finishing
activity com.test.in /.MyStock.MyStockActivity

AndroidManifest.xml:

My code:

import com.jayway.android.robotium.solo.Solo;
import android.test.ActivityInstrumentationTestCase2;
@SuppressWarnings("rawtypes")
public class InvestWinnerTest extends ActivityInstrumentationTestCase2{
private static final String TARGET_PACKAGE_ID ="com.hundsun.invw";
private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME="com.test.in.MainActivity";

private static  Class<?>launcherActivityClass;

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


@SuppressWarnings("unchecked")
public  InvestWinnerTest()  throws Exception{
        super(TARGET_PACKAGE_ID, launcherActivityClass);
}

private Solo solo;



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

 public void testAddStock() throws Exception {
     String appName = solo.getCurrentActivity().getClass().getSimpleName();
     System.out.println(appName);



     solo.sleep(5000);
     solo.waitForActivity("MyStockActivity", 10000);  
     System.out.println("waitForActivity");
     solo.assertCurrentActivity("Expected MyStock activity", "MyStockActivity");
     System.out.println("MyStockActivity");

     solo.sendKey(Solo.ENTER);
     System.out.println("关闭键盘");
     solo.clickOnButton(48);         
     solo.assertCurrentActivity("Expected EditMyStock activity", "EditMyStockActivity"); //Assert that NoteEditor activity is opened
     System.out.println("进入设置自选");

     solo.clickOnButton(47);
     solo.enterText(0, "600160"); //In text field 0, add Note 1
     solo.clickOnButton(52);
     solo.goBack(); //Go back
     solo.goBackToActivity("MyStockActivity"); //Go back to first activity named "NotesList"
     boolean expected = true;
     boolean actual = solo.searchText("巨化股份");
     assertEquals("添加自选股失败", expected, actual);
 }


    public void tearDown() throws Exception{
        try{
            solo.finalize();
        }
        catch(Throwable e){
            e.printStackTrace();
        }

        getActivity().finish();
        super.tearDown();
    }

}

Original issue: http://code.google.com/p/robotium/issues/detail?id=50

Click on text not working

From [email protected] on October 15, 2010 21:46:13

I've been using Robotium now quite successfully to run around 30 different solo method calls in various tests. I was using 1.7.1, and tried the new 1.8.0, as well as the suggestions to modify the manifest. Nothing changes this behavior.

I'm having some trouble coaxing it to click a textview though. It's a nested view structure with a scrollview that has a textview and a bunch of buttons inside.

I tried solo.clickOnText(".Show.") but Solo responds that it couldn't find the text even though it's clearly there on screen. I even stepped through the test to confirm.

I tried then using clickOnScreen as a kludge. It clicked on the screen and enabled the buttons; however then, the clickOnButton method exhibited the same behavior.

By the way, it would be nice if you posted a snapshot of the source to the downloads from now on with each version so I don't have to use git and try to figure out which is the right source version. That way I can try to debug it myself.

Thanks!

Original issue: http://code.google.com/p/robotium/issues/detail?id=23

How to check the seek bar and rating view through robotium test case.

From [email protected] on November 28, 2010 20:08:48

Hi,

I have an android application that has seek bar and rating bar in it. 

I need to test the seek bar and rating bar views through robotium test case.
For seek bar i tried drag(floatfrom x,floatfrom y, floatto x, floatto y), but it does not work.
I do not find any controls for testing the rating bar.
Please suggest me on this and provide me the details of testing the seek bar and rating bar views

Original issue: http://code.google.com/p/robotium/issues/detail?id=38

is it possible to check whether menu items is enabled or not .

From [email protected] on September 29, 2010 19:25:13

What steps will reproduce the problem? 1.Button option,menu item is disabled . What is the expected output? What do you see instead? I need to check the status of the button ,menu option .
Let me provide your solution. What version of the product are you using? On what operating system? Roboitum 1.6 for testing mobile application Please provide any additional information below.

Original issue: http://code.google.com/p/robotium/issues/detail?id=18

ArrayIndexOutOfBoundsException while looking for a view with searchText

From [email protected] on July 17, 2010 08:18:12

07-17 17:15:09.675: WARN/System.err(10963): java.lang.ArrayIndexOutOfBoundsException
07-17 17:15:09.675: WARN/System.err(10963): at com.jayway.android.robotium.solo.ViewFetcher.getViews(ViewFetcher.java:100)
07-17 17:15:09.675: WARN/System.err(10963): at com.jayway.android.robotium.solo.ViewFetcher.getCurrentTextViews(ViewFetcher.java:286)
07-17 17:15:09.675: WARN/System.err(10963): at com.jayway.android.robotium.solo.Searcher.searchForText(Searcher.java:338)
07-17 17:15:09.675: WARN/System.err(10963): at com.jayway.android.robotium.solo.Searcher.searchText(Searcher.java:312)
07-17 17:15:09.675: WARN/System.err(10963): at com.jayway.android.robotium.solo.Searcher.searchText(Searcher.java:294)
07-17 17:15:09.675: WARN/System.err(10963): at com.jayway.android.robotium.solo.Searcher.searchText(Searcher.java:278)
07-17 17:15:09.675: WARN/System.err(10963): at com.jayway.android.robotium.solo.Solo.searchText(Solo.java:273)
07-17 17:15:09.675: WARN/System.err(10963): at net.lp.collectionista.test.usecases.collections.ManageCollectionUseCaseTest.testUpdateRenameCollection(ManageCollectionUseCaseTest.java:226)
07-17 17:15:09.675: WARN/System.err(10963): at net.lp.collectionista.test.usecases.collections.ManageCollectionUseCaseTest.testUpdateRenameCollection(ManageCollectionUseCaseTest.java:205)
07-17 17:15:09.675: WARN/System.err(10963): at java.lang.reflect.Method.invokeNative(Native Method)
07-17 17:15:09.675: WARN/System.err(10963): at java.lang.reflect.Method.invoke(Method.java:521)
07-17 17:15:09.675: WARN/System.err(10963): at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:204)
07-17 17:15:09.675: WARN/System.err(10963): at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:194)
07-17 17:15:09.675: WARN/System.err(10963): at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:186)
07-17 17:15:09.675: WARN/System.err(10963): at junit.framework.TestCase.runBare(TestCase.java:127)
07-17 17:15:09.682: WARN/System.err(10963): at junit.framework.TestResult$1.protect(TestResult.java:106)
07-17 17:15:09.682: WARN/System.err(10963): at junit.framework.TestResult.runProtected(TestResult.java:124)
07-17 17:15:09.682: WARN/System.err(10963): at junit.framework.TestResult.run(TestResult.java:109)
07-17 17:15:09.682: WARN/System.err(10963): at junit.framework.TestCase.run(TestCase.java:118)
07-17 17:15:09.682: WARN/System.err(10963): at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
07-17 17:15:09.682: WARN/System.err(10963): at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
07-17 17:15:09.682: WARN/System.err(10963): at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:520)
07-17 17:15:09.682: WARN/System.err(10963): at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447) What steps will reproduce the problem? I can arrange for you to get my open source code that exhibits this problem. What version of the product are you using? On what operating system? 1.6.0 on Android 2.2

Original issue: http://code.google.com/p/robotium/issues/detail?id=10

How can Solo work when using in external class

From [email protected] on December 14, 2010 01:59:01

Create a common class such as "common.java" with using solo to do something.

In the test case class there is a test case with call a method which using solo from the "common.java" class.

However, it does not work when running this test because it's does not recognize the solo.

Please help me to solve this problem.
It's appreciate if there is any example.

Thank so much.
Hakuen

Original issue: http://code.google.com/p/robotium/issues/detail?id=45

HorizontalScrollView scroll to right

From [email protected] on August 30, 2010 11:27:54

What steps will reproduce the problem? 1.Create a HorizontalScrollView and views like buttons which spance more than screen size
2.From solo getViews and select the invisible button of the HorizontalScrollView
3.And do clickOnView(hiddenButton) expected is action from button
but there was no action performed What is the expected output? What do you see instead? Hidden buttons click action has to be performed. I can see the button from getViews but click dont give any output. What version of the product are you using? On what operating system? 1.7 API, Android 2.2, windows XP, on Droid device Please provide any additional information below.

Original issue: http://code.google.com/p/robotium/issues/detail?id=15

Not able click on screen with coordinates when the screen location is selected state.

From [email protected] on November 26, 2010 05:15:35

I am testing google base contacts,which show 4tabs like (dialer,callog,contacts, favorites etc...) What steps will reproduce the problem? 1.launching dialer application.
2.Now i launch the application and keep the coordinates so that i touch the dialer tab. What is the expected output? What do you see instead? Actual: as my application starts with dialer tab,i am again clicking on the dialer tab - not able to find the view of at that coordinates.
(Tool is not able to find the view if it already selected).

Expected: Should be able to click even the selected area. What version of the product are you using? On what operating system? Robotium 1.9.0 Please provide any additional information below.

Original issue: http://code.google.com/p/robotium/issues/detail?id=37

work with dialogs

From [email protected] on April 16, 2010 07:17:41

I don't see any way of working with dialogs.

I should be able to

  • assert that one is present or not present
  • detect which buttons are present (affirmative, neutral, or negative)
  • click any of the buttons (affirmative, neutral, or negative)
  • wait for them to close (for a indeterminate progress bar)
  • read the title text
  • read the message text

Original issue: http://code.google.com/p/robotium/issues/detail?id=3

ScrollDown is not working in the listview which has which has the check boxes in the activity.

From [email protected] on December 06, 2010 06:09:37

What steps will reproduce the problem? 1.Launch the list activity with checkboxes.
2.Call the "Scrolldown" method.
3.Check the behaviour.(I am testing contacts - display options activity) What is the expected output? What do you see instead? Expected: Scrolling is not happening.

Actual:scrolling should happen. What version of the product are you using? On what operating system? Android2.2 with robotium 1.9.0 Please provide any additional information below. 1)I have used "getCurrentListViews" method to get whether list is present or not.
2) After querying it has returned "1" after calling "getCurrentListViews.size()".
3)got the list items in the list using "getCurrentListViews.get(0).getCount()" returned "7" items.

Original issue: http://code.google.com/p/robotium/issues/detail?id=41

When there are item in the listview that time searchText and clickOnText is not working properly.

From [email protected] on November 25, 2010 06:11:59

What steps will reproduce the problem? 1.Keep nearly 150 items in the list.
2.Now try to search a text using searchText/clickOntext.
3.Exact issue is while scrolling down some list items are getting skipped because of scrolling. What is the expected output? What do you see instead? Expected: While scrolling there should be exact framing of items so that the all the items are visible to instrumentation.

Actual: Due to improper scrolling action some items are getting skipped so sometimes it is able to search and sometimes it is failing. What version of the product are you using? On what operating system? Please provide any additional information below. Exact issue is while scrolling down some list items are getting skipped because of scrolling.

Original issue: http://code.google.com/p/robotium/issues/detail?id=36

pressMenu...() fails for more than 3 items in single menu row

From [email protected] on December 20, 2010 00:32:01

What steps will reproduce the problem? 1. Manu have more than 4 items in one row e.g. Activity is in landscape mode
2. call pressMenuItem(3) --> this should press the 4th item in the 1st row of menu. What is the expected output? What do you see instead? exception occurs as robotium tries to press item in the 2nd row of menu which is not there. What version of the product are you using? On what operating system? robotium 2.0.2, Android 2.3 Please provide any additional information below. now pressMenu...() assumes 1st row has only 3 items in Menu indexed 0-2, 2nd row 3-5 and so on, any change in number of items failing these APIs. It would be better if we can have a longer range for menu items, e.g.
1st row : 0-9 (10 items)
2nd row : 10-19 (10 items)
3rd row : 20-29 (10 items)

this would take care any future changes, i.e. if honeycomb can support big menus for larger display devices.

Original issue: http://code.google.com/p/robotium/issues/detail?id=49

Does not work on Samsung Galaxy S device

From [email protected] on July 19, 2010 18:12:03

What steps will reproduce the problem? 1. Run NoteEditorTest as an Android Junit Test What is the expected output? What do you see instead? Everything fails, when it should pass. What version of the product are you using? On what operating system? 1.6.0 Please provide any additional information below. What seems to be happening is it is not actually clicking on any buttons. It highlights the correct button, but does not click.

I have found that:

getActivity().runOnUiThread(new Runnable() {
public void run() {
mButton.performClick();
}
});

fixes things quite nicely in my app.
It works absolutely fine on the emulator.

Original issue: http://code.google.com/p/robotium/issues/detail?id=11

View is not visible and can therefore not be clicked!

From [email protected] on November 15, 2010 04:56:12

What steps will reproduce the problem? 1. Try to invoke clickOnView many times What is the expected output? What do you see instead? I got following exception
junit.framework.AssertionFailedError: View is not visible and can therefore not be clicked!
at com.jayway.android.robotium.solo.Clicker.clickOnScreen(Clicker.java:151)
at com.jayway.android.robotium.solo.Clicker.clickOnScreen(Clicker.java:127)
at com.jayway.android.robotium.solo.Solo.clickOnView(Solo.java:718)
at actester.testgenerator.ACTestGenerator.testActivity(ACTestGenerator.java:57)
at tt.hh.test.MyInstrumentTest.testUsingLib(MyInstrumentTest.java:35)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:204)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:194)
at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:186)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:520)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447) What version of the product are you using? On what operating system? 1.9.0 Please provide any additional information below.

Original issue: http://code.google.com/p/robotium/issues/detail?id=28

New Featrue Request: Capture screenshot functionality.

From [email protected] on October 15, 2010 19:16:06

Would it be possible to provide Capture Screenshot when an assertion fails in solo.

It would be better to provide a method like captureScreenshot which test case can also call.

I am not sure how the screenshots will be transferred to desktop though.

Benefits: This would really help in analyzing why things failed or how was the state of application when some assert failed.

Original issue: http://code.google.com/p/robotium/issues/detail?id=22

Issue with SplashScreen

From [email protected] on November 04, 2010 09:32:08

What steps will reproduce the problem? 1. Create an Activity that will be the SplashScreen
2. In the onStart method add a 3 secs sleep
3. After the sleep use startActivity and move to another Activity
3. Test the app using assertCurrentActivity What is the expected output? What do you see instead? solo.assertCurrentActivity("Correct activity did not appear.", SplashActivity.class); should pass but the logs say:

junit.framework.ComparisonFailure: Correct activity did not appear. expected:<...Splash...> but was:<...Home...> What version of the product are you using? On what operating system? 1.8.0
macos

Original issue: http://code.google.com/p/robotium/issues/detail?id=26

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.