自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 元素定位操作Api

一,定位一个元素 返回单个元素类似selenium1.通过id值定位一个元素driver.find_element_by_id(id_value)2.通过class属性值定位一个元素driver.find_element_by_class_name(class_name_value)3.通过xpath定位元素 driver.find_element_by_xpath(id_value)二,定位多个元素 返回一个列表1.driver.find_elements_by_i

2022-04-17 18:28:53 771

原创 appium

Appium是一个移动端的UI自动化测试框架(类似于selenium),可用于测试原生应用,移动网页应用和混合型应用,且是跨平台的,其官方网站为http://appium.io。可用于I0S和Android等移动操作系统。原生的应用是指用 Android或IOS的SDK编写的应用,移动网页应用是指 WebApp应用(H5应用),混合应用是指一种包裹了 webview控件的原生应用,具备Web页面的便捷与通用性,又具备原生应用的强大功能,也是目前使用频率比较高的应用类型。另外, Appium是跨平台的,可以

2022-04-09 10:10:12 200

原创 sql优化建议

避免大sql 一个SQL只能在一个cpu上运行,在高并发环境中,大SQL容易影响性能问题,可能一个大SQL会把数据库搞死,因此应该拆分SQL 无关操作踢出事务,减少资源占用;保持一致性的前提下,拆分事务 避免大批量更新,避开高峰 避免类型转换 避免取过量数据,建议使用limit 避免在SQL 语句中进行数学运算、函数计算、逻辑判断等操作 避免 SELECT * .避免在 where 子句中使用!=或<>操作符 避免在 where 子句中对字段进行 null 值判断 尽量避免全.

2022-03-27 10:31:36 186

原创 MVC三层架构

M model 模型层/数据库层 V view 视图层/页面显示层 C control 逻辑层/控制器层 用户在 视图层 操作 然后V层将对应的操作请求发给逻辑层 逻辑层根据业务逻辑去数据库层查询对应数据 数据库层返回数据逻辑层 逻辑层处理数据再将最终响应给视图层 视图层在去做页面渲染 显示最终效果给用户 优点:项目高内聚 低耦合 层与层之间只有上下级有依赖关系,可以协同开发 前端负责视图层 后台负责逻辑层数据库层 同时开发 提高工作效率,提高数据的安全性,方便系统的移植,如果要把一个 C/S

2022-03-20 11:48:15 6161

原创 cookie和session和token的关系

HTTP 是无状态协议,说明它不能以状态来区分和管理请求和响应。也就是说,无法根据之前的状态进行本次的请求处理。不可否认,由于不必保存状态,自然可减少服务器的CPU 及内存资源的消耗我们登录淘宝的时候首先要登录,我们看到了一个商品点进去,进行了页面跳转/刷新,按照HTTP的无状态协议岂不是又要登录一次?所以为了解决这个问题,Cookie诞生了,在保留无状态协议这个特征的同时又要解决类似记录状态的矛盾问题。Cookie 技术通过在请求和响应报文中写入Cookie 信息来控制客户端的状态。Co.

2022-03-13 10:55:27 68

原创 jmeter数据库参数化

1.添加循环控制器,在循环控制器下,写入${变量_#},使用变量的个数来控制循环次数。(此处变量为jdbc request 内填写的变量)2.循环控制器下,添加计数器,(记录循环的遍数)Starting value 处填写1(从索引1开始)递增填写1(每次往下读取一行)Maximum value填写 ${a_#},最多循环多少次引用名称:随便写个变量用来接收次数3.循环控制器下添加一个http请求,在参数值的地方写入${__V(sql变量名_${计算器变量名})}.

2022-03-06 11:07:48 360

原创 jmeter数据库参数化

1.Jmeter连接数据库,首先需要下载数据库连接驱动。如果用其他数据库,需要下载对应驱动。驱动的版本不低于数据库的版本,否则可能连接报错。下载完成后,将jar包放到jmeter目录中lib目录下下,然后重启jmeter2.连接数据库,测试计划-配置元件--添加JDBC Connection Configuration(连接mysql数据库)配置数据库信息1)Variable Name给你这次的连接起个名字不能为空,后面在数据库请求时需要用到2)DataBase URL 格式为:jdbc:m

2022-02-27 11:52:37 1851

原创 jmeter响应断言

断言也叫检查点,你可以把你的预期结果写进断言内,如果实际的响应数据出现了你的预期结果,那么jmeter就判断接口通过,如果实际结果没有出现你的预期结果,那么jmeter就判断接口失败。 1.响应断言:对服务器的响应接口进行断言校验,来判断接口测试得到的接口返回值是否正确添加断言: apply to:通常发出一个请求只触发一个请求,所以勾选“main sample only”就可以;若发一个请求可以触发多个服务器请求,就有main sample 和sub-sample之分了2.要测试的响应.

2022-02-19 16:08:42 3228

