自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 性能测试Jmeter (6) --场景设计

前言场景是用来尽量模拟真实用户操作的工作单元,场景设计源自于用户真实操作,jmeter场景主要通过线程组设置来完成场景设计原则是忠于用户实际操作,组合用户的各个操作到场景中来。jmeter的场景设计除了设置线程组,在复杂的场景中会与逻辑控制器配合场景设置jmeter线程组是建立一个线程池,根据用户的设置进行线程池的初始化在取样器错误后要执行的动作:继续、启动下一进程循环、停止线程、停止测试、立即停止测试继续:当请求出现错误时,会继续运行。在实际工作中,当我们在模拟大量用户并发时,服务器偶尔响

2021-08-26 14:26:51 401

原创 python测试开发(1) - 虚拟环境的安装和应用

为什么要安装virtualenv如果我们要同时开发多个应用程序的话,那么这些应用程序都会公用一个python,如果A应用使用的是flask 1.1和python3进行开发的,而B应用是通过flask2.3和python3开发的。这种情况下,每个应用都需要各自“独立”的运行环境。virtualenv就是用来为一个应用创建一套“隔离”的python运行环境。虚拟环境的数量没有限制,可以使用virtualenv或者pipenv等工具创建多个虚拟环境virtualenv和pipenvvirtualenvv

2021-08-25 22:00:21 386

原创 性能测试Jmeter (5) -- 参数化

前言我们做性能测试需要并发多个用户,为了真实模拟用户行为,我们需要模拟多个不同账号,这时就需要进行参数化CSV Data Set Config参数说明名称:可以随意设置,最好有业务意义注释:可以随意设置,可以为空filename:引用文件地址,相对路径和绝对路径。相对路劲的地址是jmeter的启动目录file encoding:读取参数文件用到的编码格式,通常使用UTF-8格式保存文件Variable Names(comma-delimited):定义的参数名称,用英文逗号隔开,参数名称与

2021-07-30 18:17:11 683

原创 性能测试Jmeter (1)

前言性能测试是我们做为测试人员必须掌握的技能,功能测试已经无法满足工作需求,想要更长远的发展,学习性能测试相关的知识是必然的。学习文档:全栈性能测试修炼宝典JMeter实战。提取码:8x4k对于性能调优,一定不是测试一个人的事,而是整个项目团队的事。因为内容涉及系统各方面,从上到下有软件产品、中间件、虚拟机、操作系统、硬件。软件产品有系统架构、业务涉及、代码实现、数据库物理涉及及数据库各种配置性能测试是一项综合性的工作,致力于暴露性能问题,评估系统性能趋势。是利用工具去模拟大量用户操作来验证系统能够承

2021-07-27 17:38:30 101

原创 selenium自动化测试(八)-- expected_conditions详解

前言expected_conditions是selenium的一个模块,可以对网页上元素进行判断,一般配合WebDriverWait使用。详细介绍说明1、title_is,判断当前页面的标题是否等于预期,返回布尔值也可以使用driver.title打印当前页面的标题from selenium import webdriverfrom selenium.webdriver.support...

2020-04-23 21:36:14 3568

原创 selenium自动化测试(七)-- 元素等待

前言当浏览器在加载页面时,页面上的元素并不是同时被加载完的,就给定位增加了困难。webdriver提供了两种类型的等待:显式等待和隐式等待显式等待显式等待使webdriver等待某个条件成立时继续执行,否则在达到最大时长时抛出超时异常(TimeoutException)。WebDriverWait类是由WebDriver提供的等待方法,在设置的时间内,默认每隔一段时间检测一次当前页面元素是...

2020-04-22 22:46:33 377

原创 selenium自动化测试(六)-- 键盘事件

