记录错误:
org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: io.appium.uiautomator2.common.exceptions.UiAutomator2Exception: java.lang.IllegalStateException: UiAutomation not connected!
at io.appium.uiautomator2.utils.UiExpressionParser.invokeMethod(UiExpressionParser.java:251)
at io.appium.uiautomator2.utils.UiScrollableParser.consumeMethodCall(UiScrollableParser.java:124)
at io.appium.uiautomator2.utils.UiScrollableParser.parse(UiScrollableParser.java:60)
at io.appium.uiautomator2.utils.UiAutomatorParser.consumeStatement(UiAutomatorParser.java:93)
at io.appium.uiautomator2.utils.UiAutomatorParser.parse(UiAutomatorParser.java:49)
at io.appium.uiautomator2.utils.LocationHelpers.toSelectors(LocationHelpers.java:95)
at io.appium.uiautomator2.utils.LocationHelpers.toSelector(LocationHelpers.java:88)
at io.appium.uiautomator2.handler.FindElement.findElement(FindElement.java:144)
at io.appium.uiautomator2.handler.FindElement.safeHandle(FindElement.java:75)
at io.appium.uiautomator2.handler.request.SafeRequestHandler.handle(SafeRequestHandler.java:37)
at io.appium.uiautomator2.server.AppiumServlet.handleRequest(AppiumServlet.java:250)
at io.appium.uiautomator2.server.AppiumServlet.handleHttpRequest(AppiumServlet.java:241)
at io.appium.uiautomator2.http.ServerHandler.channelRead(ServerHandler.java:44)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352)
* **元素信息:
{Using=-android uiautomator, value=new UiScrollable(new UiSelector()).scrollIntoView(new UiSelector().text(" val "));}
Appium 日志:
adb
进行试运行之前重新启动
adb kill-server; adb start-server
。
因为有时 appium
服务器与 adb 存在问题,因此通过重新启动您可以避免此问题,但并非每次出现此错误时都可以再次开始执行,如果未解决,请重新启动 adb
,然后开始执行可以工作的脚本。
很高兴能帮助你...
如果您有任何疑问请在下面评论..
我在一个Android应用程序中,当我打开一个网页时,我猜appium正在监视该应用程序,但无法监视在浏览器中打开该网页的另一个线程(尽管这就是手机上的样子) ,或者可能是浏览器页面跳转之类的东西?我不知道具体原因,但我能够通过重新启动 webdriver 来获取显示层元素。 python代码如下:
self.driver = webdriver.Remote(appium_server_url, self.capabilities)
self.driver.find_element(by=AppiumBy.XPATH, value='//android.widget.ImageView[@content-desc="more"]').click()
# restart webdriver
self.driver.quit()
self.driver = webdriver.Remote(appium_server_url, self.capabilities)
#
self.driver.find_element(by=AppiumBy.XPATH, value='//android.widget.TextView[@text="link"]').click()
我已经重新启动了模拟器,但之后我得到了 sessionNotCreatedException 所以我按照以下步骤操作 我添加了详细视频链接SessionNotCreatedException