test_keyboard.py 577 B

12345678910111213141516171819
  1. from selenium.webdriver.common.action_chains import ActionChains
  2. from selenium.webdriver.common.by import By
  3. from nicegui import ui
  4. from .screen import Screen
  5. def test_keyboard(screen: Screen):
  6. result = ui.label()
  7. keyboard = ui.keyboard(on_key=lambda e: result.set_text(f'{e.key, e.action}'))
  8. screen.open('/')
  9. assert screen.selenium.find_element(By.ID, keyboard.id)
  10. ActionChains(screen.selenium) \
  11. .send_keys('t') \
  12. .perform()
  13. screen.wait(0.5)
  14. screen.should_contain('t, KeyboardAction(keydown=False, keyup=True, repeat=False)')