自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 资源 (1)
  • 收藏
  • 关注

原创 docker实战

在宿主机连接mysql容器,使用低版本:1)拉取镜像:docker pull centos/mysql-56-centos72)启动镜像,指定端口(3316是宿主机的端口)docker run -d -e MYSQL_USER=test -e MYSQL_PASSWORD=123 -e MYSQL_DATABASE=stu -p 3316:3306 centos/mysql-56-centos73)通过宿主机mysql客户端进行数据库连接(宿主机必须要安装mysql客户端,才能运行mysql命

2021-03-14 22:33:43 241

原创 docker常用命令

有镜像才能创建容器1)下载镜像:docker pull xxx:TAG2)使用centos镜像新建并启动一个容器:docker run -it centos /bin/bash3)容器停止退出:exit4)容器不停止退出:ctrl+P+Q5)查看容器内运行的进程:docker top 容器ID6)查看容器内部细节:docker inspect 容器ID7)当前的镜像经历过哪些命令:docker history 镜像名称进入正在运行的容器两种方式:1)关闭的时候,不影响原有容器的进行,通过d

2021-03-14 22:18:53 271

原创 连接Mysql的两种方式

在宿主机连接mysql容器,使用低版本:1)拉取镜像:docker pull centos/mysql-56-centos72)启动镜像,指定端口(3316是宿主机的端口)docker run -d -e MYSQL_USER=test -e MYSQL_PASSWORD=123 -e MYSQL_DATABASE=stu -p 3316:3306 centos/mysql-56-centos73)通过宿主机mysql客户端进行数据库连接(宿主机必须要安装mysql客户端,才能运行mysql命令)

2021-03-14 17:49:19 318

原创 k8s某些概念了解