前言Keys()类提供了键盘上几乎所有按键的方法。前面了解到,send_keys()方法可以模拟键盘输入,除此之外,还可以用来输入键盘上的按键、组合键常用的键盘操作在使用键盘按键方法之前需要导入Keys类,from selenium.webdriver.common.keys import Keyssend_keys(Keys.BACK_SPACE) 删除键send_keys(Ke...

2020-04-22 18:36:27 609

原创 selenium自动化测试(五)-- 鼠标事件

前言通过前面的例子了解到,可以使用click()来模拟鼠标的单击事件,鼠标的右击、双击、悬停、以及鼠标拖动等功能,封装在ActionChains类perform() 执行所有ActionChains中存储的行为context_click() 右击double_click() 双击drag_and_drop() 拖动move_to_element...

2020-04-22 18:10:56 619

原创 selenium自动化测试(四)-- 简单元素操作(登录QQ邮箱)

前言前面我们学习了定位元素,定位只是第一步,定位之后就需要对这个元素进行操作了。webdriver中最常用的几个操作元素的方法clear() 清除文本send_keys(value) 模拟按键输入click() 单击元素登录QQ邮箱接下来我们就用登录QQ邮箱简单的演示一下这些方法的使用# 登录QQ邮箱from selenium impor...

2020-04-22 16:59:58 1803

原创 selenium自动化测试(三)-- 操作浏览器

操作浏览器webdriver主要提供的是操作页面上各种元素的方法,但同时也提供了操作浏览器的一些方法控制浏览器窗口大小from selenium import webdriverimport timedriver = webdriver.Chrome()driver.get("https://www.baidu.com")# 设置浏览器宽480,高800driver.set_w...

2020-04-22 16:23:54 181

原创 selenium自动化测试(二)-- 元素定位

前言自动化测试其实就是模拟鼠标和键盘来操作这些元素,包括单击、输入、鼠标悬停等。操作元素的前提就是找到元素,接下来就介绍怎样去定位元素。元素定位webdriver提供了八种元素定位方法:id定位:find_element_by_id()HTML规定id属性在HTML中必须是唯一的,具有很强的唯一性,所以有id属性时,尽量使用此定位方法更精确。例如定位百度输入框:通过find_elem...

2020-04-22 15:14:03 290

原创 selenium自动化测试(一)--环境搭建及演示

前言目前市面上的自动化测试工具非常多,常见的是以下几款:UFT:是由QTP和ST合并而来,是一个企业级的自动化测试工具,提供了强大易用的录制回放功能,同时兼容对象识别模式与图像识别模式两种识别方式,支持B/S与C/S架构的软件测试,是目前主流的自动化测试工具Robot Framework:是一款基于python语言编写的自动化测试框架,具备良好的可拓展性,支持关键字驱动,可以同时测试多种类...

2020-04-21 21:53:36 390 1

原创 Jenkins学习5--生成allure报告并发送邮箱

生成allure报告安装完成后打开“Manage Jenkins” --> “Global tool Configuration” --> “Allure Commandline”勾选自动安装,版本选择最新版就可以了执行shellpytest --alluredir ./allure_report${WORKSPACE}是Jenkins的环境变量,表示当前的工作目录构建...

2020-04-16 22:47:01 3292

原创 Jenkins学习4--从git上拉取代码,执行脚本

Jenkins新建一个自由风格的项目配置项目运行节点源码管理:Repository URL 代码仓库地址Credentials git仓库登陆的账号和密码凭证Credentials 点开Jenkins按钮,输入git仓库登陆的账号和密码指定分支 默认是*/masterRepository URL 代码仓库地址可以在git上查看构建–>执行Windo...

2020-04-16 22:40:54 1193

原创 Jenkins学习3--节点管理(windows)

创建任务

2020-04-15 14:25:59 173

原创 Jenkins学习2--Jenkins容器内搭建python环境

前言使用docker安装jenkins环境,jenkins构建的workspace目录默认是在容器里面构建的,如果我们想执行python3的代码,需进容器内部安装python3的环境。进入容器docker exec -it -u root jenkins /bin/bash加上-u root 是以root用户权限进入容器cat /etc/issue查看当前操作系统这里查到的操作系统是De...

2020-04-14 21:36:59 859

原创 Jenkins学习1--docker搭建Jenkins环境

环境准备Linux服务器docker下载docker镜像先下载lts的Jenkins最新版本docker pull jenkins/jenkins:lts新建Jenkins的工作目录mkdir /home/hlp/jenkins查看归属IDls -nd /home/hlp/jenkins我这里查出来是0,因为需要映射容器内部地址,所以要赋予它可以访问Jenkins容器的权限...

2020-04-14 15:11:48 170

原创 docker学习9--mock.js语法

mock应用场景第三方接口的测试,比如第三方支付接口,模拟支付失败支付成功的场景前后端分离的时候,前端开发完成了,后端的接口没开发,测试前端时前端APP测试的时候,需要测试每种情况时的数据构造创建项目=demo演示fiddler设置设置完成后,当请求项目地址“http://xx.xx.xx.xx:9000/api/v1/userinfo”时,会自动返回mock的测试数据...

2020-04-13 15:26:53 160

原创 docker学习8--部署easy mock环境

easy mock部署前言在前后端分离的概念中,前后端是并行开发的,前端在写页面时并没有现成的后端接口给我们用,这时候 mock 假数据的作用就显得十分有必要了。Easy Mock 是一个可视化,并且能快速生成模拟数据的持久化服务。因为 Easy Mock 依赖 Redis 和 MongoDB,因此本地环境使用 docker-compose 来搭建 Easy Mock 应该算是最佳实践了。...

2020-04-13 12:09:55 1104 1

原创 docker学习7--上传本地镜像到仓库

前言在本地调试自己创建的镜像后,可以上传到镜像仓库,方便在不同机器上快速搭建同一套环境,类似GitHub。这样可以保证开发运行、测试环境与生产环境的配置、部署、依赖等一致,避免后续运维相关的问题。创建仓库创建成功后,右侧会提示使用docker push进行推送打本地标签tag本地镜像在之前已经构建好了在上传之前,需要先给本地镜像打个tag标签,相当于重新复制镜像并重命名为do...

2020-04-10 17:40:02 542

原创 docker学习6--Dockerfile创建镜像文件

Dockerfile介绍Dockerfile由一行行命令语句组成,并且支持用“#”开头作为注释,一般的,Dockerfile分为四部分:基础镜像信息维护者信息镜像操作指令容器启动时执行的指令Dockerfile是用来构建Docker镜像的构建文件,简单来说,Dockerfile就是把我们安装环境的每个步骤和指令,放到一个文件,最后一键执行,最后做成一个你想要的环境。Docker构...

2020-04-10 16:49:52 497

原创 docker学习5--注册docker hub账号

docker镜像仓库注册docker账号访问docker首页输入ID、邮箱、密码进行注册。此时会收到一封邮箱,进行激活即可Linux登录docker

2020-04-10 09:53:56 425

原创 性能测试Jmeter (4) -- 参数关联

参数关联json提取token比如查询个人信息接口,需要先登录,获取用户token,才可以查询个人信息如果返回的类型是json格式,比如{"code": 0, "msg": "login success!", "username": "test", "token": "79f6130f239c767a651ab25b5b63478f2f896186" }可以用【后置处理器】...

2020-04-09 16:34:36 281

原创 jmeter使用

jmeter使用Windows系统,jmeter解压后,在bin目录下双击”jmeter.bat”即可启动jmeter服务这个界面默认是英文的,可以修改“jmeter.properties”文件将其设置为中文模式案例演示–在Linux上运行脚本首先在Windows环境上调试脚本文件测试接口:http://39.107.60.156/futureloan/mvc/api/member/...

2020-04-09 15:23:58 193

原创 jmeter环境准备

Windows安装jmeter下载官网下载地址我这里下载的jmeter-5.2.1的版本,jmeter环境依赖JAVA环境,需安装JDK1.8环境jdk环境配置

2020-04-09 14:38:08 128

原创 性能测试Jmeter (3) --逻辑控制器

逻辑控制器逻辑控制器可以对元件的执行逻辑进行控制。ForEach 控制器名称:可以随意设置注释:可以随意设置,也可为空输入变量前缀:可以在“用户自定义变量”中定义一组变量,ForEach控制器可以从中获取到变量对应的值,然后ForEach控制器的循环条件,还可以输出变量作为取样器的参数 (必填)开始循环字段:循环变量下标起点结束循环字段:循环变量下标终点输出变量名称:控制器生...

2020-04-03 10:37:55 157

原创 性能测试Jmeter (2) --体系结构

jmeter简介jmeter是一款开源桌面应用软件,可用来模拟用户负载来完成性能测试工作jmeter体系结构首先收一下什么是元件,什么是组件元件:如果不做特殊说明,后面出现的元件代表jmeter工具菜单中的一个子菜单,比如:HTTP请求组件:一组元件的集合取样器取样器,用来模拟用户操作,向服务器发出HTTP请求、webserver请求或者Java请求等。可以把http请求元件看成是...

2020-04-02 21:40:35 204

原创 pytest接口测试(九)--环境变量(自定义命令行参数)

前言我们希望只维护一个host地址,这样测试环境部署环境发生改变,或者有多套测试环境的时候,我们可以快速切换测试环境。环境变量,起到全局的变量作用自定义命令行参数定义一个全局的conftest.py文件import osimport pytest# 添加命令行参数def pytest_addoption(parser): parser.addoption( "...

2020-04-02 10:47:49 2900 1

原创 pytest接口测试(八)-- allure报告描述用例详情

allure用例描述使用方法参数值参数说明@allure.epic()epic描述敏捷里面的概念,定义史诗,往下是feature@allure.feature模块名称功能点的描述,往下是story@allure.story用户故事用户故事,往下是title@allure.title用例标题重命名html报告名称@allure.test...

2020-04-02 09:32:46 696

原创 python接口测试(二)-- session/cookies关联

session关联session是什么?我们知道,用浏览器打开一个网页,用到的是HTTP协议,而这个协议是无状态的。也就是说,这一次的请求和上一次的请求是没有任何关系的,互不相认。所以就会产生一个问题,比如我在购物的时候,在某页面浏览了商品,购买时跳转第二个页面,由于是无状态的,第二个请求无法获取第一个页面的商品信息。这时候就需要用到session机制了。就是当访问一个页面时给浏览器创建一个...

2020-04-01 11:03:31 449

原创 pytest接口测试(二)-- 案例演示(QQ号码测凶吉)

案例演示本次演示所用到的接口是聚合数据的“qq号码测吉凶”这是接口文档在开始正式测试之前,需要根据接口文档编写接口测试用例(我是在禅道上编写的)测试用例编写完成,接下来就是用python+pytest编写接口测试了import requestsdef qqTest(key, qq): url = 'http://japi.juhe.cn/qqevaluate/qq' ...

2020-03-31 16:57:11 399

原创 python接口测试--发送get/post请求

环境准备主要是学习requests模块。使用pip进行安装pip install pytestpip的时候如果过出现Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))…………pip的时候各种关卡限制了它的网速,导致网速过慢或者安装失败。解决办法: pip install pytes...

