背景:
- 目前學習了django,剛入門。
- 平時做的接口測試都是基於jmeter做的。
- 接口自動化拿python做的,一直都有問題,token傳遞的問題,很是惆悵。
07-26 周五的時候 想到 看看網上有沒有什么開源的項目,能將自己目前學到的知識,做個整合。
搜索下 經過對比篩選,選擇了api_automatic_test
https://blog.csdn.net/zouhui1003it/article/details/90342520
https://blog.csdn.net/smooth00/article/details/84317512
開源項目地址:
開源自動化測試平台:https://testerhome.com/opensource_projects/37
github地址:https://github.com/githublitao/api_automation_test
將開源項目部署到本地---步驟參考如上的開源項目地址,此處主要做個問題整合,記錄解決辦法及思路。
1.suit 項目下載到本地時,打開,報找不到suit ,開始以為suit是一個單獨的第三方包,后來發現不是,解決辦法見步驟5
2.home路徑
#當前登錄用戶的目錄
import os
print(os.environ.keys())#查看有哪些key
print(os.environ['USERNAME'])
print(os.environ['USERPROFILE'])
# print (os.environ['HOMEPATH'])
3.查看下載了哪些包-第三方庫列表。
pip list 或 pip freeze
pip freeze > package_list.txt 將輸出的文件存到文件中
4.生成遷移文件、生成遷移表
python manage.py makemigrations
python manage.py migrate
5. File "F:\Download\GoogleChrome\api_automation_test-master\api_test\apps.py", line 2, in <module>
from suit.apps import DjangoSuitConfig
ModuleNotFoundError: No module named 'suit'
原因可能 是django-suit與django 版本要匹配
django-suit==2.0a1 要與Django==1.10.6 這個版本一起用才可以
解決辦法: pip install https://github.com/darklow/django-suit/tarball/v2
下載后的 django-suit版本為:django-suit==2.0a1 此時django版本2.0.2
6.生成遷移文件可能會報錯:
問題:python manage.py makemigrations 執行這個報錯
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is required; you have 0.7.11.None
解決辦法:解決辦法:
找到Python安裝路勁下的Python36-32\Lib\site-packages\django\db\backends\mysql\base.py文件
將文件中的如下代碼注釋
7.創建超級用戶
python manage.py createsuperuser
username api
passwoed DDWang123456
8.安裝vue環境,下載的Node.js的並配置環境,下載NPM包管理器,安裝VUE腳手架用於生成VUE工程模板
npm install --global vue-cli
npm: Nodejs下的包管理器。
webpack: 它主要的用途是通過CommonJS的語法把所有瀏覽器端需要發布的靜態資源做相應的准備,比如資源的合並和打包。
vue-cli: 用戶生成Vue工程模板。(幫你快速開始一個vue的項目,也就是給你一套vue的結構,包含基礎的依賴庫,只需要 npm install就可以安裝)
9安裝vue環境:
先查看本地windows 下是否安裝node ,cmd 命令行下 輸入 node
查看node 版本 node -v
安裝完node.js 之后,npm 也就自動安裝了
檢查版本 node -v 和 npm -v
npm install --global vue-cli
10.cmd進入前端目錄下,運行npm install安裝相關依賴包 (進入到項目的frontend 目錄下,執行 npm install )
執行過程報錯了 然后我又繼續執行npm run build(打包) 還是報錯了
解決辦法:
編譯失敗,打包失敗的,執行下下面這個命令:
npm rebuild node-sass
11啟動項目:
python manage.py runserver 0.0.0.0:8000
12.現在就可以訪問http://127.0.0.1:8000進行登錄,
http://127.0.0.1:8000/admin為后台管理平台
(注:如果登錄不了的話,可能是接口請求地址錯誤,修改api_automation_test /frontend/src/api/api.js注釋其他IP,保留127.0.0.1)
13.請問創建好用戶后,站點登錄為什么一直提示賬號或密碼錯誤???
原因 : (1)npm run build 執行的時候報錯 被忽略了
(2)npm install 安裝依賴包的時候報錯,請求登錄,打開f12,看console,是不是提示缺少依賴包之類的。
解決辦法:
依次執行以下語句
npm cache clean --force
npm install -g npm
npm install -g cnpm --registry=https://registry.npm.taobao.org
npm audit fix --force
npm run build -----報錯了
14.執行npm run build報:TypeError: Cannot read property 'compilation' of undefined
解決辦法:https://www.jianshu.com/p/3f8f60e01797
15 訪問 http://127.0.0.1:8000/#/projectList 報用戶名或密碼錯誤
F12 查看請求地址,發現是錯的,不是127.0.0.1 。修改正確后,運行還是報錯。
https://testerhome.com/topics/13609?order_by=created_at&#replies 查看評論,發現修改完api.js后,需要重新build.
執行 npm run install
結果:build成功后,http://127.0.0.1:8000/#/projectList 登錄成功
縷縷命令,按照順序執行
pip install -r requirements.txt pip install https://github.com/darklow/django-suit/tarball/v2
修改settings下數據庫連接的用戶名和密碼 python manage.py makemigrations #生成遷移文件 python manage.py migrate #生成表 python manage.py createsuperuser #創建超級用戶
安裝node.js環境(類似於JVM,windows下下載安裝包,安裝完node之后,npm就自動安裝了,注意檢查對應版本) npm install --global vue-cli #安裝腳手架用於生成VUE工程模板 npm install #安裝依賴包 ,先進入到frontend目錄下 npm run build #打包 python manage.py runserver 0.0.0.0:8000 #運行django項目
----以上命令基於在每一個步驟不報錯的情況下,順序執行后可打開項目
如果在安裝依賴包的過程中報錯,執行以下命令
npm cache clean --force #npm install 報錯后執行該命令 npm install -g npm #npm i module_name -g 全局安裝
npm install -g cnpm --registry=https://registry.npm.taobao.org #使用淘寶鏡像
npm audit fix --force
npm run build
執行npm run build報錯,見步驟14,可正常解決。
重新執行npm run build ,並執行python manage.py runserver 0.0.0.0:8000 #運行django項目
附上幾張項目成功訪問的圖片: