原始错误:io.appium.uiautomator2.common.exceptions.UiAutomator2Exception

问题描述 投票:0回答:3
  • 运行脚本时出现未知的服务器端错误。
  • 脚本将在滚动时终止,否则它会正常工作。

记录错误:

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 日志:

java selenium automation appium
3个回答
1
投票
在使用

adb

 进行试运行之前
重新启动
adb kill-server; adb start-server
。 因为有时
appium
服务器与 adb 存在问题,因此通过重新启动您可以避免此问题,但并非每次出现此错误时都可以再次开始执行,如果未解决,请重新启动
adb
,然后开始执行可以工作的脚本。 很高兴能帮助你... 如果您有任何疑问请在下面评论..


0
投票

我在一个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()

0
投票

我已经重新启动了模拟器,但之后我得到了 sessionNotCreatedException 所以我按照以下步骤操作 我添加了详细视频链接SessionNotCreatedException

© www.soinside.com 2019 - 2024. All rights reserved.