自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

分享自己浅浅的知识

一个做努力做软件测试的农民工

  • 博客(119)
  • 收藏
  • 关注

原创 自动化巡检实现方法

1、因为巡检要求一天24小时全天在线,因此巡检程序程序一定会放在服务器上跑,所以要对linux操作熟悉哦2、巡检的代码要在git上管理,所以git的基本操作要熟悉3、为了更方便不会代码的同学操作,所以整个构建需要jenkins完成4、测试程序看你用什么语言熟悉,笔者用的是python。

2023-12-04 16:00:36 876

原创 Jenkins用126邮箱发邮件为什么发不出去

》 system。

2023-11-25 20:51:46 950

原创 Jenkins构建定时任务

5、一周的天数:0-7(0和7表示周天)2、每周1,3,5,晚上20点开始构建。4、 一周内每2天,晚上20点开始构建。3、每周1到5,晚上20点开始构建。Jenkins构建定时任务分配如下。1、分钟:0-59(0代表整点)以上每个元素用空格或tab键隔开。1、每天晚上20点整自动构建。3、一月的天数:1-31。5、每隔5分钟执行一次。一、定时任务格式如下。

2023-11-15 13:27:35 299

原创 腾讯云创建了jenkins容器,但无法访问

1、首先,查看本机能不能ping通你的腾讯云服务器。2、查看腾讯云服务器的防火墙关了没,没关关掉、如果ping的通那就下一步。3、那就在云服务器的控制台开放端口。

2023-10-22 00:54:51 566

原创 jenkins 运行python3,输出中文提示UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters

jenkins

2022-08-25 17:32:20 463 1

原创 python - 函数

1、不要将可变类型做为函数参数的默认值举个例子def apped_number(number,numbers=[]): numbers.append(number) print(numbers)if __name__ == '__main__': apped_number(1) apped_number(2)输出结果:[1][1, 2]因为python函数的参数默认值只会在函数定义阶段被创建一次,之后不论再调用多少次,函数内拿到的默认值都是同一个对

2022-04-30 13:37:30 928

原创 python - itertools模块

一、 itertools模块itertools是一个和迭代器相关的标准库,其中包含许多用来处理可迭代对像的工具函数二、部分函数介绍1、使用product()扁平化多层嵌套循环题来了list1 = [1, 2, 4, 5, 6, 3]list2 = [1, 2, 4, 5]list3 = [2, 4, 5]求以上三个列表,寻找加一起是4的三个数写法1:number1 = [1, 2, 4, 5, 6, 3]number2 = [1, 2, 4, 5]num

2022-04-17 21:52:03 1513

原创 python - 上下文管理器

一、什么是上下文管理器你是不是这样读过文件with open("file","r") as f_reader: content = f_reader.readlines()为什么你要用"with"呢,因为在这段读取文件代码结束后,会自动执行close()with是一个神奇的关键字,它可以在代码中开辟一段由它管理的上下文,并控制程序在进入和退出这段上下文时的行为,即进入时打开文件,并返回文件对像,退出时关闭文件对像二、自定义上下文管理器1、自定义上下文管理器并不是只

2022-04-16 22:42:08 747

原创 python sorted() 函数

