Re: junit.framework.AssertionFailedError: Click can not be completed!

603 views
Skip to first unread message

Renas Reda

unread,
Jan 7, 2013, 2:40:54 AM1/7/13
to Robotium Developers
Hi,

Please see: "Why do text and button clicks get wrong?"
http://code.google.com/p/robotium/wiki/QuestionsAndAnswers

/Renas

On Jan 7, 8:20 am, Anbarasan J Photon
<anbarasan.jagadee...@photoninfotech.net> wrote:
> Hi !
>
> Hi while executing my Test case with emulator 2.3.3 google Apl ,i got
> following error,please solve this error !
>
> & thanks in Advance
> Anbarasan J
> junit.framework.AssertionFailedError: Click can not be completed!
> at com.jayway.android.robotium.solo.Clicker.clickOnScreen(Clicker.java:82)
> at com.jayway.android.robotium.solo.Clicker.clickOnScreen(Clicker.java:157)
> at com.jayway.android.robotium.solo.Clicker.clickOnScreen(Clicker.java:130)
> at com.jayway.android.robotium.solo.Solo.clickOnView(Solo.java:785)
> at
> com.photon.phresco.nativeapp.test.TestSample.testSamppleScreen(TestSample.j ava:106)
> at java.lang.reflect.Method.invokeNative(Native Method)
> at
> android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java :204)
> at
> android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:1 94)
> at
> android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentati onTestCase2.java:186)
> at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
> at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
> at
> android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.ja va:529)
> at
> android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java: 1448)
>
> code Snippet for this Error:
>
> package com.photon.phresco.nativeapp.test;
> import org.junit.Test;
> import android.app.Dialog;
> import android.test.ActivityInstrumentationTestCase2;
> import android.view.View;
> import android.widget.EditText;
> import android.widget.ImageView;
> import com.jayway.android.robotium.solo.Solo;
> import com.photon.phresco.nativeapp.R;
> import com.photon.phresco.nativeapp.activity.MainActivity;
>
> public class TestSample extends
> ActivityInstrumentationTestCase2<MainActivity> {
>
>     /**
>      * This is suite testcase by this testcase will call other testcases .
> In
>      * static block we are loading the MainActivity class and from the
>      * constructor will pass the package and activity full class name then
> in
>      * setUp() created the Solo class object
>      *
>      */
>     public static final String PACKAGE_NAME =
> "com.photon.phresco.nativeapp";
>     private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME =
> "com.photon.phresco.nativeapp.eshop.activity.MainActivity";
>     private static Class<MainActivity> mainActivity;
>     private Solo soloMain;
>
> //    private static final String TAG = "****MainTestCase****";
>
>     /**
>      * This block will be executed first and it will loads the
> SplashActivity .
>      */
>     static {
>         try {
>             mainActivity = (Class<MainActivity>)
> Class.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);
>         }
>
>         catch (ClassNotFoundException e) {
>             throw new RuntimeException(e);
>         }
>     }
>
>     /**
>      * In this constructor , we have to send the packagename and activity
> full
>      * class name.
>      *
>      * @throws Exception
>      */
>     public TestSample() throws Exception {
>         super(PACKAGE_NAME, mainActivity);
>     }
>
>     /**
>      * this method for create the Solo class object having two super class
>      * methods..
>      *
>      */
>     @Override
>     public void setUp() {
>
> //        soloMain = new Solo(getInstrumentation(), getActivity());
>         soloMain=new Solo(getInstrumentation(), getActivity());
>
>     }
>
>    @Test
>     public void testSamppleScreen()throws InterruptedException{
>
>         soloMain.waitForActivity("HomeActivity", 10000);
>         // click on Registerbutton
>         View view = soloMain.getView(R.id.home_login_btn);
>
>         soloMain.clickOnView(view);
>         //soloMain.waitForActivity("HomeActivity", 5000);
>         Thread.sleep(10000);
>         //soloMain.waitForActivity("HomeActivity", 20000);
>         // click on Registerbutton
>         /*View firstName = soloMain.getView(R.id.txt_fistName);
>         soloMain.clickOnView(firstName);
>
>        soloMain.waitForActivity("SplashActivity", 2000);
>         // clears the text at first Editfield
>         EditText emailField =
> (EditText)soloMain.getView(R.id.edit_email_box);
>         soloMain.clickOnView(emailField);
>         soloMain.clearEditText(emailField);
>         //soloMain.waitForActivity("SplashActivity", 5000);
> */
>         soloMain.waitForActivity("RegisterActivity", 5000);
>         View registerButton= soloMain.getView(R.id.register_btn);
>         soloMain.clickOnView(registerButton);
>         Thread.sleep(5000);
>
>         soloMain.waitForActivity("RegisterActivity", 5000);
>         EditText firstNameField=
> (EditText)soloMain.getView(R.id.txt_fistName);
>         soloMain.clickOnView(firstNameField);
>         soloMain.clearEditText(firstNameField);
>         soloMain.enterText(firstNameField,"satheesh");
>
>         soloMain.waitForActivity("RegisterActivity", 5000);
>         EditText lastNameField=
> (EditText)soloMain.getView(R.id.txt_lastName);
>         soloMain.clickOnView(lastNameField);
>         soloMain.clearEditText(lastNameField);
>         soloMain.enterText(lastNameField,"Nagarajan");
>
>         soloMain.waitForActivity("RegisterActivity", 5000);
>         EditText emailValue = (EditText)soloMain.getView(R.id.txt_email);
>         soloMain.clickOnView(emailValue);
>         soloMain.clearEditText(emailValue);
>         soloMain.enterText(emailValue,"ab...@xyz.com");
>
>         soloMain.waitForActivity("RegisterActivity", 5000);
>         EditText passwordField =
> (EditText)soloMain.getView(R.id.txt_password);
>         soloMain.clickOnView(passwordField);
>         soloMain.clearEditText(passwordField);
>         soloMain.enterText(passwordField,"789456");
>
>         soloMain.waitForActivity("RegisterActivity", 5000);
>         EditText confPassField =
> (EditText)soloMain.getView(R.id.txt_confirm_password);
>         soloMain.clickOnView(confPassField);
>         soloMain.clearEditText(confPassField);
>         soloMain.enterText(confPassField,"789456");
>
>         soloMain.waitForActivity("RegisterActivity", 5000);
>         View register= soloMain.getView(R.id.register_btn);
>         soloMain.clickOnView(register);
>         Thread.sleep(10000);
>
>        soloMain.waitForActivity("DialogActivity", 5000);
>        ImageView dialogBoxOK = (ImageView)
> soloMain.getView(R.id.btn_dialog_ok);
>        soloMain.clickOnView(dialogBoxOK);
>
>         soloMain.waitForActivity("HomeActivity", 5000);
>         View login = soloMain.getView(R.id.home_login_btn);
>         soloMain.clickOnView(login);
>         //soloMain.waitForActivity("HomeActivity", 5000);
>         Thread.sleep(10000);
>
>         soloMain.waitForActivity("LoginActivity", 5000);
>         EditText emailField = (EditText)soloMain.getView(R.id.txt_email);
>         soloMain.clickOnView(emailField);
>         soloMain.clearEditText(emailField);
>         soloMain.enterText(emailField,"ab...@xyz.com");
>
>         soloMain.waitForActivity("LoginActivity", 5000);
>         EditText passwordLogin =
> (EditText)soloMain.getView(R.id.txt_password);
>         soloMain.clickOnView(passwordLogin);
>         soloMain.clearEditText(passwordLogin);
>         soloMain.enterText(passwordLogin,"789456");
>
>         soloMain.waitForActivity("HomeActivity", 5000);
>         View loginClick = soloMain.getView(R.id.home_login_btn);
>         soloMain.clickOnView(loginClick);
>         //soloMain.waitForActivity("HomeActivity", 5000);
>         Thread.sleep(15000);
>
>     }
>
>
>
>
>
>
>
> }

Renas Reda

unread,
Jan 8, 2013, 7:15:47 AM1/8/13
to Robotium Developers
ActivityInstrumentationTestCase2 is one of the test classes provided
by Android. The instrumentation object passed to Robotium is provided
by those classes. The only way to enter text into an EditText field is
by enterText() and typeText().

/Renas

On Jan 8, 1:06 pm, Anbarasan J
<anbarasan.jagadee...@photoninfotech.net> wrote:
> On Tuesday, January 8, 2013 3:45:03 PM UTC+5:30, Anbarasan J wrote:
>
> > Hi Renas Reda,
>
> > Thanks for your valuable answer ,one more doubt i have in Robotium test
> > case creatin
>
> > While creating test cass for android app ,oftenly we ppl are using  *
> > "ActivityInstrumentationTestCase2*"  EX code snippet:
>
> > public class MyAndroidActivityTest extends android.test.ActivityInstrumentationTestCase2
>
> > what is the exact uses of this thing in robotium!
>
> And one more question How to pass the values in password text field as
> "Secure Way"?
Reply all
Reply to author
Forward
Message has been deleted
0 new messages