created
Jan '19
last reply
Jan '19
- 12
replies
- 280
views
- 4
users
- 1
link
No luck.
It didn’t work for me @Aish.appium ;(
Can you please suggest if there are any better approach?
Try this List list = driver.findElements(By.id(“com.ezepay:id/bMakePrimary”));
list.get(0).click();
or this
driver.findElement(By.xpath("//*[@resource-id=‘com.ezepay:id/bMakePrimary’]")).click();
List list = driver.findElements(By.id(“com.ezepay:id/bMakePrimary”));
list.get(0).click();
For this I am not getting an element click(); I can’t type that in the Eclipse, I think it is because we have used Element"s" .click is underlined. Syntax Error maybe
driver.findElement(By.xpath("//*[@resource-id=‘com.ezepay:id/bMakePrimary’]")).click();
For this I am getting this: A location path was expected, but the following token was encountered: ‘com.ezepay
Not sure what is wrong.
try
Try this List list = driver.findElement(By.id(“com.ezepay:id/bMakePrimary”));
list.get(0).click();
dont put findElement’s’
I am sorry, i dont have any such application where i use this so cant try and confirm if this should work but option one where you are getting error on click() method , try below code and see if this takes care of the error or solves the issue.
List list = driver.findElements(By.id(""));
list.get(0).click();
Hey thanks.
I used this
List list = driver.findElements(By.id(“com.ezepay:id/bMakePrimary”));
((WebElement) list.get(1)).click();
Appium gives success message 200.
But, Java is giving me this, without any actions on the screen
Index: 1, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at ezebase.testSelectingPrimaryAccount(ezebase.java:232)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:580)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:716)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:988)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.privateRun(TestRunner.java:648)
at org.testng.TestRunner.run(TestRunner.java:505)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
at org.testng.SuiteRunner.run(SuiteRunner.java:364)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
at org.testng.TestNG.runSuites(TestNG.java:1049)
at org.testng.TestNG.run(TestNG.java:1017)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
If you can try this once and let me know if this solves.
List list = driver.findElements(By.id(“com.ezepay:id/bMakePrimary”));
list.get(0).click();
Thank you.
If I use only the above click(); gives error in Java Eclipse
So I used this
List list = driver.findElements(By.id(“com.ezepay:id/bMakePrimary”));
((WebElement) list.get(0)).click();
I get this error
Index: 1, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at ezebase.testSelectingPrimaryAccount(ezebase.java:232)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:580)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:716)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:988)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.privateRun(TestRunner.java:648)
at org.testng.TestRunner.run(TestRunner.java:505)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
at org.testng.SuiteRunner.run(SuiteRunner.java:364)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
at org.testng.TestNG.runSuites(TestNG.java:1049)
at org.testng.TestNG.run(TestNG.java:1017)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
Hello @Aish.appium
No luck yet, it is not working, I tried in all possible ways. I am unable to locate the locator.
I used the tap gesture, it is working fine for now.
But, it is a bad approach. Unsure, how to do this.
Did anyone else face this issue earlier? were you able to acheive the results?
what if you use MobileElement instead of WebElement?
List list = driver.findElements(By.id(“com.ezepay:id/bMakePrimary”));
((MobileElement) list.get(0)).click();
Try to see first how many element are found in your list.
Systemout.println(list.getSize());
When I have more elements with the same ID i’m using this approach, with page objects and works as expected
@AndroidFindBy(id = “base_hint_title”)
public List list;
list.get(1).click();