1
0

2.script_mode.py 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import os
  2. import subprocess
  3. import time
  4. from selenium.webdriver import Chrome
  5. import template
  6. import util
  7. from pywebio.input import *
  8. from pywebio.utils import run_as_function
  9. def target():
  10. template.basic_output()
  11. template.background_output()
  12. run_as_function(template.basic_input())
  13. actions(buttons=['Continue'])
  14. template.background_input()
  15. def test(server_proc: subprocess.Popen, browser: Chrome):
  16. template.test_output(browser)
  17. time.sleep(1)
  18. template.test_input(browser)
  19. time.sleep(1)
  20. template.save_output(browser, '2.script_mode.html',
  21. # because tornado default bind ipv4 and ipv6 in script mode
  22. process_func=lambda i: i.replace('::1', '127.0.0.1'))
  23. browser.close()
  24. time.sleep(3)
  25. # script mode 下,此时 server 应停止
  26. server_proc.wait(timeout=8)
  27. if __name__ == '__main__':
  28. # 设置监听端口,并关闭自动打开浏览器
  29. os.environ["PYWEBIO_SCRIPT_MODE_PORT"] = "8080"
  30. util.run_test(target, test)