“按钮点击”给出“处理命令时发生未知的服务器端错误。”在Appium Android测试中

时间:2016-12-21 20:34:05

标签: android selenium appium appium-ios python-appium

我第一次使用appium为Android应用运行 SELENIUM + JAVA 测试。 ( WIndows 8.1 ) 我从Appium检查器复制了按钮的id。 我想点击按钮。

isDisplayed返回 true gettext()没问题 但是按钮上的loginBtn.tap(1, 1);会出现以下错误

在eclipse控制台上

  

org.openqa.selenium.WebDriverException:未知的服务器端错误   处理命令时发生。

Appium控制台上的

  

info:[debug]将命令推送到appium工作队列:[“element:getSize”,{“elementId”:“2”}]   info:[debug] [BOOTSTRAP] [debug]从客户端获取数据:{“cmd”:“action”,“action”:“element:getSize”,“params”:{“elementId”:“2”}}   info:[debug] [BOOTSTRAP] [debug]得到ACTION类型的命令   info:[debug] [BOOTSTRAP] [debug]得到命令动作:getSize   info:[debug] [BOOTSTRAP] [debug]返回结果:{“status”:0,“value”:{“width”:540,“height”:168}}   info:[debug]将命令推送到appium工作队列:[“element:touchDown”,{“elementId”:“2”,“x”:270,“y”:1836}]   info:[debug] [BOOTSTRAP] [debug]从客户端获取数据:{“cmd”:“action”,“action”:“element:touchDown”,“params”:{“elementId”:“2”,“x “:270,” Y“:1836}}   info:[debug] [BOOTSTRAP] [debug]得到ACTION类型的命令   info:[debug] [BOOTSTRAP] [debug]得到命令动作:touchDown   info:[debug] [BOOTSTRAP] [debug]使用元素执行TouchDown?真x:270,y:1836   info:[debug] [BOOTSTRAP] [错误]错误调用对象com.android.uiautomator.core.InteractionController@4c33b上的方法private boolean com.android.uiautomator.core.InteractionController.touchDown(int,int)参数[270] ,1836年null   info:[debug] [BOOTSTRAP] [debug]问题调用touchDown:java.lang.RuntimeException:在对象com.android.uiautomator上调用方法private boolean com.android.uiautomator.core.InteractionController.touchDown(int,int)时出错.core.InteractionController @ 4c33b带参数[270,1836]   info:[debug]响应客户端错误:{“status”:13,“value”:{“message”:“处理命令时发生未知的服务器端错误。”,“origValue”:“执行失败触摸事件“},”sessionId“:”797740b8-3fb1-45ae-b31e-1db9aa3e4513“}   信息:< - POST / wd / hub / session / 797740b8-3fb1-45ae-b31e-1db9aa3e4513 / touch / perform 500 256.730 ms - 198   info:[debug] [BOOTSTRAP] [debug]返回结果:{“status”:13,“value”:“无法执行触摸事件”}   信息: - > DELETE / wd / hub / session / 797740b8-3fb1-45ae-b31e-1db9aa3e4513 {}   信息:关闭appium会话

1 个答案:

答案 0 :(得分:0)

我得到了解决:

MobileElement loginBtn=androidDriver.findElementById("com.spotyo.music:id/button_login");
if (loginBtn.isDisplayed()){
    androidDriver.tap(1, loginBtn, 1);      
}