一、和sort()的区别sort只能对列表进行排序,而sorted比sort更强大,他可以对所有容器进行排序二、sorted的三个参数iterable:集合key:排序的参照的关键字,可是是集合里的某个属性reverse :True代表倒序 False代表正序三、举个例子moives = [ {'name': "the dark knight", 'year': 2008, 'rating': '9'}, {'name': "kaili blues"...

2022-04-04 21:37:14 763

原创 python 容器的一些操作 - 集合

1、集合是无序的可变容器2、集合最大的特点就是不能重复3、集合用{}但里面装的是一维的值,而不是key:value4、集合里只能存放可哈希对像#可哈希对像就是hash(obj)运算后,必须返回一个整型结果,不会报typeError哪些是可哈希对像呢:不可变类型:整数浮点数字符串字节串元组 (可哈希对像)可变类型:列表字典集合一、集合可以求交集并集合集fruits = {"西瓜","榴莲","香蕉","菠萝"}good_fruits = {...

2022-04-04 21:11:58 888

原创 python 容器的一些操作 - 字典

扫个概念先,怕忘记了python中的可变类型和不可变类型1、可变:列表字典集合2、不可变:整数浮点字符串字节串元祖一、遍历字典,同时遍历key,valuestudents = {"name":"王二","age":13}for key,value in students.items(): print(key+":"+str(value))输出name:王二age:13二、get() 和 setdefault()的区别get():查找字典里...

2022-04-04 14:13:35 394

原创 python 容器的一些操作 - 元组

元组可以存放不同类型的数据,且长度不可变一、元组推导式names = ("大傻", "二傻", "三傻")names = (name for name in names if "二" in name)print(names) #返回了一个生成器对像输出<generator object <genexpr> at 0x000002891146CAC8>好在这个对像可以迭代我们可以这么写names = ("大傻", "二傻", "三傻","二呆").

2022-04-04 11:25:47 524

原创 python 容器的一些操作 - 列表

一、在遍历列表时,同时获取下标和值使用内置函数 enumerate()包裹列表对像names = ["大傻", "二傻"]for index ,value in enumerate(names): print(f"脚标是{index},值是{value}")脚标是0,值是大傻脚标是1,值是二傻二、列表推导式1、集合推导式的格式out_list = [out_express for out_express in input_list if out_express_c

2022-04-04 10:29:21 161

原创 python中的枚举类型

1、看一个定义我们在写代码中经常会遇到这样的问题,定义姓名,0代表男,1代表女那我们判断男女的代码会写成什么呢:def print_sex(sex_type: int): if sex_type == 1: print("this is a woman") elif sex_type == 0: print("this is a man") else: print("you are a gay")if __name_

2022-04-03 17:55:22 1630

原创 python encode和decode傻傻分不清楚

一、字符串和字节串的区别1、字符串:我们最常挂在嘴边的,”普通字符串“,是给人看的,在python中是str类型,str使用的是unicode编码,可通过encode()方法编码为字节串2、字节串:有时也叫“二进制字符串”,是给机器看的,在python中是bytes类型,bytes有编码格式,如utf-8(默认),gbk,可以通过decode()方法解码为字符串具体操作如下1、程序从文件或其他外部存储读取字节串内容,要将基解码为字符串,然后再内部使用2、程序完成处理,要把字符串写入文件

2022-04-03 16:43:47 971

原创 python 数值和字符串的一些进阶操作

一、float类型的精度计算1、我们可能会看到这样的奇景def sum(self, number1: float, number2: float): print(number1+number2)if __name__ == "__main__": sum(0.1,0.2)输出结果为:0.30000000000000004原因是计算机对浮点精度处理的问题,解决方式如下,使用decimal特别注意,decimal必须使用字符串来表示数字from decimal i

2022-04-03 15:58:23 444

原创 理解java类的三个特性,封装,继承,多态

一、封装一般封装是针对类的属性封装,我们先看看不使用封装的结果//定义一个student类public class Student { public int age;}//定义一个client类调用他public class Client { public static void main(String[] args) { Student student = new Student(); //呀!类的属性就这么随意的被改了,改了就算了,

2022-03-26 23:44:18 566

原创 python 输出adb logcat 内容

Android自动化中,常见的一个问题是打印logcat然后做一些自动化操作import subprocesslogcat = subprocess.Popen(["adb", "logcat"], stdout=subprocess.PIPE)try: flag = 0 while not logcat.poll(): line = logcat.stdout.readline() if line: formatted_

2022-03-24 15:49:08 4435

原创 jmeter的报错

1、连接数据库报:javax.net.ssl.SSLException: closing inbound before receiving peer's close_notify在连接信息处加上“useSSL=false”例 : jdbc:mysql://12.24.54.56:3306/user?useSSL=false2、Can not issue data manipulation statements with executeQuery().这个地方没有选对,这个只是查找,我

2022-03-24 09:49:35 437

原创 java中的可变参数

java中的可变参数用来解决参数个数不固定的问题比如说,有这样一个需求我想要求若干个整数的最大值所以若干就尴尬了,到底多少个 10个?8个?那这种可变参数就派上用场了可变参数的定义方式public static void findTheMaxNumber(int... numbers){}就是参数类型后面加三个点儿我们再看看,接收到的参数是什么类型由此可见。多个参数传过来以后,会将这些参数转化成一个数组。那这样就好了,我们把这个需求实现一下public cl.

2022-03-20 16:40:36 840

原创 java 打印乘法口诀

package com.liujia.project;public class Project2 { public static void main(String[] args) { for(int i=1;i<=9;i++){ for (int j =1;j<=i;j++ ){ System.out.print(j+"*"+i+"="+i*j+" "); } ..

2022-03-20 15:07:53 463

原创 java中的scanner

一、scanner简介是读取控制台输入的内容,他的创建方式是Scanner scanner = new Scanner(System.in); //创建scarnner对像scanner.close(); //用完记得关闭二、scanner.hasNext() 和 scanner.hasNextLine() 的区别首先来看他们的用法,以上方法是成对使用的:scanner.hasNext() 和 scanner.next()scanner.hasNextLine() 和...

2022-03-20 14:21:13 470

原创 java用idea中生成javadoc中文报错

用idea生成javadoc中文会报乱码解决方式,javadoc命令运行时,默认用了gbk,需要我们在"Tools->Gerenate JavaDoc”面版的Other command line arguments 栏里输入:-encoding utf-8 -charset utf-8

2022-03-20 12:24:42 866

原创 python -变量的解包的用法

一、pytho变量python是动态类型的语言,即无需声明变量类型,直接对变量赋值即可1、可以在一行语句中,操作多个变量name, sex = "明明", "女"print("名子是:{},性别是:{}".format(name, sex))输出:名子是:明明,性别是:女2、交换两个变量可以这样写name, sex = "明明", "女"name,sex = sex,nameprint("名子是:{},性别是:{}".format(name, sex))输出:名子

2022-03-06 14:48:27 450

原创 Jenkins - 部署一个django项目(三个坑)

一、坑一(创建结点)1、关于创建linux结点,一个是上篇文章的的问题,就是配置java路径的问题Jenkins创建linux节点踩坑史_分享自己浅浅的知识-CSDN博客一、选择创建节点2、这里填节点名以上配置完点击保存,再点击下面这个按钮二、下面坑来了1、运行代理后报错:/root/.ssh/known_hosts [SSH] No Known Hosts file was found at /root/.ssh/known_hosts. Please ensure one is created

2022-02-17 15:27:00 1218

原创 docker -容器之间实现数据共享

1、首先我们创建一个centos的容器2、现在我们有一个命令,连实现容器的挂载--volume=-from父容器名子3、这时候容器中的centos01下的/opt/,容器中的centos02下的/opt/,本机中的/opt/centos三个目录就实现了数据的共享,与其说的共享,我个人认为说数据备分更加合适现在我们来做个测试我在本机中的/opt/centos下创建一个文件demo1我在容器中的centos02下的/opt/下创建一个文件demo2现在查看一下我..

2022-02-13 15:11:54 801

原创 docker -用-v方式创建容器数据卷

一、什么是容器数据卷1、先回顾一下什么是镜像:是应用和应用所需要环境的一个包2、数据:如果数据放在容器中,只要容器删除,那数据也就完蛋了,比如说费劲巴拉整了10000条测试用例放到容器里,结果别人手一抖,删除了,我估计你掐死对方的心都有因此我们需要产生一个数据共享技术,即Docker容器中产生的数据,同步到本地,相当于做一个备份。比如说,我在docker服务器中创建了三个容器,其中一个是mysql,我把我的数据写在了容器中的“opt/mysql”下,那我在我的本机的linux中也

2022-02-13 13:28:59 4456 1

原创 docker-入门基础命令以及创建一个自己的镜像

一、启动docker启动docker:systemctl start docker重启docker:systemctlrestart docker关闭docker:systemctl stop dockerdocker帮助命令docker -v查看版本docker --help 查看帮助镜像命令1、查看镜像docker images 查看镜像REPOSITORY TAG IMAGE ID ...

2022-02-13 00:22:42 2148

原创 django - models模型一对一,一对多,多对多关系以及操作

一、我们现在有这么个数据模型关系我有四个对像:作者,作者详情,出版社,书籍,那关系模型建模1、作者和作者详情,这个不用说,一定是一对一关系2、作者和书籍,一个作者可以出多本书,一本书可以有多个作者,那就是多对多关系3、出版社和书籍,一个出版社可以出多个书籍,那就是一多对多关系具体如下图二、现在创建表格:重点问题我加了注释!!敲黑板!!一定注意!!from django.db import models# Create your models here.cl

2022-02-08 13:02:04 1901

原创 django - layer弹层中添加form表单的实现方式(有坑)

一、展示方式1、比如说我们在测试平台中加一个添加项目的功能,统共就两输入框,如果跳转到一个页面完成,会显得比较笨重,于是,我们可以运用弹层二、具体实现方式如下1、先定义这个添加项目的表单,表单的样式根据你使用的前端框架来决定,但一定要注意两点(1)不要赤果果的直接把表单呼上去,要在外面再套一层div,我把他放到一个行里(2)要将他的可见性,设成display:none,即将其隐藏,因为我们是想给他展示在layer弹层里,而不是层示在页面上2、js脚本(1)l...

2022-01-31 01:17:35 2331 3

原创 django - html模板

一、为什么要有模板1、我们在浏览各大网站的时候,你会看到,有一些东西是不变的,比如说导航栏、

2022-01-30 14:08:46 1687

原创 django - ajax发送json格式请求

一、业务场景如下很简单,哥就想实现一个登录,你去实现吧,那提到这个,我们会想到以下几点1、前台,我要做一个登录业面2、然后发送一个ajax请求3、用户名密码一定是个表单,表单提交那是一个post请求4、用户名能忍,密码很重要,总不能明文传输吧,得加个密5、这个也不能赤果果的放在url后面传吧,所以,form表单的post请求方式明显不合格,我们试试用数据传输,从用户名密码的角度,这明显是个字典格式,那我们就传个json吧6,前台定好了,还要后端的接口,处理发过来的用户名密码

2022-01-28 00:54:54 2505

原创 django实战1 - 创建APP,实现路由分配和templates分配

一、整个项目结构1、我要创建一个平台,主要做接口自动化和一些经常的测试工具的实现2、接口自动化我准备完成两个体系的,一个是关于mitmproxy的,一个是关于httprunner的3、mitmproxy主要完成mitmproxy录制功能,自动化测试回放,生成测试报告4、httprunner主要完成fidder录制功能,直接生成测试用例,完成回放5、实现登录功能6、实现jenkins持续集成部署功能7、前台框架就layui二、创建项目和APP知道以后,我们选创建一个d.

2022-01-26 14:27:02 916

原创 Mock服务(5)---- 利用flask,mock一个超时服务

一、接口响应超时我们经常遇到这样的需求。产品经理说,服务响应超时,前端就展示XX页面,那服务端什么时候能响应超时呢,实在脑瓜疼,这时候mock出现了,但是moco模拟不了超时那怎么办呢,这时候该flask同学登录场了二、flask1、flask照比django,是个轻量级的web开发框架,mock不就是一个url服务吗,如果客户端定义的超时时间是120S,那我们只要用python的sleep函数,大于5秒的时间再返回2、flask的使用文档如下欢迎来到 Flask 的世界 — F

2022-01-23 17:20:51 1593

原创 Mock服务(4)---- 利用fiddler完成一次mock

一、我们可能有这样的场景我有一个web页面,这个页面有一个接口是查询书籍列表,然后在web页面展示我想查在各个情况下,web页面的展示情况那我们可能有这样的用例1,如果书籍服务列表返回是空2、如果书籍列表正常返回3、如果书籍列表接口挂了以上三种情况下,我们的web页面展示的是否符合我们的需求那问题来了,服务端开发已经把接口开发好了,后面放了数据,你的第二个测试点正常返回还好说,比如你跟服务大哥说,大哥,我要测试一下你列表返回是空,你帮我报数据库数据清了,再测试第三点,你帮

2022-01-23 01:32:17 505

原创 Mock服务(3)---- post请求

一、post请求1、mock一个json请求[ { "request": { "uri": "/demo", "method": "post", "headers": { "content-type": "application/json", //指定请求格式只能是json "token": "12345678", "uid": "1" }, "json": { "username": "monkey", //发送json

2022-01-22 23:31:37 1606

原创 Mock服务(2)---- get请求

一、mock一个get请求[ { "description": "get请求不带参数", //一个不带参数的get请求 "request": { "uri": "/noParams", //访问的地址 "method": "get" //请求方式 }, "response": { "text": "这个请求不带参数" } }, { "description": "get请求带参数", //一个带参数的get请求 "r

2022-01-22 20:49:25 1284

原创 Mock服务(1)---- 初识Mock

一、什么是Mock什么是mock呢,首先,他是个英文单词,那就先百度翻译一下,扫个盲mock: 模拟的;模仿的那测试中我们用他干啥呢如果测试过程中,对一些不容易构造的对像,创建一个mock来模拟这个构造的对像二、Mock的用处1、我们要测试B接口,但是他需要A接口返回的数据,可是研发速度慢,A接口还没有开发好,那我要想测试B接口咋办,那就模拟一个B接口的返回,来测试A接口2、模拟第三方服务,测试中你是不是会经常遇到这样的接口情况,你的接口调用了一个第三方接口,比如说调用了一

2022-01-22 20:00:21 5199

原创 接口测试(4)allure生成测试报告

1、allure生成测试报告的方式(1)allure生成测试报告首先会先生成一堆json中间文件(2) 然后再根据这些中间文件生成html文件2、现在我们来完善我们框架的测试报告部分先熟悉两个命令(1)pytest生成allure测试文件...

2022-01-15 23:34:40 2557

原创 接口测试(3) pytest运行方式

pytest中有好多种运行方式,这里只说我常用的1、如果我想调试单个接口,那在当前接口下增加if __name__ == '__main__': pytest.main()我就可以打断点调试2、pytest还可以带参数可以带测试用例的路径或者py文件的路径pytest.main(["./cases"])pytest.main(['./cases/test_login.py', './cases/test_geteventlist.py'])3、知道上

2022-01-15 16:29:15 639

空空如也

空空如也

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

TA关注的人

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