<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zhangleibin的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zhangleibin</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zhangleibin]]></copyright><item><title><![CDATA[pytest+docker+jenkins+gitlab+allure接口自动化持续集成]]></title><link>https://blog.youkuaiyun.com/zhangleibin/article/details/124714655</link><guid>https://blog.youkuaiyun.com/zhangleibin/article/details/124714655</guid><author>zhangleibin</author><pubDate>Wed, 11 May 2022 17:21:50 +0800</pubDate><description><![CDATA[1、Python Pytest 自动化测试框架搭建

2、centos7安装docker

3、Docker下安装jenkins

4、jenkins容器下安装python3

5、jenkins容器下安装allure

6、Jenkins配置并运行项目
]]></description><category></category></item><item><title><![CDATA[jenkins从gitlab拉取代码]]></title><link>https://blog.youkuaiyun.com/zhangleibin/article/details/124698706</link><guid>https://blog.youkuaiyun.com/zhangleibin/article/details/124698706</guid><author>zhangleibin</author><pubDate>Tue, 10 May 2022 22:00:25 +0800</pubDate><description><![CDATA[jenkins从gitlab拉取代码]]></description><category></category></item><item><title><![CDATA[Jenkins配置并运行项目]]></title><link>https://blog.youkuaiyun.com/zhangleibin/article/details/124697018</link><guid>https://blog.youkuaiyun.com/zhangleibin/article/details/124697018</guid><author>zhangleibin</author><pubDate>Tue, 10 May 2022 21:43:03 +0800</pubDate><description><![CDATA[接上面，jenkins初始化完成之后需要安装需要的插件











选中上面的插件之后点击



然后再出现的页面中选中安装完成后重启



重启后开始配置JDK、Git、allure

JAVA_HOME的路径可以用echo $JAVA_HOME查看





alllure的安装目录为jenkins容器下安装allure时的安装目录



接下来创建任务



创建完成项目之后返回jenkins首页然后选择创建好的项目点击，如下图所示



然后点配置



源码管理tab签下设置从g...]]></description><category></category></item><item><title><![CDATA[jenkins容器下安装allure]]></title><link>https://blog.youkuaiyun.com/zhangleibin/article/details/124105271</link><guid>https://blog.youkuaiyun.com/zhangleibin/article/details/124105271</guid><author>zhangleibin</author><pubDate>Mon, 11 Apr 2022 17:56:24 +0800</pubDate><description><![CDATA[#下载allure包
wget https://github.com/allure-framework/allure2/releases/download/2.17.3/allure-2.17.3.tgz

#下载完成后将下载的文件复制到容器内的/usr/src目录下
docker cp allure-2.17.3.tgz jenkins_rain:usr/src

#进入容器的命令行模式
docker exec -it -uroot jenkins_rain  bash

#目录切换到/usr/src下.]]></description><category></category></item><item><title><![CDATA[jenkins容器下安装python3]]></title><link>https://blog.youkuaiyun.com/zhangleibin/article/details/123997774</link><guid>https://blog.youkuaiyun.com/zhangleibin/article/details/123997774</guid><author>zhangleibin</author><pubDate>Thu, 07 Apr 2022 09:55:41 +0800</pubDate><description><![CDATA[首先要先进入jenkins容器的命令行界面

之后可以将目录切换到要安装python3的目录，我们计划安装到 /usr/local/src下，那么用下列命令切换目录


cd /usr/local/src





然后用cat/etc/isuse命令查看系统版本



Debian系统使用apt-get命令安装软件

1、apt-get update #同步索引，这样才能获取最新的软件包，执行的结果是会更新 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中]]></description><category></category></item><item><title><![CDATA[Docker下安装jenkins]]></title><link>https://blog.youkuaiyun.com/zhangleibin/article/details/123701714</link><guid>https://blog.youkuaiyun.com/zhangleibin/article/details/123701714</guid><author>zhangleibin</author><pubDate>Thu, 24 Mar 2022 23:46:36 +0800</pubDate><description><![CDATA[1、下载jenkins

启动docker服务之后，首先搜索可用的jenkins镜像


docker search jenkins



第一个是官方版本，但是已标明废弃了，让用第二个jenkisn/jenkins代替

那我们就用第二个安装，用如下命令下载镜像


docker pull jenkins/jenkins

下载中....



下载完成后查看本地镜像


docker images



2、启动jenkins

先创建一个目录用于挂载，并把创建的目录权限修改为777


