自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vue2路由守卫:解决路由传参页面刷新后参数消失的问题

sessionStorage和localStorage都是HTML5提供的Web Storage API的一部分,用于在客户端存储数据。它们的主要区别在于数据的生命周期、存储的持久性以及适合的应用场景。sessionStorage适合存储临时数据,而localStorage适合存储需要长期保存的数据。两者都有5MB的存储空间限制,且只能存储字符串类型的数据,但可以通过序列化和反序列化的方式存储其他类型的数据。

2024-08-24 09:00:00 1534

原创 vue2表单校验:el-form表单绑定数组并使用rules进行校验

1、在el-form中指定rule,可引用data或compute中集中定义的rules,也可以每一条item中单独定义自己的rule2、另外,花费1天的时间买来的教训:如果rules集中写,在el-form中已经引用了,那么在el-form-item中不能重复引用,否则console中不会报错,但是,rules将不起作用,且提示 people is not a string,即便在rules中添加了 type: 'array' 也不行。如下写法是错误的。​。

2024-08-17 17:56:24 1500

原创 工作中常用的linux命令整理 - 系统相关

登录:curl -k --insecure -H "Content-Type:application/json;加入ifconfig eth0 XXX.XXX.XXX.XXX netmask 255.255.255.0 up 命令。IPADDR=XXX.XXX.XXX.XXX #设置IP地址。

2024-07-25 07:15:00 913

原创 vue2学习笔记11-深入学习监视属性并与计算属性对比

上一节,我们通过一个字符串案例,简单了解了监视属性。虽然在上一节的案例中,监视属性似乎并不太适用,但是实际应用中,还是有大量的情况需要使用监视属性的。比如,快递单地址栏中我们选择了省份后,城市下拉框中将出现该省份下的所有城市,那么我们就需要监听省份的选中项,来加载城市信息。

2024-07-24 07:15:00 652

原创 无题 - 1

而且因为之前很多年正式的文案都是用英文写,出于语言能力的限制,能够将步骤描述清楚,让别人参照着做就算完成任务了。每个人都在忙,你的沮丧和喜悦,在别人的世界里,是那么的微不足道。写博客之后,没有语言的限制,没有篇幅的限制,没有格式的限制,我渐渐的开始放飞自我,把自己的踩坑过程、思考过程,事无巨细地记录。这种细碎,说来其实是一种孤独的宣泄。所以,很多时候,我们都是在网络上自己与自己对话,或者,在某一时刻,偶遇对某一段文字同频的人。有点跑题了,其实我想说的是,这种记录和分享,于我来说,是一种解除封闭的自我疗愈。

2024-07-23 07:15:00 118

原创 JMeter:高并发时的分布式压测

JMeter是基于Java的应用,以线程的方式来模拟用户。每个线程占有的内存一般是8KB,所以并发用户较高时,使用单台计算机容易出现Java内存溢出错误。因而,在高并发时,通常需要借助多台机器同时发压,以产生足够的负载。

2024-07-22 07:15:00 689

原创 JMeter:BeanShell到JSR223迁移中的注意事项

在JSR223中推荐使用vars.get(“key”)的方式使用变量,而非${key}的方式。

2024-07-21 09:00:00 1386

原创 JMeter:BeanShell向JSR223迁移过程遭遇的java标准库不可用问题-如何切换JDK版本

JSR223全称为Java Specification Request 223。其中JSR(Java Specification Request)是Java规范提案中的缩写,而JSR223是其中的一个提案,旨在将脚本语言集成到Java平台之上。所以,相比于BeanShell解释器,它支持更多的脚本语言:groovy、beanshell(java)、javascript、jexl和jexl2等。JSR223 PreProcessor:在执行取样器之前运行JSR223脚本代码的前置处理器。

2024-07-20 09:00:00 960

原创 vue2学习笔记10 - 计算属性,方法和监视属性对比

当要用的属性不存在,要通过已有的属性计算得来时,可使用计算属性。它借助了Object.defineproperty方法提供的getter/setter来实现双向绑定。其中,getter函数在初始化的时候会读取一次,在其依赖的属性发生改变时会再次调用。若其依赖属性未发生改变,代码中多次使用该属性,不会重复调用getter,而是读取其缓存值。

2024-07-19 17:15:00 264

原创 vue2学习笔记9 - 通过观察vue实例中的data,理解Vue中的数据代理

