自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 postman抓包工具基础应用

1、Postman优点  · 简单易用的图形用户界面;  · 保存API请求的历史记录;  · 无限制的使用集合、环境变量、运行测试和共享集合;  · 可用集合Runner来自动化测试;  · 灵活的API监控,运行时间、性能和准确;  · 模拟服务器,支持split-stack开发。总的来说是一下及格方面:简洁性:软件界面设计简洁有设计感;易用性:容易上手,查看官方文档或搜搜博客,可以很快地掌握其用法;实用性:可以快速进行开发调试,并展示响应结果, URL 创建简单,且方便查看与管理;

2020-11-06 14:52:21 938

原创 接口测试 requests+DDT框架

分类的核心 ---- 归类(将需要处理的事情进行归类,每一个类就是一层)分层的原则: 相同功能的放在同一层 ---- 工具层分层尽可能细化 ---- 工具层(读取EXCEL操作、切割、读取数据库等)框架的分类KDT ---- key-word drivering test 关键字驱动DDT ---- data drivering test 数据驱动数据驱动(DDT)本质数据与代码分离测试数据来决定代码的执行顺序(怎么执行)框架的优化方向丰富断言 ---- 新建一个断言类 ---- .

2020-11-06 14:47:10 720

原创 接口测试 requests

安装 requestspip install requests换镜像源-i http://pypi.douban.com/simple --trusted-host pypi.douban.com接口请求方式requests.request()requests.get()requests.post()requests.put()使用requests模块保持登录的方式1.静态a.放在headersb.单独拿出来放在cookies字典里2.动态登录成功后利用.cookies方法

2020-11-06 14:43:34 277 1

原创 Cookie和session的区别

用于保存用户信息解决HTTP无状态的问题Session的传递方式:1.通过cookie传递2.将session文件通过url参数进行传递 JSESSIONID=session的文件名演示cookie和session的工作流程1)准备工作:清除服务器的session文件 \xampp\tmp清除浏览器的cookie和session信息 network-aplication-cookies清理fiddler无用请求2)首次访问网页结果:浏览器:cookie里多了PHPSESSID=s

2020-11-06 14:36:58 95

原创 http.client 发起http请求的过程

建立连接(TCP)发起请求—开始传输获取响应获取响应正文关闭连接作用:模拟客户端、浏览器向服务器发起http请求的过程import http.client #导包class woniu(): def __init__(self): self.host = "localhost" self.port = 8080 # get请求 def get_homepage(self): # 建立连接,传域名/ip+端口 .

2020-11-06 14:34:16 462

原创 接口测试 unittest

unittest四要素测试用例 - test case:一个完整的测试过程,特点的输入得到特定的输出,并对输出进行校验测试装置 - test fixture:测试部件,测试执行前的环境准备部件,测试执行部件,测试完成后的环境清理部件测试套件 - test suite:测试用例集测试执行 - test runner : 测试执行,并生成各种格式的报告unittest最常用的测试类和方法1)TestCase类:所有的测试类都必要要继承TestCase类,然后才具备执行能力2)TestLoader类

2020-11-06 14:30:13 768

原创 selenium webdriver 操作方法和元素查找器

7种基本操作 : get,send_key,click,close,quit,clear,textfrom selenium import webdriver #导入webdriver模块d = webdriver.Firefox() # 实例化浏览器d.get("https://www.baidu.com") #输入网址d.find_element_by_id("kw").send_keys("图片") #找到输入框并输入“图片”d.find_element_by_id("kw").

2020-11-06 14:18:10 348

原创 软件测试:测试分类、测试用例编写方法

测试分类测试方式(颗粒) : 黑白灰黑盒测试 : 基于规格(SRS)的测试(关注功能) 系统测试白盒测试(透明盒测试) : 基于内部逻辑的测试(关注代码的实现过程) 单元测试灰盒测试 : 根据颗粒度大小划分,需要进行规格测试和对逻辑的考虑 集成测试(常见:接口测试)执行方式 : 人工,自动化(利用代码使计算机模拟人工操作)测试阶段 : 单元测试,集成测试,系统测试,验收测试单元测试(UT) : 每个功能划分单元,对一个单元进行测试集成测试(IT) : 将不

2020-10-23 17:08:29 761

原创 软件测试以及软件质量