#创建目录
.]]></description><category></category></item><item><title><![CDATA[centos7安装docker]]></title><link>https://blog.youkuaiyun.com/zhangleibin/article/details/123694182</link><guid>https://blog.youkuaiyun.com/zhangleibin/article/details/123694182</guid><author>zhangleibin</author><pubDate>Wed, 23 Mar 2022 23:00:33 +0800</pubDate><description><![CDATA[看了好多教程有说安装docker需要Centos的内核版本&gt;=3.8 或者&gt;=3.10,那么先用uname -r 看看我本机的内核版本是啥



满足条件了，继续

有些命令可能需要root权限，为了方便直接用su命令切换成root用户，su root ==su，如果要切换成其他用户，比如我的用户rain 则需要命令 su rain



此时已经确认了系统内核满足安装docker的要求，也已经切换成root用户，接下来安装docker

1、安装需要的软件包


yum install -y ]]></description><category></category></item><item><title><![CDATA[linux下文件访问权限属性修改]]></title><link>https://blog.youkuaiyun.com/zhangleibin/article/details/123581443</link><guid>https://blog.youkuaiyun.com/zhangleibin/article/details/123581443</guid><author>zhangleibin</author><pubDate>Fri, 18 Mar 2022 18:23:59 +0800</pubDate><description><![CDATA[chmod]]></description><category></category></item><item><title><![CDATA[Jmeter之逻辑控制器（logic controller）]]></title><link>https://blog.youkuaiyun.com/zhangleibin/article/details/123211718</link><guid>https://blog.youkuaiyun.com/zhangleibin/article/details/123211718</guid><author>zhangleibin</author><pubDate>Wed, 02 Mar 2022 14:59:02 +0800</pubDate><description><![CDATA[ForEach Controller、If controller、Simple Controller、Transaction Controller、Loop Controller、While Controller、Critical Section Controller、Include Controller、Interleave Controller、Once Only Controller、Random Controller、Random Order Controller、Switch Controller]]></description><category></category></item><item><title><![CDATA[sql对字符串进行行转列]]></title><link>https://blog.youkuaiyun.com/zhangleibin/article/details/122308347</link><guid>https://blog.youkuaiyun.com/zhangleibin/article/details/122308347</guid><author>zhangleibin</author><pubDate>Tue, 04 Jan 2022 17:51:55 +0800</pubDate><description><![CDATA[数据如下,表名 AAA

classid
			order
			name
		1
			1
			a
		1
			2
			b
		1
			3
			c
		2
			1
			d
		2
			2
			e
		2
			3
			f
		3
			1
			g
		3
			2
			h
		3
			3
			i
		期望结果如下

classid
			name1
			name2
			name3
		1
			a
			b
			c
		2
			d
			e
			f
		3
			g
]]></description><category></category></item><item><title><![CDATA[postman 之接口鉴权]]></title><link>https://blog.youkuaiyun.com/zhangleibin/article/details/122308080</link><guid>https://blog.youkuaiyun.com/zhangleibin/article/details/122308080</guid><author>zhangleibin</author><pubDate>Tue, 04 Jan 2022 17:40:07 +0800</pubDate><description><![CDATA[首先先明确一下接口鉴权的含义：简单来说鉴权就是要确定用户是否有访问系统（这里可以理解成接口）的权限
一般情况下如果发送接口请求的时候返回了 401 错误， 那么一般是接口需要鉴权
鉴权的方式有多种，下面一一列举





1、Inherit auth from parent 从父级继承身份验证

使用方法
点击下图 Collections 右侧的...,然后选择 edit，在 EDIT COLLECTION 中选择 Authorization






type 中可以根据实际需要选择下方鉴权方法，比如选]]></description><category></category></item><item><title><![CDATA[postman 之接口关联]]></title><link>https://blog.youkuaiyun.com/zhangleibin/article/details/122308010</link><guid>https://blog.youkuaiyun.com/zhangleibin/article/details/122308010</guid><author>zhangleibin</author><pubDate>Tue, 04 Jan 2022 17:37:23 +0800</pubDate><description><![CDATA[接口测试的过程中很多时候会遇到一个接口的返回值作为另一个接口的入参来进行测试，这时候就需要用到接口关联，具体步骤如下
1、第一个接口调用结果中把需要的参数存入变量
2、第二个接口使用第一个接口保存的变量
演示实例：