其实,我们并没有在vm下定义这两个属性,只是在data中定义的,外面这两个,便是vue通过object.defineProperty自动给我们添加的,并且也调用了setter、getter方法,这便是vue的数据代理。在Vue中,数据代理是指在实例化Vue对象时,将data对象中的属性代理到Vue实例上,以便在模板中直接访问和修改data对象中的属性。接着上一节,学一学vue中的数据代理。然而,在vm中,外层,我们同样可以看到两个属性(不带$或_,即不是vue的内置属性或方法,而是用户自定义的)。

2024-07-18 17:30:00 274

原创 vue2学习笔记8 - 通过object.defineProperty理解Vue的响应式原理(setter/getter)

常看到说Vue是的,或者说,它把data中的各种属性通过Object.defineProperty转换成,以使得vue能够追踪这些属性的变更,从而适时通知页面重新渲染或者修改Model中的值,从而实现数据的双向传递。

2024-07-17 17:30:00 2264

原创 vue2学习笔记7 - Vue中的MVVM模型

Model-View-viewModel是一种软件架构模式,用于将用户界面(View)与业务逻辑(Model)分离,并通过ViewModel进行连接和协调。MVVM模式的目标是实现视图与模型的解耦,提高代码的可读性、可维护性和可测试性。在MVVM模式中,View是用户界面的呈现层,负责展示数据和接收用户的输入。ViewModel是视图模型,负责处理View的状态、行为和交互逻辑。ViewModel通过数据绑定机制将数据从Model传递给View,并将用户的输入传递给Model进行处理。

2024-07-16 18:00:00 466

原创 vue2学习笔记6 - 初步了解vue的实例和原型

首先,看看创建Vue实例之后,Vue中都有什么:open in Live Server,打开开发者模式,在console中,可以看到打印出来的vm对象:很长很长,未截全。但是,这些数据大概分为两类,以$开头的,和以_开头的。

2024-07-16 09:15:00 819

原创 vue2学习笔记5 - 表单类元素的单向数据绑定和双向数据绑定

也就是说,使用v-model的input,实现了从vue模板与vue实例间的双向数据绑定。而v-bind,只能实现从data到页面的单向传递。但是,v-model也不是在任何地方都可以使用,它只能用于表单类元素(输入类元素)中,捕获用户输入,实现数据的双向传递。输入类元素包含:input,单选,多选、select控件、多行文本输入框等拥有value属性值的元素。所以,v-model:value也可以简写为v-model,因为v-model默认收集的就是value的值。

2024-07-15 18:00:00 425

原创 vue2学习笔记4 - 深入学习模板语法:插值语法和指令语法

1、插值语法:功能:用于解析标签体内容。写法:{{xxxx}},其中xxxx是js表达式,且可以直接读取到data中的所有属性。2、指令语法:功能:用于解析标签(包括:标签属性、标签体内容、绑定事件......)示例:v-bind:href="xxx"或简写为 :href="xxx",xxx同样要写js表达式。且可以直接读取到data中的所有属性。备注:Vue中有很多的指令,且形式都是:v-????。

2024-07-15 12:00:00 824

原创 vue2学习笔记3 - 开发环境知识补充:live server简介

Live Server是一款方便的Web开发工具,可以在开发过程中提供实时预览和自动刷新的功能。无需手动刷新网页,开发者可以实时查看对代码的修改,并快速验证效果,但是不能用于部署最终站点。

2024-07-14 16:00:00 412

原创 vue2学习笔记2-老规矩,从Hello World开始,了解Vue实例和模板

想要把“Hello,World”放置在页面上,首先需要准备一个HTML的块级元素div,来承接内容。

2024-07-14 11:01:07 909

原创 JMeter案例分享:通过数据验证的错误,说说CSV数据文件设置中的线程共享模式

用过JMeter参数化的小伙伴,想必对CSV Data Set Config非常熟悉。大家平时更关注变量名称,是否忽略首行等参数,其余的一般都使用默认值。然而我最近遇到一个未按照我的预想读取数据的案例,原因就出在最后一个参数“线程共享模式”上。记录一下,大家避坑。

2024-07-13 09:00:00 1057

原创 vue2学习笔记1-官网使用指南和搭建开发环境

在Vue的官方文档中,CDN链接提供了Vue的压缩和非压缩版本的核心库,以及Vue的运行时构建和带编译器的完整构建版本。Vue的核心库通常通过CDN提供,这意味着你可以直接在HTML文件中引用CDN链接,而不需要通过npm安装并在项目中引入Vue。需要注意的是,CDN链接可能会因为网络问题或其他原因而无法访问,因此在实际应用中,你可能需要提供一个备用的本地文件引用,以防止CDN链接无法使用。加载速度快:CDN通常具有全球广泛的节点分布,可以根据用户的地理位置选择最近的服务器来提供资源,从而加快加载速度。

