KeyError:‘;touchAction’;在Appium中使用Python
我正在用Python自学Appium,但由于面临错误,无法执行TouchAction KeyError:“touchAction” 详情如下:KeyError:‘;touchAction’;在Appium中使用Python,python,python-3.x,appium,appium-android,Python,Python 3.x,Appium,Appium Android,我正在用Python自学Appium,但由于面临错误,无法执行TouchAction KeyError:“touchAction” 详情如下: 应用程序版本:1.17.1 IDE:Pycharm 代码: from appium.webdriver.common.touch_action import TouchAction from selenium import webdriver # Define desired capabilities desired_caps = { "d
- 应用程序版本:1.17.1
- IDE:Pycharm
from appium.webdriver.common.touch_action import TouchAction
from selenium import webdriver
# Define desired capabilities
desired_caps = {
"deviceName": "ac******",
"platformName": "Android",
"appPackage": "com.android.dialer",
"noReset": "true",
"appActivity": "com.oneplus.contacts.activities.OPDialtactsActivity"
}
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
driver.implicitly_wait(20)
# Locators and actions
user_action = TouchAction(driver)
user_action.tap(x=909, y=220).perform()
C:\Users\PycharmProjects\AppiumSandbox\venv\Scripts\python.exe C:/Users/PycharmProjects/AppiumSandbox/tests/contactone.py
Traceback (most recent call last):
File “C:/Users/PycharmProjects/AppiumSandbox/tests/contactone.py”, line 21, in
user_action.tap(x=909, y=220).perform()
File “C:\Users\PycharmProjects\AppiumSandbox\venv\lib\site-packages\appium\webdriver\common\touch_action.py”, line 149, in perform
self._driver.execute(Command.TOUCH_ACTION, params)
File “C:\Users\PycharmProjects\AppiumSandbox\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py”, line 319, in execute
response = self.command_executor.execute(driver_command, params)
File “C:\Users\PycharmProjects\AppiumSandbox\venv\lib\site-packages\selenium\webdriver\remote\remote_connection.py”, line 367, in execute
command_info = self._commands[command]
KeyError: ‘touchAction’
[HTTP] --> POST /wd/hub/session/f509a834-5b7e-4354-89d5-00dd4a59666d/timeouts
[HTTP] {“implicit”:20000}
[W3C (f509a834)] Calling AppiumDriver.timeouts() with args: [null,null,null,null,20000,“f509a834-5b7e-4354-89d5-00dd4a59666d”]
[BaseDriver] W3C timeout argument: {“implicit”:20000}}
[BaseDriver] Set implicit wait to 20000ms
[W3C (f509a834)] Responding to client with driver.timeouts() result: null
登录PyCharm:
from appium.webdriver.common.touch_action import TouchAction
from selenium import webdriver
# Define desired capabilities
desired_caps = {
"deviceName": "ac******",
"platformName": "Android",
"appPackage": "com.android.dialer",
"noReset": "true",
"appActivity": "com.oneplus.contacts.activities.OPDialtactsActivity"
}
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
driver.implicitly_wait(20)
# Locators and actions
user_action = TouchAction(driver)
user_action.tap(x=909, y=220).perform()
C:\Users\PycharmProjects\AppiumSandbox\venv\Scripts\python.exe C:/Users/PycharmProjects/AppiumSandbox/tests/contactone.py
Traceback (most recent call last):
File “C:/Users/PycharmProjects/AppiumSandbox/tests/contactone.py”, line 21, in
user_action.tap(x=909, y=220).perform()
File “C:\Users\PycharmProjects\AppiumSandbox\venv\lib\site-packages\appium\webdriver\common\touch_action.py”, line 149, in perform
self._driver.execute(Command.TOUCH_ACTION, params)
File “C:\Users\PycharmProjects\AppiumSandbox\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py”, line 319, in execute
response = self.command_executor.execute(driver_command, params)
File “C:\Users\PycharmProjects\AppiumSandbox\venv\lib\site-packages\selenium\webdriver\remote\remote_connection.py”, line 367, in execute
command_info = self._commands[command]
KeyError: ‘touchAction’
[HTTP] --> POST /wd/hub/session/f509a834-5b7e-4354-89d5-00dd4a59666d/timeouts
[HTTP] {“implicit”:20000}
[W3C (f509a834)] Calling AppiumDriver.timeouts() with args: [null,null,null,null,20000,“f509a834-5b7e-4354-89d5-00dd4a59666d”]
[BaseDriver] W3C timeout argument: {“implicit”:20000}}
[BaseDriver] Set implicit wait to 20000ms
[W3C (f509a834)] Responding to client with driver.timeouts() result: null
登录应用程序:
from appium.webdriver.common.touch_action import TouchAction
from selenium import webdriver
# Define desired capabilities
desired_caps = {
"deviceName": "ac******",
"platformName": "Android",
"appPackage": "com.android.dialer",
"noReset": "true",
"appActivity": "com.oneplus.contacts.activities.OPDialtactsActivity"
}
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
driver.implicitly_wait(20)
# Locators and actions
user_action = TouchAction(driver)
user_action.tap(x=909, y=220).perform()
C:\Users\PycharmProjects\AppiumSandbox\venv\Scripts\python.exe C:/Users/PycharmProjects/AppiumSandbox/tests/contactone.py
Traceback (most recent call last):
File “C:/Users/PycharmProjects/AppiumSandbox/tests/contactone.py”, line 21, in
user_action.tap(x=909, y=220).perform()
File “C:\Users\PycharmProjects\AppiumSandbox\venv\lib\site-packages\appium\webdriver\common\touch_action.py”, line 149, in perform
self._driver.execute(Command.TOUCH_ACTION, params)
File “C:\Users\PycharmProjects\AppiumSandbox\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py”, line 319, in execute
response = self.command_executor.execute(driver_command, params)
File “C:\Users\PycharmProjects\AppiumSandbox\venv\lib\site-packages\selenium\webdriver\remote\remote_connection.py”, line 367, in execute
command_info = self._commands[command]
KeyError: ‘touchAction’
[HTTP] --> POST /wd/hub/session/f509a834-5b7e-4354-89d5-00dd4a59666d/timeouts
[HTTP] {“implicit”:20000}
[W3C (f509a834)] Calling AppiumDriver.timeouts() with args: [null,null,null,null,20000,“f509a834-5b7e-4354-89d5-00dd4a59666d”]
[BaseDriver] W3C timeout argument: {“implicit”:20000}}
[BaseDriver] Set implicit wait to 20000ms
[W3C (f509a834)] Responding to client with driver.timeouts() result: null
通过从appium import webdriver中添加
,并在上述自动化脚本下从selenium import webdriver中删除,问题得以解决