HttpRunnerManager自動化測試安裝部署(CentOS)


 

HttpRunnerManager V2.0此項目是一個基於HttpRunner的接口自動化測試平台,同時HttpRunner 是一款面向 HTTP(S) 協議的通用測試框架,只需編寫維護一份 YAML/JSON 腳本,即可實現自動化測試、性能測試、線上監控、持續集成等多種測試任務。

新版本主要增加了定時任務,異步執行,報告持久化、日志保存以及數據類型支持,QQ群歡迎提問:628448476。

本文將自行進行安裝的步驟進行整理發布,這是在網絡參考一些大神發布的文章,同時總結了一些新的問題。

 一、准備環境和安裝包

主要包括:CentOS7.6,HttpRunnerManager V2.0,mysql5.7.26,python3.6.4,Django2.1.2,rabbitmq-server-3.6.8(為了避免兼容問題,強烈建議版本盡可能相同,不同時盡量選更高版本。)

CentOS建議不要用6.X,會出現各種難以解決的問題,一些安裝包的很難解決依賴包和相應版本問題,建議重新用centos7X版本。

下載可自行百度,個人在此提供以下包下載鏈接。

CentOS:https://mirrors.edge.kernel.org/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso(安裝教程:https://www.cnblogs.com/clsn/p/8338099.html#auto_id_22)

HttpRunnerManager V2.0:https://github.com/samasword/HttpRunnerManager或https://github.com/HttpRunner/HttpRunnerManager

其他一些具體配置時提供了下載方法。

二、修改項目設置:

  下載的包如果不是zip格式,建議解壓后重新壓縮成zip,再上傳到centos服務器,用yum install -y unzip zip下載zip解壓工具,然后用unzip HttpRunnerManager.zip在centos下進行解壓。

1、打開下載后解壓的源碼包,進入HttpRunnerManager/HttpRunnerManager文件夾下,找到 settings.py打開修改。(修改可在window修改后壓縮上傳,也可上傳后在centos上用vi修改。)

  修改:HttpRunnerManager/HttpRunnerManager/settings.py里DATABASES字典和郵件發送賬號相關配置

DATABASES = {
  'default': {
  'ENGINE': 'django.db.backends.mysql',
  'NAME': 'HttpRunner', # 新建數據庫名,自己在數據庫新建的一個'HttpRunner'
  'USER': 'root', # 安裝的數據庫登錄名
  'PASSWORD': 'lcc123456', # 安裝的數據庫登錄密碼
  'HOST': '127.0.0.1', # 數據庫所在服務器ip地址(虛擬機就是虛擬機ip)
  'PORT': '3306', # 監聽端口 默認3306即可
  }
}

再修改郵箱配置代碼:

EMAIL_SEND_USERNAME = 'username@163.com' # 郵箱地址,定時任務報告發送郵箱,支持163,qq,sina,企業qq郵箱等,注意需要在郵箱設置中開通smtp服務
EMAIL_SEND_PASSWORD = 'password' # 郵箱的登錄密碼

