基於HttpRunner的接口自動化測試平臺: HttpRunner
, djcelery
and Django
_. HttpRunner手冊: http://cn.httprunner.org/前端
安裝mysql數據庫服務端(推薦5.7+),並設置爲utf-8編碼,建立相應HttpRunner數據庫,設置好相應用戶名、密碼,啓動mysqlpython
修改:HttpRunnerManager/HttpRunnerManager/settings.py裏DATABASES字典和郵件發送帳號相關配置mysql
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'HttpRunner', # 新建數據庫名 'USER': 'root', # 數據庫登陸名 'PASSWORD': 'lcc123456', # 數據庫登陸密碼 'HOST': '127.0.0.1', # 數據庫所在服務器ip地址 'PORT': '3306', # 監聽端口 默認3306便可 } } EMAIL_SEND_USERNAME = 'username@163.com' # 定時任務報告發送郵箱,支持163,qq,sina,企業qq郵箱等,注意須要開通smtp服務 EMAIL_SEND_PASSWORD = 'password' # 郵箱密碼
安裝rabbitmq消息中間件,啓動服務,訪問:http://host:15672/#/ host即爲你部署rabbitmq的服務器ip地址 username:guest、Password:guest, 成功登錄便可nginx
service rabbitmq-server start
修改:HttpRunnerManager/HttpRunnerManager/settings.py裏worker相關配置git
djcelery.setup_loader() CELERY_ENABLE_UTC = True CELERY_TIMEZONE = 'Asia/Shanghai' BROKER_URL = 'amqp://guest:guest@127.0.0.1:5672//' # 127.0.0.1即爲rabbitmq-server所在服務器ip地址 CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler' CELERY_RESULT_BACKEND = 'djcelery.backends.database:DatabaseBackend' CELERY_ACCEPT_CONTENT = ['application/json'] CELERY_TASK_SERIALIZER = 'json' CELERY_RESULT_SERIALIZER = 'json' CELERY_TASK_RESULT_EXPIRES = 7200 # celery任務執行結果的超時時間, CELERYD_CONCURRENCY = 10 # celery worker的併發數 也是命令行-c指定的數目 根據服務器配置實際更改 默認10 CELERYD_MAX_TASKS_PER_CHILD = 100 # 每一個worker執行了多少任務就會死掉,我建議數量能夠大一些,默認100
命令行窗口執行pip install -r requirements.txt 安裝工程所依賴的庫文件github
命令行窗口切換到HttpRunnerManager目錄 生成數據庫遷移腳本,並生成表結構sql
python manage.py makemigrations ApiManager #生成數據遷移腳本 python manage.py migrate #應用到db生成數據表
建立超級用戶,用戶後臺管理數據庫,並按提示輸入相應用戶名,密碼,郵箱。 如不需用,可跳過此步驟數據庫
python manage.py createsuperuser
啓動服務,django
python manage.py runserver 0.0.0.0:8000
啓動worker, 若是選擇同步執行並確保不會使用到定時任務,那麼此步驟可忽略json
python manage.py celery -A HttpRunnerManager worker --loglevel=info #啓動worker python manage.py celery beat --loglevel=info #啓動定時任務監聽器 celery flower #啓動任務監控後臺
訪問:http://localhost:5555/dashboard 便可查看任務列表和狀態
瀏覽器輸入:http://127.0.0.1:8000/api/register/ 註冊用戶,開始盡情享用平臺吧
瀏覽器輸入http://127.0.0.1:8000/admin/ 輸入步驟6設置的用戶名、密碼,登陸後臺運維管理系統,可後臺管理數據
一、首先須要註冊一個新用戶,註冊成功後會自動跳轉到登陸頁面,正常登陸便可訪問頁面
二、登錄後默認跳轉到首頁,左側爲菜單欄,上排有快捷操做按鈕,當前只簡單的作了項目,模塊,用例,配置的統計
三、首先應該先添加一個項目,用例都是以項目爲維度進行管理, 注意簡要描述和其餘信息能夠爲空, 添加成功後會自動重定向到項目列表
四、支持對項目進行二次編輯,也能夠進行篩選等,項目列表頁面能夠選擇單個項目運行,也能夠批量運行,注意:刪除操做會強制刪除該項目下全部數據,請謹慎操做
五、當前項目能夠新增模塊了,以後用例或者配置都會歸屬模塊下,必須指定模塊所屬的項目,模塊列表與項目列表相似,故不贅述
六、新增用例,遵循HtttpRuunner腳本規範,能夠跨項目,跨模塊引用用例,支持拖拽排序,動態添加和刪減,極大地方便了場景組織, HttpRunner用例編寫很靈活,建議規範下編寫方式
七、新增配置,可定義全局變量,全局hook,公共請求參數和公共headers,通常可用於測試環境,驗證環境切換配置,具體用法參考HttpRunner手冊
八、支持添加項目級別定時任務,模塊集合的定時任務,遵循crontab表達式, 模塊列表爲空默認爲整個項目,定時任務支持選擇環境和配置
九、定時任務列表能夠對任務進行開啓或者關閉、刪除,不支持二次更改
十、用例列表運行用例能夠選擇單個,批量運行,鼠標懸浮到用例名稱後會自動展開依賴的用例,方便預覽,鼠標懸浮到對應左邊序列欄會自動收縮,只能同步運行
十一、項目和模塊列表能夠選擇單個,或者批量運行,能夠選擇運行環境,配置等,支持同步、異步選擇,異步支持自定義報告名稱,默認時間戳命名
十二、異步運行的用例還有定時任務生成的報告均會存儲在數據庫,能夠在線點擊查看,當前不提供下載功能
1三、高大上的報告(基於extentreports實現), 能夠一鍵翻轉主題哦
MockServer:https://github.com/yinquanwang/MockServer