1
0

3.script_mode.py 1017 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import os
  2. import subprocess
  3. import time
  4. from percy import percySnapshot
  5. from selenium.webdriver import Chrome
  6. import template
  7. import util
  8. from pywebio.input import *
  9. from pywebio.output import *
  10. from pywebio.utils import run_as_function
  11. def target():
  12. set_auto_scroll_bottom(True)
  13. template.basic_output()
  14. template.background_output()
  15. run_as_function(template.basic_input())
  16. actions(buttons=['Continue'])
  17. template.background_input()
  18. def test(server_proc: subprocess.Popen, browser: Chrome):
  19. percy_prefix = '[script_mode]'
  20. template.test_output(browser, percy_prefix=percy_prefix)
  21. time.sleep(1)
  22. template.test_input(browser, percy_prefix=percy_prefix)
  23. # script mode 下,此时 server 应停止
  24. server_proc.wait(timeout=8)
  25. percySnapshot(browser=browser, name=percy_prefix + 'over')
  26. if __name__ == '__main__':
  27. # 设置监听端口,并关闭自动打开浏览器
  28. os.environ["PYWEBIO_SCRIPT_MODE_PORT"] = "8080"
  29. util.run_test(target, test)