软件测试1.定义 : 鉴定软件的正确性,完整性,安全性和质量的过程把实际结果与预期结果进行对比的过程2.软件测试的工作a. 检视代码 : 检查代码的规范性b. 撰写测试计划 : 安排整个测试流程c. 文档的评审 : 编码前d. 撰写测试文档 : 测试需求文档,测试方案,测试用例e. 执行测试 : 记录缺陷,写测试报告f. 测试总结以及优化建议 : 从用户角度出发3.六大测试类型a.功能性测试 : 主要考虑功能的方面b.可用性测试 : 关注是否好用c.可靠性测试 : 软件的稳定性d

2020-10-23 17:04:08 212

原创 探索式测试 ET

探索性测试商业区:销售特性,对应软件包装上面的对应特性,类似我们的需求。历史区:继承特性,上一个版本遗留下来的代码、问题或则曾经出现多次 BUG 的功能或者特性。旅游区:噱头特性,即对应产品的新特性,能够去更好的吸引新的用户。娱乐区:辅助特性,对应软件的辅助特性和功能,可以做完补充测试。旅馆区:平台或维护特性,对应软件内部的一些交互,不一定是由用户来触发的。破旧区:问题高发区,对应软件的历史稳定的代码,一般很少人去接触。商业区:在一个城市,商业区意味着早晚拥挤的交通,上班时紧张高效的工作。对于

2020-10-23 17:01:20 744

原创 缺陷生命周期

正常1.当缺陷被第一次提交并指派给开发人员时,它的状态为“激活”,但"未确认"2.由开发人员确认后,进行缺陷修复,修复完毕后将代码提交到svn,将bug状态更新为"已解决"3.测试人员回归后确认缺陷已修复后,关闭bug异常:1.若测试人员回归后,认定为缺陷未修复,则再次激活并指派bug2.如果开发人员不认为其是一个缺陷,他会不接受,修改为“设计如此”3.如果同一个缺陷被重复提交或者两个缺陷表明的意思相同,那么这个缺陷状态会被置为“重复提交”4.如果开发人员无法根据缺陷描述重现bug,会修改状

2020-10-23 16:55:14 236

原创 linux部署项目、安装数据库

在linux下部署项目1.安装JDK1)安装lrzsz上传下载工具lrzsz :本地计算机与虚拟机的数据传递上传 直接拖动文件下载 sz 需要下载的文件名yum 安装命令 yum install -y lrzszrz -E 将文件放入yum update 时,出现了大量的 [Errno 14] PYCURL ERROR 6 -"" 错误。其实这是因为系统 nameserver没有配置好,或者说 DNS解析上有问题,修改 /etc/resolv.confresolv

2020-10-23 16:45:47 384

原创 Linux操作系统介绍及基本命令

Linux操作系统特点 : 稳定,安全Ctrl+G 进入LinuxCtrl+alt 释放鼠标设置IP的步骤1.关闭防火墙 : service iptables stop2.重启网络 : service network restart3.设置IP : ifconfig eth0 IP地址4.配置网关 : route add default gw 网关地址(192.168.50.1)5.测试是否配置成功 : ping baidu.com6.停止 : Ctrl+C基本命令cd/

2020-10-23 16:40:41 122

原创 Python,socket客户端、服务器

客户端import socket1.创建socket对象sk = socket.socket()2.连接服务器sk.connect(("127.0.0.1",8888))content = sk.recv(1024).decode("utf8")print(content)sk.send("收到".encode("utf8"))3.关闭连接sk.close()print("连接完成")服务器socket:套接字实现多台电脑之间的通信import socket1.创

2020-10-23 16:35:30 244

原创 Python模块和包、装饰器

模块和包如果在其他模块调用,会执行一次调用模块的代码的代码本模块名if __name__ == '__main__': print(__name__) 开发项目:将所有函数写到一个文件中不好维护,函数变量等命名是一个大问题,不利于代码复用,不利于扩展功能我们将功能相同的一些代码 函数 放在同一个模块中,给相应的模块取名字,就可以根据名字去区分模块内置模块: time,sys第三方模块: gevent自定义模块: 自己写的模块或函数闭包 : 本质就是一个函数函数中返回一个函

2020-10-23 16:31:15 139

原创 Python 多任务,进程、线程、协程