2024-07-11 20:18:37 754

原创 JMeter:循环控制器While Controller的用法小结

将上例中的11 和 22调换位置,22作为循环体内的第一个采样器,重新执行可以看到,虽然22已经断言失败了,但是循环继续。因为循环条件仅判断循环体内最后一个采样器的结果。我们将之前的While Controller复制一份,稍加改造${__jexl3(${__Random(0,50,)}==0,)} //数字等于=0,)} //数字不等于${__jexl3("${var}".equals("qwe"),)} //字符串相等${__jexl3(!

2024-07-06 09:30:00 1360

原创 工作中常用的linux命令整理-文本和文件处理

linux常用的文本和文件处理命令

2024-06-29 17:43:25 631

原创 selenium4如何指定chrome和firefox的驱动(driver)路径

python+pytest+selenium框架的自动化测试脚本。原本用的chrome,很久没用了,今天执行,发现chrome偷偷升级,我的chromedriver版本不对了。。。鉴于访问chrome相关网站太艰难,决定弃用chrome,改用firefox。因为,firefox可以自己决定是否升级浏览器:改倒是很快,问题是,改完了执行的时候发现,有时候可以,有时候找不到driver。。。。这里未指定geckodriver的路径,默认使用执行目录下的driver。

2024-06-29 10:00:00 1428

原创 pyCharm项目更改目录后,执行路径未更新的解决办法

最头疼环境问题。换电脑,原python脚本打成zip包,全部拷贝到新电脑上。一开始放到路径A下,不清楚是路径太长还是路径含有中文,执行失败。于是,更换到路径B,结果,仍然执行失败。Run中显示的信息,仍然显示路径A。查了很多方案,都没有解决,最后自己误打误撞删了cache解决了,记录一下。

2024-06-24 20:00:01 662

原创 JMeter案例分享:通过采样器自动完成性能测试过程中的功能检查-数据条目验证

性能测试过程中,对于数据库的增、删操作,除检查接口本身的响应之外,还需要通过查询相关数据条目的增减来验证是否真正成功实现了增、删操作,以确保系统在高并发情况下,仍然可以实现业务的准确性。通常,通过对比压测前后的数据增量与压测成功事务数是否相等来实现。某系统用户提交订单之后,在订单列表页面会新增一条记录。但是,因为测试过程中多用户并发,每个用户只能查到自己的订单,所以检查时需要逐个检查所有参与并发测试的用户名下的订单数量,然后加和求总。1、定义一个变量totalCount,来存储各用户所查询出来的结果2、 用

2024-06-24 19:30:00 585

原创 JMeter脚本录制的原理及如何录制http和https协议的脚本

今天录制脚本,发现点击后系统没反应,以为是项目组的特殊设置,当时并未深究,便直接用浏览器抓包,自己手写脚本。谁知写完执行时,却出现了奇怪的错误:明明是一个登录请求,下面却催生出两个子请求来,而且,即便是绿色的这个请求,响应数据也不对。费了好大劲,最终却发现,这个项目全部都是https请求,而我,习惯性的将协议写成了http。由此想到,如果第一步脚本录制的时候就停下来研究一下为什么不能录制,或许,还能少走些弯路。有时候,想要偷懒绕开某些困难,绕了一大圈发现,还是要回去面对。

2024-06-22 12:00:00 1135

原创 JMeter案例分享:你真的希望CSV Data Set Config一行接一行地向下读取数据文件么?如何使JMeter每个线程的每一次迭代都读取csv文件固定行的数据,而不是顺序向下读取?

大多测试场景中,我们执行登录之后,将始终使用登录的这个用户的身份信息,反复的执行某业务来进行压测。也就是说,登录这个动作,只执行一次。所以,将登录账号信息放在文本文件中,使用CSV Data Set Config读取,是常用的一种参数化手段。但是在我之前分享的案例中,修改密码后系统会自动将该用户登出,想要再一次修改密码,就需要重新登录。于是,就需要登录->修改密码->登录->修改密码这样的循环,直接使用CSV Data Set Config就不行了。

2024-06-21 19:30:00 1127

原创 JMeter案例优化:使用fastjson处理json数据,实现获取响应中的json键值并动态生成新的json数据

