我第一次使用appium
为Android应用运行 SELENIUM + JAVA 测试。 ( WIndows 8.1 )
我从Appium检查器复制了按钮的id。
我想点击按钮。
isDisplayed
返回 true 或gettext()
没问题
但是按钮上的loginBtn.tap(1, 1);
会出现以下错误
在eclipse控制台上
Appium控制台上的org.openqa.selenium.WebDriverException:未知的服务器端错误 处理命令时发生。
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会话
答案 0 :(得分:0)
我得到了解决:
MobileElement loginBtn=androidDriver.findElementById("com.spotyo.music:id/button_login");
if (loginBtn.isDisplayed()){
androidDriver.tap(1, loginBtn, 1);
}