cpu中计算的东西叫做 核心一个核 同一时刻 只能做一件事情例子:把教室看做一个cpu,教室中有一个人,这个人看做 核心并行:多个任务同时执行,真正的多任务并发:假的多任务,依靠时间片轮询,让多个任务随机分配时间执行时间片轮询机制:cpu给多个任务随机分配执行时间去执行,由于cpu执行速度非常快,以致于我们认为多个任务在同时执行进程:一个运行起来的程序就是进程运行起来的程序:源代码 以及 需要的资源(内存,摄像头,麦克风等)进程是系统分配资源的基本单位多进程:多个运行起来的程序线程:线

2020-10-23 16:28:27 266

原创 Python 文本读写方法

文本读写1.写多次写入不会换行,如果需要换行加入\n只能写入字符串,如果需要写数字或其他类型,强转str写入的时候会覆盖以前的内容如果写入的时候不存在该文件则直接创建with open("aa","w",encoding="utf8") as f: f.write("hello\n") f.write("hello1")2.向文件后面追加内容with open("aa","a",encoding="utf8") as k: k.write("你好")3.读取文件

2020-10-23 16:21:02 201

原创 Linux 通过ssh实现免密登录的方法(应用于jenkins将war包发送给多个应用服务器)

xshell连接虚拟机时基于ssh协议,默认端口22将本机文件发送到另一台虚拟机:scp out.tar root@192.168.40.100:/home本地文件 用户名@ip:对方路径之后输入密码远程连接另一虚拟机:ssh root@192.168.40.100之后输入密码退出命令:exit我们需要在jenkins中不输入密码的情况下将文件发送出去:生成密钥对(公钥+私钥)ssh-keygen -t rsa查看生成的密钥对:ll /root/.ssh/将公钥传输到

2020-10-22 18:13:54 248

原创 Jenkins+Git+Maven自动化发布流程

前置:基础环境已搭建完成1.新建一个任务2.选择要创建的项目,输入工作空间名称3.输入git的属性4.每次构建开始前清理工作空间5.Maven编译6.构建后触发执行shell命令(此处选择只有构建成功后才Run)...

2020-10-22 18:05:55 180

原创 Linux shell脚本:查询tomcat当前状态后执行相应命令(用于jenkins自动发布)