2020-03-31 14:54:06 861

原创 docker学习4--安装tomcat环境和部署war包

安装tomcattomcat部署web包非常方便,只要把war包放在webapps目录就可以了。那么接下来我们就来快速搭建一个tomcat环境下载tomcat镜像拉取tomcat镜像docker pull tomcat...

2020-03-30 21:13:47 120

原创 docker学习3--安装mysql环境

docker安装mysql环境1、拉取mysql镜像先拉取mysql的镜像,可以在docker的镜像仓库找到不同的TAG标签的版本链接我选择的是5.7docker pull mysql:5.72、配置mysql创建mysqlmulti,用于存放mysql相关配置及数据。3、运行mysql容器docker run -p 3309:3306 --name test_mysql -v...

2020-03-27 20:56:19 115

原创 docker学习2--安装及使用

环境准备docker支持一下的centOS版本,目前CentOS仅发行版本中的内核支持dockerdocker运行在CentOS7(64-bit)上,要求系统为64位、系统内核版本为3.10以上docker运行在CentOS-6.5或更高的版本的CentOS上,要求系统为64位、系统内核版本为2.6.32-432或者更高版本首先先看看自己的系统版本:cat /etc/centos-rel...

2020-03-27 15:57:00 121

原创 docker学习1--什么是docker