k8s本身是一个编排工具,只是容器云中很小一部分虚拟机:宿主机划出来一块资源,重新装了一个系统容器:只是宿主机上的一个进程,强依底层的内核和操作系统k8s集群:一说网络,二说存储Master:集群控制节点,负责整个集群的管理和控制 Node:节点(可以是物理机,也可以是虚拟机),每个Node上面都会分配一些容器(工作负载,即Pod),当某个Node宕机时,其上的容器会被Master自动转移到其他节点上 Pod:简单理解就是容器,每一个Pod有自己的ip地址(k8s集群内部,Pod.

2021-03-14 14:25:32 698 1

原创 将镜像推送到Registry

容器镜像服务首次进入,需要设置Registry登录密码:xxx创建镜像仓库(1)在创建的过程会先让创建命令空间(2)仓库类型选择公开,否则别人看不到(3)代码源选择本地仓库进入仓库管理页面,有关于将镜像推送到Registry的步骤(1)登录(需要输入前面说到的密码xxx):sudo docker login --username=摘下闪闪满天星q registry.cn-hangzhou.aliyuncs.com(2)给要上传的镜像打个Tag:sudo docker tag [ImageId

2020-09-20 23:57:00 1030

原创 Docker的学习(3)之后台运行容器和容器、宿主机的文件互相copy

(1)后台运行容器后台运行容器(需要加-d参数),再次进入正在运行的容器两种方式:exec方式和attach方式注意使用-d参数创建centos容器之后,并没有进入到容器里面,还是在宿主机上docker exec -it da9edb89696e /bin/bash(新开了一个进程)(新开的一个终端,关闭的时候不影响原有的容器)docker attach da9edb89696e(和docker run是同一个进程)(进入了原来启动容器的进程,退出的时候,容器也就退出了)(2)容器、宿主机的文件

2020-07-26 23:25:49 208

原创 安装redis

2020-07-22 23:28:16 114

原创 Dockfile构造镜像

(1)编写Dockfile文件的内容:FROM centosMAINTAINER ethanethan@163.com #表示作者ENV MYPATH /usr/localWORKDIR $MYPATH #设置进入容器的默认目录/usr/localRUN yum -y install vim #容器里面本身不支持vim和ifconfig命令,安装这两个包就支持了RUN

2020-07-21 00:20:43 203

原创 Docker的学习(2)

前提:有镜像才能创建容器先下载centos镜像:docker pull centos(1)运行容器-i:表示打开容器的输入流-t:表示为容器重新分配一个伪输入终端/bin/bash(不加也可以,相当于sh) sh test.shcentos镜像运行容器(容器是一个简易版的centos系统,即一个运行时的环境,也是前面说到的集装箱)在容器里面可以执行简单的ls命令,注意没有ll命令执行docker run -it centos /bin/bash命令,表示进入到了容器里面了,可以执行简单

2020-07-19 23:46:11 174

原创 shell

#!/bin/bash表示脚本的解释器(即用什么命令执行,也可以是python啥的),如果没有的话,不能直接执行shell脚本在写脚本时,有一些好习惯:注释文件的作用,作者,日期,source加载profile变量(1)变量赋值,前后都不能有空(2)变量的使用:需要加上$(3)把ls -l执行的结果赋给变量a(使用反引号)(4)常用变量$?用于判断上一个执行的命令是否执行成功(成功为0)传参$1表示第一个位置用单引号引起来,就是一个参数了if和else语法If和fi只是

2020-07-19 20:42:41 237

原创 Linux命令:定时任务crontab

crontab可以自动执行命令或者脚本。每一个用户都有一个crontab文件,写在不同用户的crontab中的命令,相当于该用户执行命令。crontab -l:查看当前用户的crontab文件crontab -e或者vi crontab:编辑当前用户的crontab文件[root@yqq1 /]# cat /etc/croncron.d/ cron.daily/ cron.deny cron.hourly/ cron.monthly/ crontab cron.

2020-07-19 20:28:45 122

原创 Linux命令:上传和下载文件

在Linux中下载软件包地址:http://ftp.scientificlinux.org/linux/scientific/7.5/x86_64/updates/security/上面的链接可以下载linux的很多不同版本的内核[root@yqq1 kernel]# yum install wget[root@yqq1 kernel]# wget http://ftp.scientificlinux.org/linux/scientific/7.5/x86_64/updates/securit.

2020-07-19 19:20:32 155

原创 curl命令

curl url:表示获取该网址的文本信息curl -i url:表示获取该网址的协议头部信息以及文本信息curl -I url:表示仅获取请求头部信息

2020-07-19 19:15:51 112

原创 Linux命令:查看文件的md5值和文件的类型

查看文件的md5值[root@yqq1 opt]# md5sum nginx-1.14.0.tar.gz2d856aca3dfe1d32e3c9f8c4cac0cc95 nginx-1.14.0.tar.gzfile查看文件的类型[root@yqq1 opt]# file nginx-1.14.0.tar.gz nginx-1.14.0.tar.gz: gzip compressed data, from Unix, last modified: Tue Apr 17 23:22:43.

2020-07-19 19:14:59 1827

原创 Linux命令:查看系统版本和内核版本

查看文件或字符串的md5值在Linux中下载软件包查看Linux系统版本查看Linux内核版本

2020-07-19 19:12:49 156

原创 Linux命令:显示文件和目录列表ls和ll(1)

[root@yqq1 /]# lsbin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var[root@yqq1 /]# lsbin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var

2020-06-28 23:11:38 897

原创 Excel接口自动化(8)接口测试自动化脚本

# 接口测试自动化脚本(整个流程的逻辑基本都是在这里面实现,所需要的数据都是通过调用前面的封装来获取)from Config.public_data import *from Utils.ParseExcel import ParseExcelfrom Utils.HttpClient import HttpClientfrom Action.get_rely import GetRelyfrom Action.data_store import RelyDataStorefrom Actio

2020-06-07 21:57:48 627

原创 Excel接口自动化(7)封装往Excel中写数据

# 往Excel中写数据from Config.public_data import *def write_result(wbObj, sheetObj, responseData, errorKey, rowNum): try: # 写响应body(注意往Excel中写的是字符串类型) wbObj.writeCell(sheet = sheetObj, content = "%s" %responseData, rowNo = rowNum, colsNo=

2020-06-07 21:56:03 260

原创 Excel接口自动化(6)封装数据存储的逻辑

# 处理数据存储的逻辑from Config.public_data import REQUEST_DATA,RESPONSE_DATAclass RelyDataStore(): def __int__(self): pass @classmethod def do(self, storePonit, apiName, caseId, request_source, response_source): # request_source其实是

2020-06-07 21:53:50 175

原创 Excel接口自动化(5)封装构造接口请求需要的数据

# 处理http请求(只对外开放request方法)import requestsimport jsonclass HttpClient(): def __int__(self): pass def request(self, requestUrl, requestMethod, paramsType, requestData, headers = None, cookies = None): # 处理http请求,包括get、post

2020-06-07 21:52:31 244

原创 Excel接口自动化(4)封装接口发送请求之前做数据依赖的处理

# 依赖数据的处理逻辑from Config.public_data import REQUEST_DATA,RESPONSE_DATAfrom Utils.md5_encrypt import md5_encryptclass GetRely(): def __int__(self): pass # 举例登录接口依赖注册接口的请求参数在Excel中的显示结构:{"request":{"username":"register->1","password":"

2020-06-07 21:50:54 636 1

原创 Excel接口自动化(3)封装md5加密

# md5加密import hashlibdef md5_encrypt(text): m5 = hashlib.md5() #TypeError: Unicode-objects must be encoded before hashing for python3 m5.update(text.encode('utf-8')) value = m5.hexdigest() return value

2020-06-07 21:47:58 181

原创 Excel接口自动化(1)公共变量

import os# 整个项目的根目录绝对路径BASEDTR = os.path.dirname(os.path.dirname(__file__))# 测试数据文件的绝对路径FILEPATH = BASEDTR + "\\TestData\\inter_test_data.xlsx"# API的sheet表中各个列的编号(符合直观的显示,从1开始)API_apiName = 2API_requestUrl = 3API_requestMothod = 4API_paramsType

2020-06-07 21:46:36 268

原创 Excel接口自动化(2)封装Excel

#encoding=utf-8import openpyxlfrom openpyxl.styles import Border, Side, Fontimport timeclass ParseExcel(object): def __init__(self): self.workbook = None self.excelFile = None self.font = Font(color = None) # 设置字体的颜色

2020-06-07 21:44:09 282

原创 Docker的学习(1)

DockerDocker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通 过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的 APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到 “一次封装,到处运行”。Linux 容器技术的出现就解决了这样一个问题,而Docker 就是在它的基础上 发展过来的。将应用运行在Docker 容器上面,而Docker容器在任何操作系 统上都是一致的,这就实现了跨平台、跨服务器。只需要一次配置好环境..

2020-05-22 00:42:12 151

原创 Nginx作为Web容器(2)

(1)先规划web站点的目录结构(2)在conf目录下创建目录conf.d,进入目录conf.d中,创建server(3)进行启动nginx(4)访问站点(1)先规划web站点的目录结构下图是我先创建好的站点目录,并且创建了一个站点a.test.com,站点里面有一个html文件Index.html文件的内容如下(2)在conf目录下创建目录conf.d,进入目录conf.d中,创建serverserver通常建议是以域名命名的文件(前面的步骤创建了一个站点:a.te.

2020-05-19 00:29:43 979

原创 CentOS7使用firewalld打开关闭防火墙与端口

1、firewalld的基本使用启动: systemctl start firewalld查看状态: systemctl status firewalld停止: systemctl disable firewalld禁用: systemctl stop firewalld2、systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体启动一个服务:systemctl start firewalld.service关闭一个服务:syste

2020-05-18 23:46:20 114

原创 Nginx的安装(1)

Nginx已经成为主流的静态web容器、转发器、cache。在web容器上完全超越apache、在转发上代替传统硬件设备、在cache已经可以媲美squid。加之大量的开源社区不断地贡献,使Nginx功能不断完善和强大,已经有逐步成为统一平台的趋势。Nginx虽然被f5收购了,但是作为转发器和web容器还是开源免费的。f5做负载均衡。Nginx有好几种安装方法,下面用最麻烦但是最灵活的方法进行安装(即源码安装)注意:源码安装有一个弊端,就是如果要对Nginx版本升级,一定要重启一下。(1) 在安装

2020-05-18 22:31:06 315

原创 Linux2

gzip命令:只能对文件进行压缩,不能对目录进行压缩(压缩txt文件最好的命令,对于其他二进制文件压缩没有作用)只有完全压缩完成之后,才会把源文件删除掉,如果压缩到一半断电了,源文件和压缩的文件都会显示,只是压缩的文件里面只有一半内容[root@YangQQ home]# cd vi/[root@YangQQ vi]# ls1.txt 2.txt 3.txt anaconda-ks....

2020-05-05 23:15:39 1017 1

原创 系统初级安装和常用命令

第一章 系统初级安装和常用命令1.1 Linux文件系统和目录结构1.1.1 Linux文件系统Linux支持多种的文件系统种类,除了linux通常使用的ext系列,也可以支持windows下的vfat和ntfs格式,当然包括类似nfs、xfs等各种网络存储格式。这里我们首先介绍一下CentOS系统通常会用到的ext,ext2,ext3,ext4,swap格式。一 extext是第一个专...

2020-05-05 22:24:16 489

原创 接口测试中常用到的模块和方法

常用到的模块如下:import requestsimport jsonimport random # 用于生成随机数,不重复import hashlib # 用于md5加密常用到的方法如下:# (1)str.encode(编码格式)方法:表示以指定的编码格式编码字符串# (2)json.dumps(字典):表示把字典转换成json串# (3)post的form方...

2020-04-23 18:43:06 437

原创 代码行统计工具:根据命令行输入的指定目录及文件类型进行统计目录或单个文件的代码行数

# 代码行统计工具:根据命令行输入的指定目录及文件类型进行统计目录或单个文件的代码行数 #统计指定目录(count_path)、指定文件类型文件(file_types)的代码量import os def count_all_file_code(count_path,file_types=None): #判断传入的文件类型list是否为空,如果为空指定文件类型 if...

2020-04-18 14:35:10 274

原创 队列和栈

队列是一种先进先出的数据结构。队列的实例:去食堂吃饭的时候排队,先排队就先拿到饭。特性:先进先出。如何用程序实现一个队列?用数组来实现队列–》顺序栈队列的特点:1.先进先出,队尾进,队头出2.进的过程如果满了怎么办?3.出的过程中如果空了怎么办?4.队列的长度(容量)顺序队列的代码如下:class MyQueue: def __init__(self,volume):...

2020-04-17 14:46:50 110

原创 列表的深浅拷贝

深拷贝:copy.deepcopy拷贝的不可变元素地址一样,可变元素地址不一样>>> import copy>>> a=[100,200,[100,200]]>>> b=copy.deepcopy(a)>>> id(a)1693925037704>>> id(b)1693923554632...

2020-04-17 14:23:56 117

原创 自动化测试(3-4):基本API

(1)判断页面元素是否存在(2)隐式等待implicitly_wait()(3)显示等待until()(4)使用Title属性识别和操作新弹出的浏览器窗口(5)操作iframe中的页面元素(iframe使用的比较多,frame现在基本不用)(6)操作Alert弹框中的确定和取消(很少用)(7)操作浏览器的cookie(很少测)(1)判断页面元素是否存在#例子:判断页面元...

2020-04-02 00:09:04 111

原创 Python遍历列表时删除元素的正确做法

在删除之前,先看下正序删除的原理lst =[1,2,3]for i in lst: lst.remove(i)列表中元素在内存中的位置:1 2 3第一次执行remove(i),删除列表中的第一个元素1,列表中元素在内存中的位置:2 3(注意后面元素的位置往前顶了)第二次执行remove(i),删除列表中的第二个元素3,列表中元素只剩余2第三次执行remove(i),删除...

2020-03-24 22:33:53 703

原创 爬虫实战练习3:使用Scrapy框架(循环抓取腾讯网的新闻)

首先执行命令pip install Scrapy进行安装。请求超时,多试几次或者换成国内的源。如果还装不上,装下老版本:pip install scrapy==1.5.1制作Scrapy爬虫有以下几个步骤:(一)、创建项目在想创建项目的目录下输入cmd,然后执行命令:scrapy startproject TencentNews(表示项目名称)创建完成之后,TencentNews项目的目录...

2020-03-24 16:40:45 656

原创 自动化测试(1):Xpath详解

XPath使用路径表达式来选取XML文档中的节点或者节点集。(一种找元素的定位方式)定位元素的总结有以下6种方式:(一般自动化都是为了定位唯一的一个) @[TOC](1)相对路径定位(2)使用单个唯一的属性,来定位唯一元素,推荐使用id,或者其他唯一的属性(3)基于多个属性的组合,使用not and or来定位,通过组合来确定唯一元素(4)基于文本和属性的模糊定位(5)通过axis...

2020-03-24 15:50:11 772 1

原创 自动化测试(2-1):单元测试框架pytest

pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。根据pytest的官方网站介绍,它具有如下特点:(1)非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考(2)能够支持简单的单元测试和复杂的功能测试(3)支持参数化(4)执行测试过程中可以将某些测试跳过,或者对某些预期失败的case标...

2020-03-24 15:50:02 327

原创 自动化测试(2-2):单元测试框架unittest

自动化测试之单元测试框架unittest

2020-03-24 15:49:52 363

Jenkins各种工具包

Jenkins各种工具包

2022-02-09

空空如也

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

TA关注的人

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