1
0

2.script_mode.py 981 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. # script mode 下,此时 server 应停止
  20. server_proc.wait(timeout=8)
  21. time.sleep(1)
  22. template.save_output(browser, '2.script_mode.html',
  23. process_func=lambda i: i.replace('::1', '127.0.0.1')) # because tornado default bind ipv4 and ipv6 in script mode
  24. if __name__ == '__main__':
  25. # 设置监听端口,并关闭自动打开浏览器
  26. os.environ["PYWEBIO_SCRIPT_MODE_PORT"] = "8080"
  27. util.run_test(target, test)