test_clipboard.py 801 B

1234567891011121314151617181920212223
  1. from nicegui import ui
  2. from nicegui.testing import Screen
  3. def test_clipboard(screen: Screen):
  4. @ui.page('/')
  5. def page():
  6. ui.button('Copy to clipboard', on_click=lambda: ui.clipboard.write('Hello, World!'))
  7. async def read_clipboard():
  8. ui.notify('Clipboard: ' + await ui.clipboard.read())
  9. ui.button('Read from clipboard', on_click=read_clipboard)
  10. screen.open('/')
  11. screen.selenium.set_permissions('clipboard-read', 'granted')
  12. screen.selenium.set_permissions('clipboard-write', 'granted')
  13. screen.click('Copy to clipboard')
  14. screen.wait(0.5)
  15. assert screen.selenium.execute_script('return navigator.clipboard.readText()') == 'Hello, World!'
  16. screen.click('Read from clipboard')
  17. screen.should_contain('Clipboard: Hello, World!')