python接口自动化测试三十四:github上某接口测试平台及配置
TeserHome地址:https://testerhome.com/opensource_projects/60
前端:https://github.com/pencil1/ApiTestWeb 实现技术:js + vue + element-ui
后端:https://github.com/pencil1/ApiTestManage 实现技术:python + flask + httprunner
windows版
准备工作:
1、python3环境
2、把项目下载并解压到一个文件夹
后台配置
1、安装虚拟环境:pip install virtualenv
创建虚拟环境:virtualenv test(test为虚拟机名)
2、激活虚拟环境:到虚拟环境下执行activate.bat文件
3、项目根目录下pip install -r requirements.txt
4、第一次使用,首先要设置flask的app:
windows:set FLASK_APP=manage.py
linux:export FLASK_APP=manage.py
5、然后创建管理员账号(账号:admin,密码:123456):flask initdata
6、启动:python manage.py
前端配置
1、安装 node 版本8以上即可,官网下载msi文件https://nodejs.org/en/download/,直接无脑下一步安装; 确保 node -V
检查npm是否默认带了的:npm -V
2、安装 yarn 工具包:python npm install -g yarn 不行就试试 npm install -g yarn
3、安装依赖:yarn install
4、启动(项目根目录下):yarn serve
登录(admin、123456):
linux版:
安装虚拟环境,参考我的另一篇:https://www.cnblogs.com/zhongyehai/p/11037363.html
后台:
上传解压,并进入ApiTestManage-master目录
安装依赖包(这台机器已升级pip3),在解压出来的ApiTestManage-master目录下:pip3 install -r requirements.txt
安装完成(安装需要一些时间)
第一次使用:
首先要设置flask的app:export FLASK_APP=manage.py
然后创建管理员账号(账号:admin,密码:123456):flask initdata
由于这里有报错的坑,而暂时没有解决,所以直接拿在windows上部署的数据过来替换
把启动的端口和ip改一下:host='0.0.0.0', port=8080
启动并访问
这样后端的环境问题就算解决了,先停掉,解决前端的环境
前端:
去node官网下载node(版本不要太低):https://nodejs.org/zh-cn/download/
解压
创建软连接
到前端的目录下安装yarn工具包:npm install -g yarn
为保险起见,给yarn创建一个软连接
安装依赖包: yarn install
配置文件:vue.config.js
devServer: {
host: '127.0.0.1',
port: 8023, # 前端的端口
proxy: {
'/api/': {
target: 'http://x.x.x.x:8024', # 后端的ip和端口
changeOrigin: true,
}
},
}
需要注意的有2个点:
host访问前端的地址
target地址,当跨域调用api时的地址,该地址需要与nginx里面的proxy_pass和后台启动地址一致
# 手动执行启动命令:yarn serve
执行打包命令:yarn build
生成dist文件,将该文件存放于服务器的某个路径,该路径需要和nginx.conf里面的root一致
后台服务启动:gunicorn -c gunicorn_config.py manage:app
gunicorn_config.py里面的关键参数说明:bind = 'x.x.x.x:8080'(启动服务的地址,注意:nginx里面的proxy_pass 需要与这个一致)
还是会报错,这里采用nohup的形式启动:nohup python3 manage.py
配置Nginx,安装好Nginx后。nginx.conf
#include /etc/nginx/conf.d/*.conf;
server {
listen 8023; 前端的端口
server_name test-platform;
charset utf-8;
client_max_body_size 75M;
location / {
root /test/test-platform/ApiTestWeb-master/dist;
index index.html;
location /api{
proxy_pass http://x.x.x.x:8024; # 后端地址和端口
}
location /reports/{
alias /home/reports/;
}
}
}
}
启动Nginx
访问:
python接口自动化测试三十四:github上某接口测试平台及配置的更多相关文章
- python接口自动化测试二十四:上传多个附件,参数化
# 添加多个附件参数化files = [("1.png", "1.png") ("2.png", "2.png") ]d ...
- python接口自动化测试三十五:用BeautifulReport生成报告
GitHub传送门:https://github.com/TesterlifeRaymond/BeautifulReport 配置BeautifulReport 下载.解压并修改名字为Beautifu ...
- python接口自动化测试三十六:数据驱动参数化之paramunittest
官方文档1.官方文档地址:https://pypi.python.org/pypi/ParamUnittest/2.github源码下载地址:https://github.com/rik0/Param ...
- Appium+python自动化(三十四)- 有图有真相,很美很精彩 - 屏幕截图和Android APP类型简介(超详解)
简介 在实际自动化项目运行过程中,很多时候App可以会出现各种异常,为了更好的定位问题,除了捕捉日志我们还需要对运行时的设备状态来进行截屏.从而达到一种“有图有真相”的效果. 截图方法 方法1 sav ...
- Python学习(三十四)—— Django之ORM之单表、联表操作
一.单表查询API汇总 <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <3> get(**kw ...
- python接口自动化测试二十五:执行所有用例,并生成HTML测试报告
import requestsimport unittest class TestQQ(unittest.TestCase): '''测试QQ号接口''' # 此注释将展示到测 ...
- python接口自动化测试二十三:文件上传
# 以禅道为例: 一.创建一个类,类里面写一个登录方法: import requestsclass LoginZentao(): def __init__(self, s): # 初始化 self.s ...
- python接口自动化(十四)--session关联接口(详解)
简介 上一篇cookie绕过验证码模拟登录博客园,但这只是第一步,一般登录后,还会有其它的操作,如发帖,评论等等,这时候如何保持会话呢?这里我以jenkins平台为例,给小伙伴们在沙场演练一下. se ...
- python接口自动化测试三十三:获取时间戳(10位和13位)
很多时候,在调用接口时,需要对请求进行签名.需要用到unix时间戳. 在python里,在网上介绍的很多方法,得到的时间戳是10位.而java里默认是13位(milliseconds,毫秒级的). 下 ...
随机推荐
- CompletionService用法踩坑解决优化
转自:https://blog.csdn.net/xiao__miao/article/details/86352380 1.近期工作的时候,运维通知一个系统的内存一直在增长,leader叫我去排查, ...
- [BZOJ4151]The Cave
Solution: 假设现在在点1,有许多形如 (x, y, z) 的限制条件,那么对于一组限制,必须先走到 x, y 的 \(\frac{z-dis(x, y)}{2}\) 级祖先,叫这些点为限 ...
- CSU 1092 Barricade
1092: Barricade Time Limit: 1 Sec Memory Limit: 32 MBSubmit: 240 Solved: 71[Submit][Status][Web Bo ...
- Java反射----数组操作
1,获取数组字段 在Person类中定义了一个一维数组字段:int[] a1 = new int[]{1,2,3}; 如何通过反射技术来操作该字段? 补充:Java操作数组主要用的是Array类. @ ...
- MySQL对字段新增自增序列
现在有这样的场景,我们的数据库类型是MySQL,表是从其他库拿过来的,约束和索引都没迁移.现在希望增加一个自增序列. 且自增序列是从当前最大自增ID开始的,下面就是这样一个过程的演示. mysql&g ...
- differential evolution代码实例(DE算法)
DE算法是遗传算法中一种比较流行的算法,这种算法比较简单,速度也比较快,下面给出一份示例代码 clear all; close all; clc 2 %Function to be minimized ...
- 独立成分分析(Independent Component Analysis)
ICA是一种用于在统计数据中寻找隐藏的因素或者成分的方法.ICA是一种广泛用于盲缘分离的(BBS)方法,用于揭示随机变量或者信号中隐藏的信息.ICA被用于从混合信号中提取独立的信号信息.ICA在20世 ...
- 二、Ajax请求MVC中数据查询表返回datatable
一.Ajax请求MVC中数据查询表返回datatable 解决方式 返回list
- 4——class和struct
class的定义看上去很像struct定义的扩展, 事实上,类定义时的关键字class完全可以替换成struct,也就是说,结构体变量也可以有成员函数. class和struct的唯一区别在于:str ...
- lik模糊e查询语句,索引使用效果详解
一.like查询与索引 在oracle里的一个超级大的表中,我们的where条件的列有建索引的话,会走索引唯一扫描INDEX UNIQUE SCAN.如select * from table wher ...