python+appium:程序能够调起,不能操作?!

今天在学习appium操作微信小程序时,需在微信首页向下滑动才能找到小程序入口,实现时发现能够调起微信,但是不能滑动,附上代码:

from appiumimport webdriver

from timeimport sleep

desired_caps = {}

desired_caps['platformName'] ='Android'

desired_caps['platformVersion'] ='9'

desired_caps['deviceName'] ='XiaoMi8'

desired_caps['appPackage'] ='com.tencent.mm'

desired_caps['appActivity'] ='.ui.LauncherUI'

desired_caps['noReset'] =True    #不重置应用数据

desired_caps['fastReset'] ="false"

desired_caps['fullReset'] ="false"

desired_caps['chromeOptions'] = {

'androidProcess':'com.tencent.mm:appbrand0'

                }

#appium连接

#打开微信

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

driver.implicitly_wait(10)

#向下滑动微信

window = driver.get_window_size()

x = window["width"] *0.5      #横轴不变

y1 = window["height"] *0.2    #起始纵轴

y2 = window["height"] *0.8    #结束纵轴

driver.swipe(x,y1,x,y2)

sleep(10)

driver.quit()

运行后报错如下:

selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Failed to launch Appium Settings app: Condition unmet after 5097 ms. Timing out.

谷歌翻译:selenium.common.exceptions.WebDriverException:消息:处理命令时发生未知的服务器端错误。 原始错误:无法启动Appium设置应用程序:5097毫秒后条件未满足。 超时。

奇怪~

重新运行,发现微信调起来之后,后面的滑动操作没有运行~

--手机没连上adb?不不不,没连上的话微信都不可能调起来

--appium权限不够?关闭appium重新以管理员身份运行。再次运行还是报错

看来问题还是出现在滑动操作代码上,注释掉滑动操作代码后运行没有报错,没错了!就在这里。查看代码并没有发现哪里有问题,我**口吐芬芳~

于是使用appium Inspector连接,进行滑动操作,发现同样不能操作!

错误如下:

Call to 'tap' failed

[performTouchAction([{"action":"tap","options":{"x":486,"y":486}}])] Error response status: 13, , UnknownError - An unknown server-side error occurred while processing the command. Selenium error: An unknown server-side error occurred while processing the command. Original error: java.lang.SecurityException: Injecting to another application requires INJECT_EVENTS permission

于是,开始百度寻大神解决方案。经过近2个小时不懈努力,终于让我找见一遍看着靠谱的方法,而他的解决方案非常简单,就是在 开发者选项 中,将 【允许通过USB调试修改权限或模拟点击】打开

我**,再次口吐芬芳~

赶紧试试!!!

先用appium Inspector试试看


发现点击,滑动动作都没有报错!

再运行代码看看


没有报错,问题解决!还真是被自己蠢哭了!!!

解决方案:开发者模式中打开USB调试(安全设置)

你可能感兴趣的:(python+appium:程序能够调起,不能操作?!)