【有书共读】《Python测试驱动开发》读书笔记03
第一章:使用功能测试协助安装Django
在写单元测试过程中,一般是先写功能代码,然后再写单元测试用例,在编写单元测试用例的过程中,可能需要调整功能代码,从而使单元测试用例通过。但是TDD就特别要求先写测试用例,后写实现代码。即书中所说:首先要编写测试,然后运行,看是否和预期一样失败,只有失败了才能继续下一步--编写应用程序
1.1、编写功能测试用例
from selenium import webdriver
browser = webdriver.Firefox()
browser.get('https://www.baidu.com/')
assert 'Django' in browser.title
注:书中默认本地是开了服务端的,端口是8000,所以用百度主页的链接代替
运行时遇到问题如下:
1、提示未安装selenium
回顾上一章selenium安装的过程,唯一的可疑之处在于之前是安装在虚拟环境目录下,检验方法 $pip3 list
或 $sudo find / -name "selenium" -print
/Users/casablanca/.virtualenvs/superlists/lib/python3.6/site-packages/selenium
故为了快速解决此问题,则在真实环境中同样安装selenium,确认退出虚拟环境后
$ pip3 install "django<1.12" "selenium<4" -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
2、本地运行 $ python3 /Users/casablanca/study_py/TDD/1/functional_tests.py 时报错,错误截图如下:
于是重新检查geckodriver的安装方式,查资料后决定再装一次
-下载 geckodriver;地址:https://github.com/mozilla/geckodriver/releases
-解压后将geckodriver 存放至 /usr/local/bin/ 路径下
-$sudo mv /Users/casablanca/Downloads/geckodriver /usr/local/bin
-配置环境变量(sudo find / -name "geckodriver" -print 找出安装路径)
3、运行后断言报错,如图:
换一个浏览器标题包含 'Django'的即可
from selenium import webdriver
browser = webdriver.Firefox()
browser.get('https://www.runoob.com/django/django-tutorial.html')
# browser.get('https://www.baidu.com/')
assert 'Django' in browser.title
#测试##读书笔记##笔记##Python#
查看4道真题和解析