I am using Selenium WebDriver with Selendroid for automation testing in Android Simulator, I am facing an issue which is described below:-
In my application i have a select element with options that changes web page to another page, here Selenium WebDriver throwing an exception while selecting it.
Example page:
<html>
<head>
<title>Select test</title>
</head>
<body>
<select name="sel" onchange="if(this.selectedIndex==1) location.replace('another.html')">
<option value="opt1">Option 1</option>
<option value="opt2">Option 2</option>
<option value="opt3">Option 3</option>
</select>
Below is my code to select value from drop down box:
Select dropdownbox = new Select(driver.findElement(By.xpath(locator));
dropdownbox.selectByIndex(index); ---> I am getting Exception at this point. Below is the complete Exception details:-
org.openqa.selenium.StaleElementReferenceException: {"message":"Element does not exist in cache"} io.selendroid.exceptions.StaleElementReferenceException: {"message":"Element does not exist in cache"} at io.selendroid.server.model.SelendroidWebDriver.executeAtom(SelendroidWebDriver.java:195) at io.selendroid.server.model.SelendroidWebDriver.executeAtom(SelendroidWebDriver.java:167) at io.selendroid.server.model.AndroidWebElement.getLocation(AndroidWebElement.java:183) at io.selendroid.server.model.AndroidWebElement.getCenterCoordinates(AndroidWebElement.java:216) at io.selendroid.server.model.AndroidWebElement.click(AndroidWebElement.java:249) at io.selendroid.server.handler.ClickElement.handle(ClickElement.java:43) at io.selendroid.server.AndroidServlet.handleRequest(AndroidServlet.java:236) at io.selendroid.server.BaseServlet.handleHttpRequest(BaseServlet.java:70) at org.webbitserver.netty.NettyHttpControl.nextHandler(NettyHttpControl.java:78) at org.webbitserver.netty.NettyHttpControl.nextHandler(NettyHttpControl.java:62) at io.selendroid.server.inspector.InspectorServlet.handleHttpRequest(InspectorServlet.java:78) at org.webbitserver.netty.NettyHttpControl.nextHandler(NettyHttpControl.java:78) at org.webbitserver.netty.NettyHttpControl.nextHandler(NettyHttpControl.java:62) at org.webbitserver.handler.PathMatchHandler.handleHttpRequest(PathMatchHandler.java:33) at org.webbitserver.netty.NettyHttpControl.nextHandler(NettyHttpControl.java:78) at org.webbitserver.netty.NettyHttpControl.nextHandler(NettyHttpControl.java:62) at org.webbitserver.handler.DateHeaderHandler.handleHttpRequest(DateHeaderHandler.java:21) at org.webbitserver.netty.NettyHttpControl.nextHandler(NettyHttpControl.java:78) at org.webbitserver.netty.NettyHttpControl.nextHandler(NettyHttpControl.java:62) at org.webbitserver.handler.ServerHeaderHandler.handleHttpRequest(ServerHeaderHandler.java:25) at org.webbitserver.netty.NettyHttpControl.nextHandler(NettyHttpControl.java:78) at org.webbitserver.netty.NettyHttpControl.nextHandler(NettyHttpControl.java:67) at org.webbitserver.netty.NettyHttpChannelHandler$2.run(NettyHttpChannelHandler.java:72) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) at java.lang.Thread.run(Thread.java:856)
Can anyone help me in how to solve this issue?
Thanks in Advance!!