原创 jmeter参数化

参数化:提前把发送的参数数据写入到一个文件内,再去jmeter编辑csv插件,把很多个值装到某一个参数里面,当你在编辑请求时需要填写这些值得时候,只需要写参数名即可,就相当于写了对应的参数值。参数化可以让你批量的执行接口,提高你的工作效率。1.什么时候会用到参数化?当你需要发送很多数据的时候,可以利用参数化批量执行接口。2.在使用jmeter的时候,往往需要参数化一些数据,常用到的就是CSV Data Set Config,下面来详细介绍下该控件的使用方法:(1)通过Test Plan 或者

2022-02-10 09:51:07 171

原创 重命名和删除文件

Python的os模块提供了帮你执行文件处理操作的方法,比如重命名和删除文件要使用这个模块,你必须先导入它,然后才可以调用相关的各种功能Rename()方法:Rename()方法需要两个参数,当前的文件名和新文件名语法:os.rename(路径\老文件名,路径\新文件名)如果不给新文件名路径,改名后文件会被放到与代码文件同一个路径下例子:下例将重命名一个已经存在的文件foo.txtImport os#重命名文件foo.txt到fo.txtOs.rename(“

2022-01-28 14:52:01 900

原创 open函数

open函数:用来打开和创建文件语法:file=open(文件名,打开方式,缓冲区)各种参数的细节如下:文件名变量时一个包含了你要访问的文件名称的字符串值。打开方式:决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。缓冲区:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时寄存行。如果将buffering的值设为大于1的整数,表明了这就是寄存区的缓冲大小。如果取负值,寄

2022-01-28 14:38:24 17008

原创 python中excel操作

python中excle 操作首先需要用到 xlrd 模块, 在 dos 中输入命令: pip install xlrd 安装模块。 在使用 xlrd 模块时, 先输入 i mport xlrd 语句, 放到 python 文件的最上面导入该模块。首先打开 excle 文件文档变量名 = xlrd. open_workbook (r ‘ excle 文件路径’) 传文件路径通过索 引获 取要操作的 工作表工作表名 = 文档变量名. sh ee ts ( ) [ 索 引]根据 页 面名

2022-01-22 17:04:50 610

原创 python中函数的理解

通俗来讲:所谓函数,就是指为一段实现特定功能的代码“取”一个名字,以后即可通过该名字来执行(调用)该函数从函数定义者(实现函数的人)的角度来看,其至少需要想清楚下3点:函数需要几个关键的需要动态变化的数据,这些数据应该被定义成函数的参数函数的内部实现过程函数需要传出几个重要的数据(就是调用该函数的人希望得到的数据),这些数据应该被定义成返回值函数定义和调用在使用函数之前必须先定义函数定义函数的语法格式如下:Def函数名(形参列表)函数...

2022-01-22 16:24:38 560

原创 linux常用命令

浏览器和网站的关系?浏览器就相当于我们使用的手机, 网站就相当于我们手机上的 软件, 浏览器和手机本身是不具备各种各样的功能的, 他们只 是载体, 当你在浏览器和手机中下载了对应的软件, 或者打开 了对应的网站,才能使用对应的功能, 比如当你想在浏览器看 电影, 你打开浏览器是看不了的, 只有在浏览器打开了爱奇乙 等网站, 你才能在网站中看电影 Vmware 是虚拟机 i so 景象文件, 一般就是操作系统 Linux 一般用于服务器的系统 Linux 系统对于 windows 系统相对来说比较稳定而且

2022-01-22 15:36:21 594

原创 win系统常用几个命令操作

win系统不仅有界面操作,也可以在命令行操作,平时命令行大家使用最多的操作就是查看ip地址,打开win系统命令行窗口,通过输入ipconfig命令 查看当前win操作系统的ip地址,进入命令行页面:开始键+r 点击确定ipv4就是电脑wifi连接的IP地址进入d盘:输入dir,回车,显示d盘下所有内容在d盘下创建一个新文件夹通过md创建一个新文件夹再通过dir查看文件用rd删除文件夹,再通过dir查看文件,之前的文件夹就被删除了...

2022-01-21 16:41:51 413

原创 postman中变量设置

