网页渲染时间 - yann学长的运维开发指南37

in #devops8 years ago

大纲

第6章的内容还是比较激动的,在这个章节里会完成一个可用的网站
加上域名就可以对外展示的那种
http://www.iamyann.com/images/0605/20180605211851.png
(html comment removed: more)

内容介绍

今天说一下,修改代码以解决测试框架即时操作与网页渲染过慢的矛盾

下面来看今天的内容
具体内容如下:

  • 整理模块
  • 文件目录结构
  • 添加NewVisitorTest类
  • 修改访问地址
  • 运行新的功能测试

解决网页渲染时间

只运行单元测试

现在运行测试命令,Django会运行功能测试和单元测试

python manage.py test

......F
Ran 7 tests in 6.732s

如果打算只运行单元测试,就要额外指出

python manage.py test lists

Ran 6 tests in 0.009s

升级Selenium

原书的作者在这里升级了Selenium和Geckodriver,因为他遇到了问题

但我并没有遇到,也可能是因为我没有使用Geckodriver. 总之贴一下方法.

pip install --upgrade selenium
# 下载新的Geckodriver
https://github.com/mozilla/geckodriver/releases

说一下 time.sleep

在之前的功能测试里,有这样一个语句

http://www.iamyann.com/images/0605/20180605204949.png
这个语句的意思是发送完Enter后休眠1秒钟,让测试框架有时间检查table的内容

用这个的原因是,浏览器渲染需要时间

反复测试页面

重构一下测试,在10秒内反复测试页面
http://www.iamyann.com/images/0605/20180605205641.png
http://www.iamyann.com/images/0605/20180605205945.png
试了一下,方法可用,现在来改变测试方法

运行新的测试

替换相关语句,具体对比如下
http://www.iamyann.com/images/0605/20180605210957.png
更新后,测试通过

python manage.py test
......F

这是我们最早设置的提示语句,说明功能测试已经跑到最后了,运行测试成功

预告

今天和页面的渲染时间斗争了一晚上,新功能只能下会再说明了

http://hero.iamyann.com/blog_webchat.jpg