16.path_deploy.py 1003 B

12345678910111213141516171819202122232425262728293031323334
  1. import os
  2. import subprocess
  3. from percy import percySnapshot
  4. from selenium.webdriver import Chrome
  5. import util
  6. from pywebio.platform import path_deploy
  7. from pywebio.utils import *
  8. here_dir = os.path.dirname(os.path.abspath(__file__))
  9. demos_dir = os.path.join(here_dir, '..', 'demos')
  10. def test(server_proc: subprocess.Popen, browser: Chrome):
  11. time.sleep(10)
  12. percySnapshot(browser, name='path_deploy_1')
  13. browser.get('http://localhost:8080/')
  14. time.sleep(2)
  15. page_html = browser.find_element_by_tag_name('body').get_attribute('innerHTML')
  16. print(page_html)
  17. for f in ['bmi', 'bokeh_app', 'chat_room', 'input_usage', 'output_usage', 'set_env_demo']:
  18. assert f in page_html, f'{f} not in page'
  19. time.sleep(2)
  20. def start_test_server():
  21. os.remove(os.path.join(demos_dir, 'index.py'))
  22. path_deploy(demos_dir, port=8080, host='127.0.0.1', cdn=False)
  23. if __name__ == '__main__':
  24. util.run_test(start_test_server, test, address='http://localhost:8080/bokeh_app')