Appium Android: I am seeing error message after running the following Appium script -


after run following appium java code:

package com.appium;  io.appium.java_client.appiumdriver;  import java.io.file; import java.net.malformedurlexception; import java.net.url; import java.util.list;  import org.openqa.selenium.by;  import org.openqa.selenium.webelement; import org.openqa.selenium.webdriver; import org.openqa.selenium.remote.capabilitytype; import org.openqa.selenium.remote.desiredcapabilities; import org.junit.*; import org.openqa.selenium.remote.remotewebdriver;  import io.appium.java_client.appiumdriver; import io.appium.java_client.android.androiddriver;  import org.testng.annotations.test;   public class newtest {     androiddriver driver;     public static void main(string[] args) throws exception {         // todo auto-generated method stub         // creating class object         basictest testcases = new basictest();           // call launch app method           testcases.launchmilk();           // call add name method           testcases.addname();     }       //@test        public void launchmilk() throws interruptedexception, malformedurlexception       {         file app=new file("d:\\radio\\radio_1.5.1700010675.apk");            desiredcapabilities capabilities = new desiredcapabilities();        //name of mobile web browser automate. should empty string if automating app instead.       capabilities.setcapability(capabilitytype.browser_name, "");        //which mobile os use: android, ios or firefoxos       capabilities.setcapability("platformname", "android");        //mobile os version – in case 4.4 since device running android 4.4.2       capabilities.setcapability(capabilitytype.version, "4.4.2");        //device name – since actual device name found using adb       capabilities.setcapability("devicename", "4d000614aef030c3");        //the absolute local path apk       capabilities.setcapability("app", app.getabsolutepath());        //java package of tested android app       capabilities.setcapability("apppackage", "com.samsung.mdl.radio");        // activity name android activity want run package. need preceded . (example: .mainactivity)       capabilities.setcapability("appactivity", ".mainactivity");        // constructor initialize driver object       driver = new androiddriver(new url("http://127.0.0.1:4723/wd/hub"), capabilities);         thread.sleep(4000);         system.out.println("app launched");         //locating 'i agree' button         webelement startup = driver.findelementbyid("dialog_positive_button");         //clicking agree button         startup.click();         system.out.println("i agree button clicked - wait screen load");         thread.sleep(2000);         system.out.println("intro movie playing");         thread.sleep(58000);         system.out.println("app launched");         //list<webelement> addcontactbutton = driver.findelementsbyclassname("android.widget.imageview");         webelement globalmenu = driver.findelementbyid("nav_drawer_icon");         //system.out.println(addcontactbutton);         globalmenu.click();         }           public void addname() throws interruptedexception {              system.out.println("test success");                  // write tests here              //driver.clickonview(driver.getview(com.appium.r.id.dialog_positive_button));             }       } 

the first step of test runs successfully. app gets launched. after executing line:

system.out.println("intro movie playing");     thread.sleep(58000);     system.out.println("app launched"); 

the app not locate next element , test fails:

i see following error message in console:

app launched agree button clicked - wait screen load intro movie playing exception in thread "main" org.openqa.selenium.remote.sessionnotfoundexception:  command duration or timeout: 14 milliseconds build info: version: '2.46.0', revision: '87c69e2', time: '2015-06-04 16:17:10' system info: host: 'scs02-lt-005', ip: '105.160.8.32', os.name: 'windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_45' driver info: io.appium.java_client.android.androiddriver capabilities [{app=d:\radio\radio_1.5.1700010675.apk, apppackage=com.samsung.mdl.radio, networkconnectionenabled=true, warnings={}, databaseenabled=false, version=4.4.2, devicename=4d000614aef030c3, platform=linux, appactivity=.mainactivity, desired={app=d:\radio\radio_1.5.1700010675.apk, apppackage=com.samsung.mdl.radio, appactivity=.mainactivity, browsername=, platformname=android, version=4.4.2, devicename=4d000614aef030c3}, platformversion=4.4.2, webstorageenabled=false, locationcontextenabled=false, browsername=, takesscreenshot=true, javascriptenabled=true, platformname=android}] session id: b3d9c76a-5924-4a92-a906-39889e77d37c *** element info: {using=id, value=nav_drawer_icon}     @ sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method)     @ sun.reflect.nativeconstructoraccessorimpl.newinstance(unknown source)     @ sun.reflect.delegatingconstructoraccessorimpl.newinstance(unknown source)     @ java.lang.reflect.constructor.newinstance(unknown source)     @ org.openqa.selenium.remote.errorhandler.createthrowable(errorhandler.java:204)     @ org.openqa.selenium.remote.errorhandler.throwifresponsefailed(errorhandler.java:162)     @ org.openqa.selenium.remote.remotewebdriver.execute(remotewebdriver.java:605)     @ io.appium.java_client.defaultgenericmobiledriver.execute(defaultgenericmobiledriver.java:27)     @ io.appium.java_client.appiumdriver.execute(appiumdriver.java:1)     @ io.appium.java_client.android.androiddriver.execute(androiddriver.java:1)     @ org.openqa.selenium.remote.remotewebdriver.findelement(remotewebdriver.java:358)     @ org.openqa.selenium.remote.remotewebdriver.findelementbyid(remotewebdriver.java:399)     @ io.appium.java_client.defaultgenericmobiledriver.findelementbyid(defaultgenericmobiledriver.java:47)     @ io.appium.java_client.appiumdriver.findelementbyid(appiumdriver.java:1)     @ io.appium.java_client.android.androiddriver.findelementbyid(androiddriver.java:1)     @ com.appium.basictest.launchmilk(basictest.java:82)     @ com.appium.newtest.main(newtest.java:31) 

why seeing error? why code not detect next element "nav_drawer_icon" in test? error prevents me running more 1 test in series. using uiautomator locate elements in android app.

thanks in advance.

regards,

pavan

i think close appium command timeout 60 sec. please try increase timeout using --command-timeout desired capability.


Comments

Popular posts from this blog

How to provide Authorization & Authentication using Asp.net, C#? -

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

How to use Authorization & Authentication in Asp.net, C#? -