Тестирование автоматизации пользовательского интерфейса приложения Python для Windows: как отправлять события мыши и клавиатуры в winappdriver?
Я тестирую оконное приложение (окно формы). Я использую python(appium, robotframework), winAppDriver.
Моя задача:
- щелкните правой кнопкой мыши, откройте контекстное меню и выберите один из них.
что я должен сделать:
- используя python для отправки правого клика, а затем выберите действие меню (как цепочка действий в сети селена)
Я нашел элемент. но я прошел док, до сих пор не смог узнать, как это сделать в Python.
это возможно через:
- отправить сообщение на URL 127.0.0.1:4723/:sessionId/buttondown.
- использовать Python для отправки ключей в расположение веб-элемента?(мне удалось сделать это в моем коде, но это не то, что я хочу, код выглядит некрасиво)
мой короткий код:
#to test a window application, wrote by C# windows form
from appium import webdriver
desired_caps = {}
desired_caps["app"] = "D:\\sample.exe"
driver =webdriver.Remote(command_executor='http://127.0.0.1:4723',desired_capabilities=desired_caps)
button= driver.find_element_by_name("Root")
#button.contextClick()??
#how to
#I managed to use pyautogui, to send mouse and keyboard event, but the code look ugly. FYI.
driver_location=driver.get_window_position()
root=driver.find_element_by_name("Root")
root.click()
button_location=root.location
x, y = pyautogui.position()
pyautogui.moveTo(button_location['x']+driver_location['x'],button_location['y']+driver_location['y'])
pyautogui.click( button='right')
Пожалуйста, помогите, большое спасибо
1 ответ
Вы можете использовать driver.send_keys(Keys.SHIFT + Keys.F10) (Shift+F10 на клавиатуре — это сочетание клавиш для щелчка правой кнопкой мыши).