Appium 新手求教:self.driver.swipe()执行完动作为啥总是报错 WebDriverException: Message: u'An unknown server-side error occurred while processing the command.'

莫小贝 · November 04, 2014 · Last by momoko replied at December 30, 2015 · 2303 hits

使用 Appium + python,实现安卓应用引导图滑动和点击事件时,self.driver.swipe() 方法都可以成功完成动作,
但为啥最后执行完均报错 WebDriverException: Message: u'An unknown server-side error occurred while processing the command.'

1.引导图滑动:
def test_SwipeGuideImages(self):
sleep(5)
for i in range(1,5): # 滑动四次
self.driver.swipe(576,512,0,512,500)
sleep(5)
如下图从引导图第一页应该只需要滑动四次即可到应用首页,但到引导最后一页时,最后一次(应该滑动到应用首页)总是不执行。

若将循环改成 for i in range(1,6): 滑动五次,则可以滑动到应用首页,但是报错 WebDriverException: Message: u'An unknown server-side error occurred while processing the command.' 错误提示行就是指 self.driver.swipe(576,512,0,512,500)

  1. 点击事件: self.driver.swipe(65,10,65,10,5) 用 swipe() 方法完成点击事件,点击事件完成后也是报上面的错误 WebDriverException: Message: u'An unknown server-side error occurred while processing the command.' 错误提示行就是指 self.driver.swipe(65,10,65,10,5)

这是为什么? 求教大神....

共收到 17 条回复 时间 点赞

上传头像先

匿名 #2 · November 04, 2014

从头像来看是妹子 😍
这个报错我也遇到过,不过概率不高,An unknown server-side error 蛋疼的报错

贴代码请使用代码块,如下所示:

def test_SwipeGuideImages(self):
    sleep(5)
    for i in range(1,5): #滑动四次
        self.driver.swipe(576,512,0,512,500)
        sleep(5)

出现 “An unknown server-side error occurred while processing the command”,一般是 WebDriver 出现异常,最后一页 Swipe 时需要的 Duration 可能要更长时间,你尝试使用下面的代码看看:

def test_SwipeGuideImages(self):
    for i in range(5): #滑动四次
        self.driver.swipe(576,512,0,512,800)
        sleep(5)

self.driver.swipe(576,512,0,512,500) 你要考虑你要滑动的方向来设置 startX 和 endX 的值

#4 楼 @lena @xiaomayi0323 感谢各位的帮忙,这个问题已经大概知道怎么回事啦 (虽然没有解决:().
引导页面共有 4 页,从引导第一页滑动到引导的最后一页,应用上面代码循环 3 次,脚本结果是 pass 的,只有从引导图最后一页滑动到应用的主界面(首页)时,才会报错 An unknown server-side error.(进入应用主界面后,继续利用该循环滑动也是 pass 的)
咨询了一下 android 开发的同事,从引导第一页滑动到引导的最后一页 和 进入应用主界面后继续利用循环滑动几次,其实都是在一个安卓界面的滑动,但是从引导图最后一页滑动到应用的主界面,是两个安卓界面的切换,本质区别在这.
但是对于我们来说都是一个滑动操作,不知道为啥同样用 swipe()方法就有错,其实它已经滑动到主界面成功了就是最后的结果是 failed, 而且主界面一显示立马报错,很奇怪.... 感觉是 swipe() 方法不同界面切换有问题

@xiaomayi0323 也不是 duration 的问题,我最后把代码改成下面的,把最后一次滑动单独拿出来加长 duration 也还是不行

#5 楼 @sophia_sun1191 我也遇到这个问题了,你最后是怎么解决的?

先 debug 模式运行代码,看是否能实现滑动效果,如果不行修改对应的坐标值

我最开始也是遇到这个问题,主要还是坐标设置得不合理引起的

引导页最后一页我也出现这个问题了我用 self.driver.back() 搞定了!希望能帮助到大家

Python 使用 driver.swipe(200,581,200,619,5),执行时报 AttributeError: "'WebDriver' object has no attribute 'swipe'",但是我看了下我安装的 webdriver 里面有 swipe 方法,新人求指教!!

我也遇到了 self.driver.swipe()执行完动作报 u'An unknown server-side error occurred while processing the command.,这个问题有人有解决方案吗?

这个报错到底是什么原因呢?我这边没有 swipe,也报这个错

我遇到过一次,我那个是因为滑动的太快了,楼主循环里加个 sleep(1)试试。

发现就算把休眠时间加长它还是很快就跳到主界面去了,结果还是立即报错

#11 楼 @wangjing 请问你这个问题解决了吗?

我遇到这个错误的原因是我发的帖子中有表情符号,但是不知道为啥表情符号会导致这样

#10 楼 @test_engineer 你最后解决这个问题了吗?

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up