最后修改worker相關配置:

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地址(比如我的虛擬機192.168.31.16,那就填下這個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

還要修改HttpRunnerManager目錄下requirements.txt:

將Django == 2.0.3改為Django == 2.1.2,以及刪除mysqlclient == 1.3.12

因為后續會安裝這個版本的Django2.1.2,同時mysqlclient需要手動安裝

2、安裝數據庫(建議cd ../usr/loal后安裝軟件到根目錄的/usr/loal目錄下)

個人覺得可以在linux中/usr/loal/目錄下直接用:wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm進行下載安裝(沒有此命令,可以yum isntall wget或百度linux下wget安裝方法)

具體操作參考這篇博客,個人感覺最詳細和合理:https://www.cnblogs.com/dengshihuang/p/8029372.html

3、安裝python(建議cd ../usr/loal后安裝軟件到根目錄的/usr/loal目錄下)

    a.下載可以在linux中/usr/loal/直接用:wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz ,然后解壓,安裝

  b.接下來一步步按以下命令執行

tar -xvf Python-3.6.4.tgz
cd Python-3.6.4
./configure  --with-ssl
yum install libffi-devel openssl-devel zlib* -y
make all && make install
(如果make安裝時出現zipimport.ZipImportError: can't decompress data; zlib not availablemake: *** [install] 錯誤 1)請使用以下命令解決:
  yum install zlib*然后在輸入y重新執行:make all && make install 即可)
make clean
make distclean
/usr/local/bin/python3 -V

輸入上一條命令后就會顯示版本3.6.4

c.接下來建立軟連接指向到當前系統默認python命令的bin目錄,讓系統使用新版本python 輸入以下命令

(另一種方法:終端輸入sudo vi ~/.bashrc輸入i 在最下面加上alias python='python3'Esc :wq 保存最后在終端輸入source ~/.bashrc)

  mv /usr/bin/python /usr/bin/python2.7

  (如果出現[root@YlfCenterOS: Python-3.6.4]# mv /usr/bin/python /usr/bin/python2.7 mv: "/usr/bin/python" 與"/usr/bin/python2.7" 為同一文件

  那么執行:rm -rf /usr/bin/python,再執行下面的ls命令就行)

  ln -s /usr/local/bin/python3.6 /usr/bin/python
  再輸入:python -V,即可查看當前默認python版本

d.由於安裝python3.6覆蓋了系統的2.7,需要更改配置文件才能用yum

修改yum配置文件vi /usr/bin/yum vi /usr/libexec/urlgrabber-ext-down這兩個文件

把兩個文件的頭部的#!/usr/bin/python改成#!/usr/bin/python2.7 //改為之前的老版本號

保存退出,yum即可正常使用。如若有其他命令、軟件不能正常使用,仿照yum配置文件的修改方法,修改其配置文件即可。 

e.更新pip,執行命令:python -m pip install --upgrade pip  然后用pip -V 查看版本是不是19.x.x了。

f.更新setuptools,執行命令: pip install --upgrade setuptools

4、安裝Django,直接使用pip3進行安裝:

  pip3 install Django==2.1.2,安裝后可進行驗證,輸入python,再import后打印版本。

  

  如果安裝失敗,可以進行以下嘗試;

wget https://www.djangoproject.com/download/2.1.2/tarball/ --no-check-certificate
tar xzvf Django-2.1.2.tar.gz    # 解壓下載包
cd Django-2.1.2               # 進入 Django 目錄
python setup.py install       # 執行安裝命令

  5、安裝RabbitMQ

    具體參考:https://www.cnblogs.com/fxcity/p/11041994.html或者https://testerhome.com/notes/2164

    service rabbitmq-server start

  6、安裝mysqlclient,執行命令

    ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config

    pip3 install mysqlclient 或者 yum install mysqlclient

    

  說明:上述教程不能保證百分百無問題,遇到問題可以自行百度或評論或發信息至我郵箱835393537@qq.com

      有問題把報錯的提示復制一兩行進行百度或谷歌搜索解決。

三、編譯運行

  1、在安裝RabbitMQ后,確定該服務已啟動,確定數據庫mysql服務和RabbitMQ服務處於啟動狀態。

  2、在CentsOS中進入的源碼包文件夾HttpRunnerManager下,並確定當前文件夾下是有requirements.txt文件的。

    然后執行:pip install -r requirements.txt

  3、執行:python manage.py makemigrations ApiManager

  4創建超級用戶,執行:python manage.py createsuperuser 后台管理數據庫(地址:http://192.168.31.16:8000/admin/),並按提示輸入相應用戶名,密碼,郵箱。 如不需用,可跳過此步驟

  5、開啟服務,python manage.py runserver 0.0.0.0:8000(ip必須為0.0.0.0,端口8000可自行修改,訪問時必須帶設置的端口)開啟成功如下圖。

  說明:Ip為0.0.0.0網上說時為了局域網內其他主機有權限訪問,訪問時地址是centos的ip加開啟服務時設置的端口。

  例如我的centos ip是192.168.31.16,則可以通過以下地址訪問相關服務。

  相關地址:http://192.168.31.16:8000/api/login/(登錄)

  

       http://192.168.31.16:8000/api/register/(注冊)

       http://192.168.31.16:8000/admin/(后台)  

  特此說明下:服務正常啟動后,centos虛擬機是服務器,這是主機瀏覽器還是無法訪問的,必須再創建一個window虛擬機,在windows虛擬機中訪問,

  具體原因應該是局域網網絡問題,暫時沒找到解決方案。后續有消息會更新或加在評論區。也望各位指正和提醒一些問題的解決方法。

  網上說無法訪問可嘗試關閉服務器和本機防火牆試試。

   補充:本人win10主機,后經嘗試,可以這樣使主機瀏覽器訪問HttpRunnerManager,在防火牆中設置{容許應用通過防火牆-然后選擇你訪問的瀏覽器的.exe文件,然后輸入地址就可以訪問了。}

    

  

四、問題補充

1、 后續這個項目具體使用方法參考社區:https://testerhome.com/topics/13295(實際操作)

2、參考鏈接:

1、https://testerhome.com/topics/18498

2、https://www.cnblogs.com/dengshihuang/p/8029372.html

3、https://testerhome.com/notes/2164

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM