Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
KeyError:‘;touchAction’;在Appium中使用Python_Python_Python 3.x_Appium_Appium Android - Fatal编程技术网

KeyError:‘;touchAction’;在Appium中使用Python

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

我正在用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 = {
    "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中删除
,问题得以解决