![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程语言
文章平均质量分 84
⋘森林⋙
这个作者很懒,什么都没留下…
展开
-
centos下jenkins拉取git代码自动构建执行
目录前期准备工作开始jenkins配置工作全局工具配置凭据配置新建任务丢弃旧构建源码管理构建遇到的问题前期准备工作 我用的是gitee 先注册好一个gitee账号 将项目推上去 在centos服务器上安装Jenkins并把必要的插件安装好(包括git) 在centos服务器上 安装pyhon解释器(版本最好和物理机已经)以及第三方库 centos服务器上 安装git开始jenkins配置工作全局工具配置首页点击系统管理全局工具配置原创 2021-06-19 12:15:44 · 486 阅读 · 0 评论 -
接口测试中---多个用户如何切换执行
目录多个用户权限来回切换执行解决思路封装一个有对各实例化对象的请求模块调用实例化对象 获取并管理鉴权信息进入业务流程普通用户新增请求评审用户审核该新增申请检测员执行检测操作问题优缺点解决方法多个用户权限来回切换执行针对一部分业务场景,有时候会有好几种角色不同的执行权限 共同完成一个业务流程举个栗子: 登录一个普通用户新增一个申请 ,然后一个评审人员登录 去审核这个申请, 如果申请通过 另一个检测员 进行操作检测以上的业务流程 需要三个账户 切换执行才能完成如何在接口测试框架中解决这原创 2021-03-02 20:13:32 · 674 阅读 · 0 评论 -
pyhon接口测试框架设计优化---接口关联与参数化
目录全链路接口测试--接口关联字段提取提取任意字段方法首次测试提取token判断提取字段长度登录接口提取token处理异常和返回数据为空再从测试提取token正常登录 获取token没有提取到token参数的传递参数传递的前期准备工作获取用户信息接口关联与参数化结合准备参数化测试方法 读取yaml文件数据合并代码优化全链路接口测试–接口关联接口测试中需要 提取和传递的传递的参数 可能会有 token 、id、name等所以需要封装一个方法 需要适应于任何的数据提取。这时候 需要用到jsonpath原创 2021-01-30 22:14:46 · 890 阅读 · 0 评论 -
python--SQLAlchemy数据库操作-ORM
SQLAlchemy 数据库简介环境安装通过SQLAlchemy 连接数据库ORMORM的好处ORM怎么理解ORM操作数据库使用ORM创建表字段的数据类型开始创建数据表sqlalchemy常用数据类型使用ORM进行增删改查操作构建Session对象增加数据查询数据操作查询全部query可用参数条件查询修改数据删除操作filter 过滤条件常用过滤条件使用filter条件查询equals 判断是否相等not equals 判断条件是否不相对like模糊查询(%ed%)包含任意字符in 包含not in原创 2020-10-28 11:36:09 · 1258 阅读 · 0 评论 -
Flask--RestfulApi接口开发
文章目录简介Flask-Restful下载API开发第一个api实例参数验证解析add_argument类方法解析参数限制参数长度和格式add_argument()常用参数parse_args()接受参数的数据类型参数的判断模拟实例场景数据读取和写入的准备封装一个随机生成字符串方法登录login接口我的主页info接口简介$$REST又被称为表征性状态传输,是指在客户端与服务端之间传输信息的一种方式,在WEB的应用程序中,一般都是基于HTTP的REST服务,这样的好处是可以使用应用层的协议来方便的实原创 2020-09-25 13:52:48 · 5411 阅读 · 0 评论 -
python---FlaskAPI基本用法
目录flask基础应用ulr详解结构web服务器和应用服务器以及web应用框架:web服务器:应用服务器:web应用框架:flask的基础结构主app文件的代码结构第一个Flask项目请求方法GET、POSTURL与视图函数的映射:在url中传递参数案例实现参数传递第一种传递参数方式第二种传递参数的方式查询字符串的方式POST请求时传递参数指定请求方式传递参数解析参数业务场景模拟指定参数的数据类型数据类型限制成int类型限制成float数据类型path数据类型uuid数据类型any数据类型判断数据类型isi原创 2020-09-25 11:03:12 · 3420 阅读 · 0 评论 -
logging日志模块
目录**logging日志模块**logging模式使用基本结构日志的级别级别的含义:输入不同级别的日志将低级别日志也输出到控制台format日志的内容格式时间显示输入当前日期到控制台中输出时间和日志内容输出日志等级输入该日志所在行在接口测试中使用日志记录发送正常的接口请求发送一个错误的请求将报错的信息输出到日志中logging日志模块在写代码或者测试程序的时候 需要调试一下 经常要print输出看看 对不对 但是当需要查看大量信息时 或者要保存到文件中 print就u不适用了 使用logging原创 2020-06-20 20:26:37 · 508 阅读 · 0 评论 -
Locust性能测试
文章目录python、Locust性能测试Locust是什么?Locust特点Locust安装Locust性能测试脚本任务集TaskSet类首页接口用户类HttpLocust运行性能测试脚本登录接口参数化数据放在程序list数组内步骤:数据放在文件内步骤:参数的上下关联步骤:分布式压测分布式压测的原理:在同一台电脑上运行多个slave:在不同的电脑上运行多个slavepython、Locust性能测试Locust是什么?Locust翻译成中文就是蝗虫的意思,就像蝗虫一样对系统发起成千上万的请求。以测试原创 2020-05-15 16:24:24 · 1167 阅读 · 0 评论 -
Appium安卓自动化基础
目录Appium连接手机adb连接真机adb无线连接用Appium脚本连接手机启动APP元素定位元素定位方法id定位class定位相对定位xpath定位list定位UIAutomator元素定位简介:定位方式:id定位:text定位class name定位H5页面元素定位解决思路contextH5定位环境搭建H5定位思路代码实现进入h5页面获取H5页面的contexts切换contexts环境用p...原创 2020-05-12 13:23:18 · 1118 阅读 · 0 评论 -
API测试框架设计---基于Pytest
准备工作框架目录base:请求方法data:存放数据utils:操作方法log:日志report:存放测试报告tests:测试主程序common:公共方法封装请求方法在base目录下创建requests.py文件 将常用请求方法 封装import requests"""请求方法的封装"""class request: def request(self,url,m...原创 2020-03-30 09:52:43 · 1203 阅读 · 0 评论 -
pytest测试框架基本使用
这里写自定义目录标题pytest测试框架 执行方式以函数的方式简单执行函数或方法名的命名规范DOS命令执行类的方式执行断言方法assert几种断言方法assert ==断言assert in 包含断言assert is 断言前后的值相等pytest 常用命令详解pytest -v输出详细的信息pytest -s输出测试函数或测试方法print内容pytest -k 按分类执行测试点-m 进行分组...原创 2020-03-22 22:25:34 · 3062 阅读 · 0 评论 -
python多进程编程
什么是进程? 操作系统在运行程序中一个程序运行起来 就是一个进程 在python 中 多进程编程可以让我们的程序运行效率更高 同一时刻 可以做更多事 因此多进程变成就显得十分重要multiprocessing模块介绍multiprocessing是Python中一个专门用来创建创建多进程的库,multiprocessing提供了一个Process类来创建进...原创 2020-02-26 21:48:06 · 180 阅读 · 0 评论 -
python接口自动化----------数据分离(二)
请求的参数和URL等数据已经完成了 而且也请求成功了 接下来就是处理断言的问题了以登录接口为例,首先在Excel中写下预期结果因为这个断言 在很多接口中都要用到 所以我就写一个类封装起来 在method的文件中写一个断言的公共类 判断返回结果是否包含Excel表中Expct列表的内容代码如下:class IsAssert: ...原创 2019-11-24 10:40:42 · 629 阅读 · 0 评论 -
python接口自动化----数据分离(一)
我先创建以下文件夹 用来分开存放需要的方法在讲述步骤是会把每个文件夹里方法的什么东西 说一下首先在data目录下创建一个后缀名为xls的Excel文件(文件名:data.xls)在文件里依次写入测试数据测试编号测试标题测试的URL测试参数预期结果实际结果在utils目录下新建一个public的方法 用来写查找文件路径的方法 这个方法是作为公共方法存在的pulic方法的...原创 2019-11-11 09:20:36 · 3547 阅读 · 0 评论 -
生成html测试报告
先下载HTMLTestRunner模块https://pypi.org/project/HTMLTestRunner/注意python2和python3有所不同 如果是python2可以直接用 如果是python3需要一些修改#先导入HTMLTestRunner模块import HTMLTestRunnerdef run(): #创建一个html的文件 fp=os.path.jo...原创 2019-10-20 11:39:06 · 358 阅读 · 0 评论 -
python---爬取表情包
周末 没什么事 在网上找视频课 找到了一个还不错的爬虫视频课 突然对爬虫有了兴趣 就跟这视频 操作了一下所以写文章 记录一下 方便以后 查看 复习首先打开要爬取的表情包网站 对网站的URL进行分析这是一个get请求 问号 后面的page是参数 因此这是第一页的内容我先对单个图片进行下载 操作首页获取图片的url 鼠标放在要下载的图片上 右键---------》点击复制图片连接...原创 2019-10-16 09:43:30 · 579 阅读 · 0 评论 -
python接口自动化测试---ddt的使用
ddt是一个第三方库 它可以帮我们省略重复性的代码 比如说 一个接口请求有10个page页那个每次请求除了page不同 其他都一样 那么为了测试到位 是不是要重复写10个Case呢答案肯定是否定的这个时候可以用到ddt了首先 用pip下载ddt下面看执行代码先写上装饰器然后用元组的格式将page的值写上去...原创 2019-10-14 09:51:37 · 1476 阅读 · 0 评论 -
python类方法传递参数的问题
由于方法里定义的变量都是局部变量 所以没有办法直接在其他方法中使用 我试过先定义一个全局变量 然后 再调用 可不知道为什么 不管用所以 就想了一些其他的方法 一起来看看这个方法比较笨 但目前我只想到这个方法 以后若是有更好的方法 我会加上将登录方法返回的token值写入进txt文件里去然后在其他方法中进行 读取并拼接到headers里去执行一下 这个方法 可以用 但...原创 2019-10-12 10:27:55 · 4145 阅读 · 0 评论 -
airtest轻松录制自动化脚本
Airtest脚本辅助录制Airtest是一个 基于图像识别 的无侵入式测试框架。Airtest测试框架提供了大量的测试API,我们可以在测试脚本中灵活使用这些方法实现测试功能。Airtest中的常用API包括设备连接/管理、设备操作、[](http://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/3_record_script/1_air...原创 2019-10-01 16:14:54 · 10968 阅读 · 0 评论 -
python-----------unittest忽略测试用例的执行
在执行脚本的时候可能会有某几条用例本次不想执行 但又不想删也不想注释这时候可以用一个装饰器来忽略本次执行这样这条用例就不会执行了 还可以在括号里加一些字符串说明在某些时候我们可能会碰到一些小概率事件 比如有时候可能想知道某个请求失败后的结果是什么 这时候我们可以用另一个装饰器 来帮我们...原创 2019-09-23 20:09:53 · 945 阅读 · 0 评论 -
python字符串的大小写转换及数据类型的转换
一 大小写转换1.将字符串转换为大写 函数名str.upper()str1 = 'bws'print(str1.upper())2.将字符串转换成小写 函数名str.lower()str2 = 'BWs'print(str2.lower())3.将字符串首字母转换成大写 函数名 str.capitalize()str3 = 'how agr you'print(str3.c...原创 2019-06-16 11:46:31 · 1473 阅读 · 0 评论 -
python的内置功能函数(二)
一、txt 文件的读写1.1 通过oython内置的open方式打开语法: 变量 = open(文件路径,文件打开方式)打开方式的几种方法r 以只读方式打开**r+**以读写方式打开w以写入方式打开 覆盖原文件 如果不存在原文件 则新建文件w+ 以读写方式打开 覆盖原文件 如果不存在原文件 则新建文件a 以写入方式打开 不会覆盖原文件 追加写入到文件末尾 如果文件不存在...原创 2019-07-25 11:02:36 · 286 阅读 · 0 评论 -
python的内置功能函数(一)
一、产生随机数random的模块 这是一个随机模块 它能解决d大部分测试数据重复的问题 可以说是自动化测试中需要导入的重要模块之一random模块的所提供的一些常用方法1 、random.random()用于生成一个0到1的随机浮点数2、random.randint(min,max)用于生成最小值和最大值之间的随机整数3、random.randrange(min,max,c)用于...原创 2019-06-24 16:33:18 · 271 阅读 · 0 评论 -
python接口自动化-------token、cookies的获取和传递
token是登录后产生的用户唯一标识 几乎所有的接口需要token 才能进行访问那么我就是说一下关于token的处理首先定义一个登录的请求方法import requestsdef login(): url = "http://test.xxxxxxx.com/api/common/login/login" data = { "phone":"1772xxx...原创 2019-08-25 22:39:03 · 10187 阅读 · 0 评论 -
python接口测试+ununittest之verbosity
verbosity关键字是执行测试之后显示测试结果的信息复杂程度verbosity=0代表得到执行测试的总数和全局结果verbosity=1 代表得到成功的显示 失败的显示 f 错误的显示 e(如果不写数字默认为1)verbosity=2可以得到详细的信息...原创 2019-09-15 12:54:46 · 998 阅读 · 0 评论 -
python接口测试---超时、安全证书、乱码的处理
一 、超时处理在测试接口时如果领导说 这个接口响应时间超过0.02秒 就算失败那么 用timeout关键字 可以帮我们完成 响应时间超过.0.02秒就会报错import requestsurl='http://www.baidu.com'h = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb...原创 2019-10-16 09:41:56 · 370 阅读 · 0 评论 -
python----unittest测试固件的分离
固件分离可以将一些大量重复性的代码分离出来 作为一个公共的类比如接口的登录 或者web前端的启动浏览器开打网页等 这些代码可能在所以的脚本中都一样 那么如果每个脚本都写一边就有一些多余的所以我们可以将这些代码分离出来作为一个 公共的类来使用 所有的脚本都使用同一个类方法 可以省很多事我们新将一个项目 命令为login作为存放登录代码模块 将登录的代码分离出来然后在主要的...原创 2019-10-27 12:32:55 · 412 阅读 · 0 评论 -
python----unittest常用断言
assertEqual(第一,第二,msg =None)测试第一和第二是相等的。如果值不相等,则测试将失败assertNotEqual(第一,第二,msg =无)测试第一个和第二个不相等。如果值比较相等,则测试将失败。assertTrue(expr,msg =无)assertFalse(expr,msg =无)测试expr是否为真(或假)...原创 2019-10-14 09:45:55 · 348 阅读 · 0 评论 -
pyrhon虚拟环境----virtualenv使用
python 的虚拟环境是完全独立的在虚拟环境里所作的任何操作不会对其他虚拟环境和系统环境造成影响安装virtualenvDOS窗口输入:pip install virtualenv在当前目录创建虚拟环境:virtualenv <虚拟环境名>进入虚拟环境:CD到虚拟环境文件夹里 再CD到Scripts文件夹中 然后执行activate看到路径左侧有虚拟环境名就是进入成功了...原创 2019-06-17 16:23:40 · 280 阅读 · 0 评论 -
requests安装及一次简单的接口测试
DOS窗口直接输入 pip install requests安装完成后 用这个库进行一次简单的接口测试原创 2019-07-07 22:21:28 · 1478 阅读 · 0 评论 -
python操作Excel文件
将接口请求参数放入Excel表格中 在请求时读取表格内容 做到数据的分离 有助于代码的维护 和优化打开、并读取Excel文件内容的方法首先用pip把对应的xlutils库 下载下来然后 在当前工程目录下新建一个Excel文件 注意要将后缀改成xls然后在Sheet1工作区写入内容并保存 1. import xlrd 2. import os 3. def base_dir(fil...原创 2019-08-20 11:13:39 · 1916 阅读 · 0 评论 -
python操作数据库
python连接数据库需要用pip 安装指定的库python2安装mysqldbpython3安装pymysql安装好后输入import pymysql 或者import mysqldb 验证一下 我这里用的是 python3 所以用import pymysql如果 不报错就是安装好了操作数据库需要几个步骤1.导入模块2.获取数据库连接3.创建游标4.执行数据库sql语句下面...原创 2019-08-25 13:36:14 · 162 阅读 · 0 评论 -
django项目下的settings.py结构
详细讲解一下settings.py的内部结构16行:BASE_DIR:项目的根目录23行:SECRET_KEY:安全码26行:DEBUG=True:调试 (运行程序中发生的异常直接抛给前端)上面的注释:安全警告 不要在实际生产中打开它28行:...原创 2019-09-02 11:49:12 · 147 阅读 · 0 评论 -
启动django服务及创建工程,应用
打开DOS窗口将路径切换到当前工程的路径下输入 python manage.py runserver 127.0.0.1:8000原创 2019-09-02 11:49:42 · 283 阅读 · 0 评论 -
django创建简单的页面响应
首先 编辑views.py文件每个响应对应一个函数 函数必须返回一个响应函数必须存在一个参数 一般约定为request每个响应函数 对应一个URLfrom django.shortcuts import renderfrom django.http import HttpResponse# Create your views here.def book(request): ...原创 2019-09-02 16:03:39 · 787 阅读 · 0 评论 -
python---unittest测试套件用例的执行方法
利用unittest中的TestSuite的类构建一个测试套件 方便执行下面的写法将指定执行的测试方法添加到套件中一起执行代码说明:19行:初始化测试套件21-23:行将要执行的测试用例添加测试集合中’’24行:将集合内的测试用例全部执行...原创 2019-09-14 12:14:32 · 823 阅读 · 0 评论 -
python第三方库 ----pip的使用
pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。目前如果你在 python.org 下载最新版本的安装包,则是已经自带了该工具。在DOS窗口通过以下命令来判断是否已安装 pippip --version升级pip版本pip install -U pip安装最新的库pip install 库名安装指定版本pip install ...原创 2019-06-10 16:23:31 · 391 阅读 · 0 评论