此时会把接口的返回结果转换成 json 格式，存入 jsonData，然后




根据实际情况设置全局变量或者局部遍历，此处用全局变量举例，点击后插入一行
pm.globals.set("variable_key", "variable_value");
variable_key ]]></description><category></category></item><item><title><![CDATA[Linux VMware 安装虚拟机后使宿主机和虚拟机能互 ping 通，并且虚拟机可以连接外网]]></title><link>https://blog.youkuaiyun.com/zhangleibin/article/details/122307956</link><guid>https://blog.youkuaiyun.com/zhangleibin/article/details/122307956</guid><author>zhangleibin</author><pubDate>Tue, 04 Jan 2022 17:35:42 +0800</pubDate><description><![CDATA[保存！
然后进入虚拟机安装的 linux 下打开终端 ping www.baidu.com




和宿主机互 ping 也成功！
]]></description><category></category></item><item><title><![CDATA[Python allure 报告相关 （如何在.py文件中设置allure的title、Description、epic等）]]></title><link>https://blog.youkuaiyun.com/zhangleibin/article/details/122307666</link><guid>https://blog.youkuaiyun.com/zhangleibin/article/details/122307666</guid><author>zhangleibin</author><pubDate>Tue, 04 Jan 2022 17:26:32 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[Python Pytest 自动化测试框架搭建]]></title><link>https://blog.youkuaiyun.com/zhangleibin/article/details/122307585</link><guid>https://blog.youkuaiyun.com/zhangleibin/article/details/122307585</guid><author>zhangleibin</author><pubDate>Tue, 04 Jan 2022 17:21:34 +0800</pubDate><description><![CDATA[文件目录如下所示






然后分别介绍每个文件夹下的文件内容

1、common






assertion.py 封装的断言
casefiletemplate.py 用于根据 params 文件夹下的测试数据文件自动生成.py 的测试用例
consts.py 定义发送报告用的全局变量
email.py 封装的发送 email 报告功能
get_casedate.py 读取 params 文件夹下的测试数据文件，返回接口可以直接用的字典数据
httprequest.py 封装的 requests 的]]></description><category></category></item><item><title><![CDATA[Jmeter参数化]]></title><link>https://blog.youkuaiyun.com/zhangleibin/article/details/122238178</link><guid>https://blog.youkuaiyun.com/zhangleibin/article/details/122238178</guid><author>zhangleibin</author><pubDate>Thu, 30 Dec 2021 15:27:17 +0800</pubDate><description><![CDATA[1、User Parameters

添加方式：用户组-&gt;add-&gt;Pre Processors-&gt;User Parameter



添加完成后设置如下



请求中参数的引用方式



下面说明一下参数化的机制，如果设置的用户是是5，迭代次数是1的情况，参数化的两个参数会使用下列组合：

queryCnt:1 tabId:3 
queryCnt:2 tabId:6 
queryCnt:3 tabId:3 下面两条开始重复第一第二两条数据
queryCnt:1 ...]]></description><category></category></item><item><title><![CDATA[sql备忘（sqlserver）]]></title><link>https://blog.youkuaiyun.com/zhangleibin/article/details/122166700</link><guid>https://blog.youkuaiyun.com/zhangleibin/article/details/122166700</guid><author>zhangleibin</author><pubDate>Mon, 27 Dec 2021 11:07:16 +0800</pubDate><description><![CDATA[case when的用法

select (case when nnn=17063 then 1 when nnn=11223 then 2 else 3 end) as casewhen from table1

-----------------------------------------------------------------------------------------------------------

循环

declare @i int = 1
while @i &lt; 1.]]></description><category></category></item><item><title><![CDATA[UNION ALL 和 order by一起使用的小坑]]></title><link>https://blog.youkuaiyun.com/zhangleibin/article/details/121958220</link><guid>https://blog.youkuaiyun.com/zhangleibin/article/details/121958220</guid><author>zhangleibin</author><pubDate>Wed, 15 Dec 2021 17:58:30 +0800</pubDate><description><![CDATA[对比下面3次查询，第一次会报错，第二次把整体查询结果按照dealTime 倒序，如果想让union all的两个查询中都先按照指定排序取前N跳然后再union all则参考第三种方式

select top 10 * FROM data_ttpai_DealStatisticsGrab WITH ( NOLOCK ) where specId=25893 order by dealTime desc
union all
select top 10 * FROM data_ttpai_Deal...]]></description><category></category></item></channel></rss>