Appium 求助:点击有的按钮偶尔会报错

TIANMAOTAO · 2016年10月21日 · 最后由 TIANMAOTAO 回复于 2016年11月17日 · 1559 次阅读

我是通过路径找到的元素,有时候运行没错,有时候会报错。

报错信息如下:
self =
response = {'status': 500, 'value': '{"status":13,"value":{"message":"An unknown server-side error occurred while processing the command.","origValue":"elementId 3 could not be tapped"},"sessionId":"f98dfd83-eda7-4a2d-adaa-84adaf59e351"}'}

def check_response(self, response):
try:
super(MobileErrorHandler, self).check_response(response)
except WebDriverException as wde:
if wde.msg == 'No such context found.':
raise NoSuchContextException(wde.msg, wde.screen, wde.stacktrace)
else:

raise wde
E WebDriverException: Message: An unknown server-side error occurred while processing the command.

应该怎么解决啊?

共收到 8 条回复 时间 点赞

sleep 一下试试?页面跳的太快 还没有抓到就跳了。

#1 楼 @zhangdameng
试过,还是一样的,还是会报错。

我也遇到过类似的问题,还有按键按错的情况,楼主找到解决方法了吗

#3 楼 @yufanW
如果报错不是因为获取不到元素,你试一试获取到元素后,把他坐标取出来,通过他的坐标点击。

#4 楼 @LIUTIANTIAN 我试过用坐标的方式,确实是可以的,但是通过 xpath 就会有很多问题,确实奇怪

#5 楼 @yufanW
关于通过 xpath,我这边获取某个单元格也是有问题,有时也会找错。

楼主,请教个问题,如果我获取一个元素的坐标是 ${location},在 ride 里面我要怎么取出 x,y 坐标呢?

#7 楼 @yufanW

def hx_longPress(self, element):
    location = element.location
    el_size = element.size
    x = el_size['width'] / 2.0 + location['x']
    y = el_size['height'] / 2.0 + location['y']
    return self.w.tap([(x, y)], duration=0.5)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册