什么是docker介绍docker之前,我们先了解一下什么是容器。容器就是将软件打包成标准化单元,以用于开发、交付和部署。通俗地说,容器就像是书包里面可以装各种文具、衣柜里可以存放各种衣服。dockerdocker是世界上领先的软件容器平台docker使用go语言进行开发实现,基于Linux内核的cgroup,namespace,以及AUFS类的UnionFS等技术,对进程进行封装隔离,...

2020-03-26 17:41:38 102

原创 httprunner测试框架7--validate检验器

validate检验器在httprunner中,用validate来进行断言,对response返回结果进行检验。我们经常用的eq就是equals,以下就是extract相关的检验方法:eq (equals),判断实际结果和预期结果是否相等lt (less_than),判断实际结果小于期望结果le (less_than_or_equals),判断实际结果小于等于期望结果gt (gre...

2020-03-26 14:46:56 511

原创 httprunner测试框架6--parameters参数化

parameters参数化用variables声明变量时对应值只有一个,而参数化是多个值,存放在list里面。做自动化测试肯定是离不开参数化的。登录参数化比如有四组测试登录用的账号和密码,账号为test1, test2, test3, test4,密码统一为123456。对user账号数据进行参数化,,设置对应的值[‘test1’, ‘test2’, ‘test3’, ‘test4’],用...

2020-03-25 20:45:28 939

原创 httprunner测试框架5--variables变量声明

variables变量声明与引用前言在httprunner中,支持变量声明和引用。在config和test中均可通过variables关键字定义变量,然后在测试步骤中通过$变量名 的方式引用。局部变量在登录的案例中,账号和密码是写死的,一般写用例的时候,我们最好把这种可能会变的参数单独写个变量。做到测试数据和代码的分离,以便后续维护。局部变量只在当前的test下生效- test: ...

2020-03-25 16:15:28 549

原创 httprunner测试框架4--extract提取返回对象

extract提取token参数前言如何将上个接口的返回token,传给下个接口当做请求参数?这是工作中经常遇到的问题。要解决这个问题很简单,我们只需要提取出token值,设置为一个中间变量a,下个接口传这个变量a就可以了。场景案例我现在有一个登录接口A,登录成功后返回token,接口B查询用户信息,需要A接口返回的token才能访问。A登录接口文档基本信息:访问地址:http:/...

2020-03-25 15:22:18 2152

空空如也

空空如也

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

TA关注的人

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