zoukankan      html  css  js  c++  java
  • windows下FasterRunner部署

    一、基本了解

    FasterRunner是一款基于HttpRunner的测试工具。

    在此感谢大佬李隆和尹全旺!!!

    FasterRunner:https://github.com/yinquanwang/FasterRunner
    FasterWeb:https://github.com/yinquanwang/FasterWeb

    安装参考:

    https://www.cnblogs.com/tiechui2015/p/10463548.html

    https://blog.csdn.net/weijiaxin2010/article/details/90080075

    https://blog.csdn.net/u012748719/article/details/90477779

    二、前端部署

    <前端环境准备>

    1.下载nodejs

    2.cmd查看

    node-v
    npm-v

    3.修改nodejs内置的npm默认配置路径,非必须(Nodejs 内置的npm默认会把模块安装在c盘的用户AppData目录下

    npm config set prefix "C:Program Files
    odejs
    ode_global"
    npm config set cache "C:Program Files
    odejs
    ode_cache"

     4.配置淘宝镜像

    npm config set registry https://registry.npm.taobao.org

    <前端部署>

    5.cd进去项目目录 ,安装依赖包

    npm install

    不出意外,会是这样的:

     未完待续......

    6.启动服务

    npm run dev

    执行结果可能是如下:

     各种包依赖不匹配,这和上述npm install的警告是有关的。所以来看看具体依赖哪些包,也就是package.json

    这里面webpack和webpack-cli还有其他几个版本有冲突。我的前端开发同学安装启动这个项目完全没问题,我这全新的环境就各种不匹配报错,可能是原本她本地就安装了一些依赖包。所以全新环境部署,整理解决办法如下:

    a.若npm install 安装警告后,继续npm run dev报错,报错内容和上述截图的类似;

    b.修改package.json,用如下内容替换(已经试出来没问题的):

    {
      "name": "api-web",
      "version": "1.0.0",
      "description": "A Vue.js project",
      "author": "尹全旺 <1263374981@qq.com>",
      "private": true,
      "scripts": {
        "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
        "start": "npm run dev",
        "build": "node build/build.js"
      },
      "dependencies": {
        "axios": "^0.18.0",
        "element-ui": "^2.4.6",
        "vue": "^2.5.2",
        "vue-monaco-editor": "0.0.19",
        "vue-router": "^3.0.1",
        "vuedraggable": "^2.16.0",
        "vuex": "^3.0.1"
      },
      "devDependencies": {
        "autoprefixer": "^7.1.2",
        "babel-core": "^6.22.1",
        "babel-helper-vue-jsx-merge-props": "^2.0.3",
        "babel-loader": "^7.1.1",
        "babel-plugin-syntax-jsx": "^6.18.0",
        "babel-plugin-transform-runtime": "^6.22.0",
        "babel-plugin-transform-vue-jsx": "^3.5.0",
        "babel-preset-env": "^1.3.2",
        "babel-preset-stage-2": "^6.22.0",
        "chalk": "^2.0.1",
        "copy-webpack-plugin": "^4.0.1",
        "css-loader": "^0.28.0",
        "extract-text-webpack-plugin": "^3.0.0",
        "file-loader": "^1.1.4",
        "friendly-errors-webpack-plugin": "^1.6.1",
        "html-webpack-plugin": "^2.30.1",
        "node-notifier": "^5.1.2",
        "optimize-css-assets-webpack-plugin": "^3.2.0",
        "ora": "^1.2.0",
        "portfinder": "^1.0.13",
        "postcss-import": "^11.0.0",
        "postcss-loader": "^2.0.8",
        "postcss-url": "^7.2.1",
        "rimraf": "^2.6.0",
        "semver": "^5.3.0",
        "shelljs": "^0.7.6",
        "uglifyjs-webpack-plugin": "^1.1.1",
        "url-loader": "^0.5.8",
        "vue-easytable": "^1.7.1",
        "vue-loader": "^13.3.0",
        "vue-style-loader": "^3.0.1",
        "vue-template-compiler": "^2.5.2",
        "vue2-ace-editor": "0.0.11",
        "webpack": "^3.3.0",
        "webpack-cli": "^2.1.1",
        "webpack-bundle-analyzer": "^2.9.0",
        "webpack-dev-server": "^2.9.1",
        "webpack-merge": "^4.1.0"
      },
      "engines": {
        "node": ">= 6.0.0",
        "npm": ">= 3.0.0"
      },
      "browserslist": [
        "> 1%",
        "last 2 versions",
        "not ie <= 8"
      ]
    }

    c.删掉package-lock.json和node_modules;

    d.重新npm install

    最终期望结果:

    三、后端部署

    1.安装依赖:cd 进入FasterRunner项目根路径

    pip install -r requirements.txt

    很遗憾,安装失败;打开requirements.txt,逐一安装,uWSGI安装失败,其他均安装成功;

    最后,决定采用apache+mod_wsgi部署Django项目,此处省略一二三四五六七,看此,该博主踩的坑,我一个不落都踩了......

    温馨提示:不支持在Windows上安装uwsgi

    2.下载、安装Apache

    下载地址:https://www.apachehaus.com/cgi-bin/download.plx

    安装:解压安装包,将apache的bin目录加入到环境变量path中,修改httpd.conf配置文件中SRVROOT的路径为apache的安装目录

     3.启动Apache服务

    cmd命令:httpd -k install -n “Apache”,将apache服务加入到Windows服务中

    打开服务,启动

    4.Mod_wsgi安装

    下载mod_wsgi python的插件至pythonScripts目录下: http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

    版本选择:

    如 mod_wsgi-4.7.1+ap24vc15-cp38-cp38-win_amd64.whl

    i. 这个插件对应的Apache版本是24, VC是15

    ii. python版本是3.8

    iii. 64位系统

    安装mod_wsgi :pip install “mod_wsgi-4.7.1+ap24vc15-cp38-cp38-win_amd64.whl”

    配置:mod_wsgi-express module-config

     

     将输出的三行内容复制到httpd.conf文件下

    5.将FasterRunner项目部署到Apache服务器

    修改Apache的httpd.conf文件,添加如下配置

    将httpd.conf配置文件中的 “Require all denied” 修改为 “Require all granted”

    将httpd.conf配置文件中的监听端口80改为8088

    6.创建FasterRunner的数据库

    查看FasterRunner/settings.py配置文件,找到数据库配置

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'fastrunner',  # 新建数据库名
            'USER': 'fastrunner',  # 数据库登录名,也可以是root
            'PASSWORD': 'fastrunner',  # 数据库登录密码
            'HOST': '127.0.0.1',  # 数据库所在服务器ip地址
            'PORT': '3306',  # 监听端口 默认3306即可
        }
    }

    创建数据库,创建数据库的账号、密码、端口需要与配置文件中一致(默认已安装:mysql+sql yog)

    ps:设置密码的时候,还遇到一个2058的报错

    SQLyog连接MySQL时出现的2058错误解决方法:
    配置新连接报错:错误码
    2058,分析是 mysql 密码加密方法变了。 解决方法:windows 下cmd 登录 mysql -u root -p 登录你的 mysql 数据库,然后执行这条SQL: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';(注意分号) #password 是自己设置的root密码; 然后重新配置SQLyog的连接,则可连接成功。

    7.执行Django数据库迁移脚本

    #cd进入FasterRunner根目录,有一个manage.py文件
    python manage.py makemigrations fastrunner fastuser # 生成数据库迁移脚本

    python manage.py migrate # 执行数据库迁移脚本

    可能会遇到这个报错:

     按照提示,在FasterRunner-master目录下,新建logs、debug.log目录,注意一定是logs文件夹,我就是没注意新建成log文件夹,一直报错,汗.......

    8.启动Django服务

    # 第一种启动方式:默认本机8000端口启动,只能本地访问
    python manage.py runserver 

    可能会遇到:"[WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试",可参考

    或者换个指定端口

    python manage.py runserver 9000

    可能会遇到:http://ip:9000/#/fastrunner/login 还是打不开

    回到前端的index.js文件,之前存在一个误区,以为前端和后端的端口要保持一致,所以多次改动端口9000和8000,导致页面一直打不开。

    web项目中有两个端口,index.js中的端口是前端浏览器访问接口,另一个端口是后端服务接口(django服务端口)

    9.访问FasterRunner 接口自动化测试平台

    注册:http://localhost:8000/fastrunner/register

    登录:http://localhost:8000/fastrunner/login

    10.使用感受

    一般般,可能是部署的过程太过波折,导致我认为这是一个很厉害的平台,然而....

    • 请求信息格式不能相互转换

    •  接口用例,没法很好的复用API模板,还是重新录入一次用例请求参数,且都是单接口

    我理解的是API模板请求信息是具体用例的默认值,然后API模板支持涉及多接口的场景构建

    •  配置管理、全局变量、公共函数这些我就不多说了,也不符合预期

     

  • 相关阅读:
    12
    11
    10
    9
    8
    6. iOS APP 设计规范大全
    4. iOS中常用演示方法以及利弊
    我要写一篇动态计算tableView-cell高度的随笔
    doclever 5.5.1 安装及升级【原创】
    SPARROW-JS 从0开始写 0依赖,原生JS框架
  • 原文地址:https://www.cnblogs.com/Ryana/p/12917546.html
Copyright © 2011-2022 走看看