在BeanShell中使用fastJson处理json格式数据

2024-06-19 19:48:22 682

原创 JMeter案例优化:测试执行结束后,实现tearDown的几种方式

在昨天的博文中,因测试场景反复修改密码,为了保证测试结束后给密码复位,不影响别的场景测试,我的方法是在修改密码的线程组后面添加另一个线程组,执行密码复位操作。但是这样有一个风险:执行测试的人,必须要记得后面的这个线程组是用来复位密码的,要与修改密码的线程组一并启用,且仅循环一次。一旦疏忽,就可能导致后面计划的其他线程组的测试全部因登录失败而出现大量错误。我们的测试通常在晚间执行,这种风险,还是尽量规避。所以,我想找到一种不需要任何附加条件的执行复位操作的方式。

2024-06-17 20:00:00 707

原创 JMeter案例分享:修改密码-如何在测试中使某变量循环交替使用两个值?

某系统要求压测修改密码功能。我们不讨论这个场景是否有必要压测,只从技术角度,讨论如何实现。乍一听觉得这个场景很简单,没有复杂的业务逻辑,也不需要前后关联,就一个接口的事儿。然而真正做起来,却还是费了点时间的,记录一下。

2024-06-15 09:30:00 871

原创 JMeter案例优化:不使用BeanShell,如何控制内置函数生成uuid在一次迭代中仅生成一次

BeanShell作为JMeter的强大扩展,可以帮助我们实现很多JMeter内置组件无法完成的工作。但是,我接触性能测试仅仅一年的时间,在项目中似乎很少有不使用BeanShell的。尤其最近一次因使用BeanShell导致JMeter OOM,而使测试中断后,我开始反思,是否必须要使用BeanShell才能完成呢?或许正是因为我对JMeter的了解不够,而之前又有多年的编码经验,才使我更加习惯于直接编码来解决问题,反而忽略了对JMeter工具本身的探索。

2024-06-12 18:00:00 1776

原创 JMeter案例分享:获取响应中的json键值动态生成json文件并上传

一般来说,在JMeter脚本中,我们需要上传文件时,都会在本地保存一批固定的数据文件,反复执行上传;需要传递Json格式的参数时,会通过Sampler的Body Data上传,在其中可以方便地进行关联及参数化。然而,在前文content-type中的multipart/form-data中的案例,却是以上二者的综合体:其中的第三部分要上传的文件不是一个静态json文本,而是需要在运行时根据前面请求返回的响应,动态生成所需要的json文件,然后再在请求中,将该json文件上传。

2024-06-10 17:00:00 1156

原创 JMeter案例分享:使用内置函数threadNum实现线程间数据分离和确保生成不重复的随机数

JMeter提供了许多功能强大的内置函数,可以借以获取到JMeter属性及运行时的各参数、生成随机数据、完成字符串处理等操作。这些内置函数,可以通过JMeter提供的工具Function Helper Dialog方便地获取到。然而,函数及其使用方法可以快速学习,如何使用以解决业务中的实际问题,却需要日复一日地积累。本文将不断记录工作中所使用到的内置函数的案例,以期待为解决后续更多的问题提供经验和灵感。

2024-06-09 18:00:00 1145

原创 JMeter案例分享:使用JMeter内置函数生成uuid,如何控制一次迭代中仅生成一次?

了解JMeter内置函数的小伙伴,想必都对${__UUID}不陌生。不需要给它提供任何参数,就可以生成一个随机字符串,简直不要太简单。然而,即便是这么简单的内置函数,也让我掉坑了。

2024-06-08 17:00:02 1116

原创 Jmeter:HTTP请求中的content-type(补充篇)

上一篇介绍了。

2024-06-07 22:00:00 2036

原创 Jmeter:HTTP请求,content-type中的multipart/form-data

总结一下:1、Sampler中勾选Use multipart/form-data复选框来指定当前的content-type为multipart/form-data,而请求头Header Manager中,不要写content-type2、payload中有filename的部分,需要上传文件,在jmeter中的Files Upload中逐一指定参数名称,文件路径及文件类型;

2024-06-06 22:00:00 1135

原创 常用Excel公式及使用小tips,不定时更新

日常工作中所用到的excel公式

2024-06-06 14:06:54 596

原创 VBA学习笔记:在vba中使用内置函数的两种方式

Excel中有很多内置函数,在VBA中想要使用这些内置函数,该怎么使用呢?

2023-03-21 13:53:25 1055

空空如也

空空如也

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

TA关注的人

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