本地脚本res=`ps -ef|grep tomcat|grep -v grep|awk '{print $2}'`rm -rf /home/apache-tomcat-8.0.8/webapps/myapp*if [ "$res" = "" ]then{cp /root/.jenkins/workspace/testspace/target/myapp.war /home/apache-tomcat-8.0.8/webapps/sh /home/apache-tomcat-8.0.8/bin

2020-10-22 17:49:40 188

原创 Python 面向对象介绍 属性、方法、三大特征

面向对象面向对象:是一种思想,在编程的过程中融入对象的概念面向过程:关注某件事情实现的流程面向对象:主要关注某个对象的功能通过类实例化一个对象class per(): name = "人" age = 0 sex = "男" def eat(self): print("吃饭了") def zz(self): print("转账")per1 = per()属性per1.name = "张三"print(per1.nam

2020-10-22 17:38:51 149

原创 Jenkins+Git+Maven安装部署流程

1.安装jenkins安装步骤:1、下载jenkins源wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat-stable/jenkins.repo2、导入keyrpm --import http://pkg.jenkins.io/redhat-stable/jenkins.io.key3、yum命令安装jenkinsyum install jenkins4.修改jenkins配置文件vi /etc/sy

2020-10-22 17:37:04 188

原创 Python应用 时间操作

时间1.获取当前时间戳,1970年1月1日0点0分0秒到现在的秒数import timetime.time()2.获取时间元组localtime:默认传入的是当前时间戳如果传入其他时间。可以将其他时间戳转换成一个时间元组time.localtime()time.localtime(time.time())3.获取一个美式的可视化时间周月日 时分秒年time.asctime()time.asctime(time.localtime())4.获取熟悉的格式化时间time.str

2020-10-17 17:32:57 136

原创 Python 异常处理 事务

写注释:函数的功能传入什么参数返回什么结构异常处理程序中出现了异常,没有进行处理,整个项目会退出1.解决程序异常退出的问题:需要捕获异常执行流程:如果try子句中出现了异常try子句中 异常后面的代码不执行,而是直接跳转到except子句中执行except 子句执行完后,接着后面的执行,不会退出程序只能捕获 except 后面捕获了的异常try: 1/0 print(1) except ZeroDivisionError as e: print(

2020-10-17 17:26:50 264 1

原创 Pyhton应用 数据库函数封装

1.函数2.迭代器3.递归4.数据库函数5.fetchall函数1.函数:实现指定功能代码的集合def 函数名( ) :2.在python中没有括号,函数体以缩进的方式进行展示快捷键:tab实现了函数的缩进,shift+tab实现前移3.调用:函数名( )作用:提高了代码的复用性4.参数:形参:没有实际值的参数实参:传入的参数注意:有实参必须先有形参5.变量全局变量:函数体外的变量 gloab 变量名局部变量:函数体内的变量6.数据类型不可变数据类型:内.

2020-10-17 17:22:56 180

原创 Python 基础数据类型 语法结构

1.Pyhton简介2.变量3.运算符4.字符串5.控制结构6.循环结构Python 交互式编程 即用即得输入,输出print("hello")input("输入内容:")print(input("输入内容:"))注释 #多行注释 ''' ''' """ """进制转换二进制与十进制相互转换:8421十进制转二进制:除二取余再倒序编码史gb2312:7000个gbk:增加了2万个左右gb18030:又增加了几千万国.

2020-10-17 17:16:07 608

原创 MySQL查询语法 多表联查 视图 索引

1.简单查询2.聚合函数查询3.子查询4.内外连接5.三大范式6.事务7.视图8.索引9.补充内容简单查询1.查询所有字段 查询需要查的字段select * from where 2.取别名3.条件查询4.逻辑运算符 and / or / not5.去重 distinct 按字段去重查询 from 表名6.模糊查询 like %:任意个字符 _:有且仅有一个字符7.between and .

2020-10-17 16:58:51 629

原创 Mysql 数据类型 主外键约束

DDL数据库定义语言数据库定义语言 对数据库 表结构的增删改操作关键字create drop alter给表增加字段alter table student add column address char(10)column 可不写删除表中字段alter table student drop address 复制表结构,不会复制数据create table stu_copy like student复制表结构和数据create table sut_copy01 as (sele

2020-10-17 16:46:30 293

原创 MySQL基础语法汇总

关系型数据库:世界由 实体 和 关系 组成主键:唯一标识每一个实体 每一行外键:表与表 之间的关系(一般指向主表的主键)字段:列 属性:行从表 主表关系:一对一 一对多 多对多DBMS:数据库管理系统 Datebase Management SystemRDBMS:关系型数据库管理系统 Relational Datebase Management SystemSQL:结构化查询语言常见关系型数据库:SQL Sever / MySQL / Oracle / Sybase / DB2

2020-10-17 16:29:33 188

原创 JavaScript 函数 DOM命令 事件

函数1.函数:实现了一定功能的代码集合prompt( ):接受页面输入的内容typeof( ):返回传入参数的数据类型alert( ):向页面弹出一个提示框console.log( ):向控制台打印信息document.write( ):方法2.自定义函数function 函数名( ){ 函数体}3.使用函数,需要调用函数,直接写函数名后跟()get.函数名( ) 提高了代码的复用性4.参数问题 function 函数名 ( 参数){ 函数体 } 此处

2020-10-17 16:21:39 92

原创 JavaScript基础语法 数据类型 对象

JavaScript介绍1、javascript 是一门编程语言,编程语言是人与计算机沟通的工具2、常见编程语言:C/C++/C#/JAVA/JavaScript/Python/php/易语言/汇编/go/vb难易程度: 低级语言 中级语言 高级语言低级语言:汇编 直接操作硬件 速度快 开发速度慢 难学中级语言:c高级语言:适合人类理解学习 易学 运行速度慢 从执行的角度分类解释型语言: 边解释边执行编译型语言: 先统一编译,再去一起执行3、Script前端核心语言简单易学,学习

2020-10-17 16:02:31 181 1

原创 HTML Table标签 Div属性 a标签

<!DOCTYPE HTML>声明:表示这是一个html文件,满足html5规范,这句话必须写到第一行1、注释:在代码旁进行说明 语法:<!-- -->2、网页:浏览网络信息的工具本质:由html书写的一串代码3、html:超文本标记语言超文本:音频 视频 图片 超链接 表单 等标记:语言:人与人交流的工具,人与计算机交流的工具4、常用标签1)文本标签:可以使用属性给文字设置样式 语法:<font></font>属性:用于描述某

2020-10-17 15:51:35 1271

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除