1.变量(全局/集合/环境)变量可以使我们在请求或脚本中存储和重复使用其值,通过将值保存在变量中,可以在集合,环境或请求中引用。对我们做接口测试来说,又是一个非常重要的功能 。在postman常用的三种变量分别是全局变量,环境变量,集合变量 。(1.)全局变量:一旦申明了全局变量,全局有效,也就是说postman中的任何集合,任何请求中都可以使用这个变量。它的作用域是最大的 。(2.)环境变量:要申明环境变量,首先的创建环境,然后在环境中才能创建变量 。如果要想使用环境变量,必须先选择(

2022-01-14 10:05:27 5977

原创 fiddler工作原理

个人理解:fiddler是一个抓包工具,当浏览器访问服务器会形成一个请求,此时,fiddler就处于请求之间,当浏览器发送请求会先经过fiddler,然后再到服务器,当服务器有数据返回浏览器时也会经过fiddler,然后数据才会在浏览器中显示,这样一个过程,fiddler就抓到了请求和响应数据的整个过程。fiddler正确退出过程:fiddler界面:fiddler抓包解析1.左边面板抓包工具面板功能http Resquest顺序,从1开始,按照页面加载请求的顺序

2022-01-06 18:50:26 8709

翻译 python中for循环和while循环

for循环它常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素,python中的for循环需要指明迭代的范围。他的格式通常是:for 变量 in 字符串|列表|元组|字典|集合:例如:求1~100和sum=0for i in range(1,101) sum +=iprint(sum)用户登录程序1.输入用户名和密码2.判断用户名和密码是否正确('name==root','passwd='123')3.为了防止...

2021-12-04 10:25:08 127

原创 python基础语法

Python标识符在 Python 里,标识符有字母、数字、下划线组成。在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。Python 中的标识符是区分大小写的。以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;以双下划线开头的 foo 代表类的私有成员;以双下划线开头和结尾的 foo 代表 Python 里特殊方法专用的标识,如 i

2021-11-25 18:05:08 70

翻译 postman断言

一个完整的接口测试,包括:请求->获取响应正文->断言 可以了解一下postman如何进行加断言的这个” Tests” 就是我们需要处理断言的地方,postman 帮我们把断言所用的函数全给准备好了首先设置一个断言场景,根据断言场景来举例说明 Postman 断言如何使用1.判断 HTTP 返回状态码为 2002.判断响应正文中是否包含:"statusCode":2003.解析响应正文,并判断 statusCode 的值是 200,message 的值是” Succe..

2021-11-18 13:45:10 99

原创 jmeter响应数据出现乱码的处理-三种解决方式

1.在HTTP请求中的Content encoding设置为UTF-82.bin路径下的jmeter.properties文件中修改如下# The encoding to be used if none is provided (default ISO-8859-1)sampleresult.default.encoding=UTF-83.添加BeanShell PostProcessor,脚本框中输入:prev.setDataEncoding("UTF-8")...

2021-11-08 18:28:10 358

原创 JMeter安装插件,添加jp@gc-perfMon Metrice Collector监听器步骤

1.插件下载 下载地址https://jmeter-plugins.org/downloads/all/,下载plugins-manager.jar把下载的文件放到apache-jmeter/lib/ext目录下 重新启动jmeter就可以了 在选项中点击 piugins manager安装插件如下图1. jp@gc - Actiive Threads Over Time 不同时间活动用户数量展示2.jp@gc - Transactions per Seco...

2021-11-04 11:55:38 1984

原创 jmeter做性能测试的步骤

1.首先打开jmeter,jmeter打开之后默认是英语 可以在设置中选择语言 设置成中文 在测试计划下面添加线程组2.在线程组下面添加http请求在HTTP请求页填上待测试系统的 协议、IP、端口、路径 一般我们需要去看接口文档 查看被压测接口的ip 端口 路径 参数名 参数值 填写到http请求下面3.在http请求右键 添加聚合报告 可以查看聚合报告里面的数值4.线程组里面 线程数,线程数可以理解是并发的用户数;ramp-up时间一般输入0;循环次数是控制测试次数,比如...

2021-10-26 15:04:38 2795

原创 http信息头管理器

HTTP信息头管理器在Jmeter的使用过程中起着很重要的作用,通常我们在通过Jmeter向服务器发送http请求(get或者post)的时候,往往后端需要一些验证信息,比如说web服务器需要带过去cookie给服务器进行验证,一般就是放在请求头(header)中,因为对于此类请求,在Jmeter中就可以通过HTTP信息头管理器,在添加http请求之前,添加一个HTTP信息头管理器,发请求头中的数据通过键值对的形式放到HTTP信息头管理器中。在往后端请求的时候就可以模拟web携带header信息了...

2021-10-26 14:24:58 281

原创 jmeter里面工具组成

Jmeter工具组成部分1)资源生产器:用于生成测试过程中服务器、负载机的资源代码2)用户运行器:通常是一个脚本运行引擎,根据脚本要求模拟指定的用户行为3)报表生成器:根据测试中实时地数据生成报表,提供可视化的数据显示方式4)负载发生器:用于产生负载,通常以多线程或是多进程的方式模拟用户行为5)TestPlan : 用来描述一个性能测试,包含本次性能测试所有相关的功能6)Thread (users) 线程组–setup Thread group :一种特殊类型的ThreadGroup,可用

2021-10-18 18:25:40 129

原创 2021-09-30

性能测试的理解:性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。...

2021-09-30 18:12:01 4255

空空如也

空空如也

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

TA关注的人

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