/
varon
/
testcase
Обзор
Документация
Войти
/
varon
/
testcase
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
submit/test_key_presses.py
36 строк
2 KB
varon
Create: .gitignore, CACHEDIR.TAG, README.md, nodeids, conftest.py, test_autocomplete.py, test_checkboxes.py, test_forgot_password.py, test_inputs.py, test_key_presses.py, test_login.py
15 июн 2026, 14:34
Верифицирован
15 июн 2026, 14:34
b72d575
Код
Авторство
О чём код?
import pytest from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from conftest import BASE_URL class TestKeyPresses: @pytest.mark.parametrize("key_name,key_code,expected", [ ("Escape", 27, "You entered: ESCAPE"), ("Control", 17, "You entered: CONTROL"), ("Enter", 13, "You entered: ENTER"), ("Backspace", 8, "You entered: BACK_SPACE"), ("Tab", 9, "You entered: TAB"), ("Shift", 16, "You entered: SHIFT"), ("Alt", 18, "You entered: ALT"), ]) def test_key_press(self, driver, key_name, key_code, expected): driver.get(f"{BASE_URL}/key-presses") WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.ID, "target")) ) if key_code == 8: driver.find_element(By.ID, "target").send_keys(Keys.BACK_SPACE) else: driver.execute_script(""" var event = new KeyboardEvent('keydown', { key: arguments[0], code: arguments[0], keyCode: arguments[1], which: arguments[1], bubbles: true, cancelable: true }); document.getElementById('target').dispatchEvent(event); """, key_name, key_code) result = driver.find_element(By.ID, "result").text assert result == expected, f"Expected '{expected}', got '{result}'"