当前位置: 首页 > news >正文

电子商务网站建设不足通联支付网络服务股份有限公司

电子商务网站建设不足,通联支付网络服务股份有限公司,外贸网络推广的公司,有哪些做外贸的网站项目环境搭建、Jmeter学习二 环境的部署虚拟机的安装虚拟机中添加项目操作步骤 使用环境的注意事项Jmeter的安装和简单使用Jemter的使用的进阶Jemter元件 Jmeter属性执行顺序和作用域作用域以自定义用户变量和用户参数(前置处理器)为例如何解决用户变量和线程组同级时#xff… 项目环境搭建、Jmeter学习二 环境的部署虚拟机的安装虚拟机中添加项目操作步骤 使用环境的注意事项Jmeter的安装和简单使用Jemter的使用的进阶Jemter元件 Jmeter属性执行顺序和作用域作用域以自定义用户变量和用户参数(前置处理器)为例如何解决用户变量和线程组同级时参数的重复调用配置元件中的用户定义变量和前置处理中的用户参数有什么区别 jemter的执行顺序 配置元件——Jemter信息头管理器配置元件——jmeter设置cookies配置元件——设置HTTP请求的默认值Jemte参数化自定义用户变量前置处理器——用户参数Jmeter函数函数中的参数信息的引用获得属性和设置属性Beanshell函数——功能能用性能不能用计数器函数CSV函数加密算法的函数V函数其他函数扩展函数 学习目标 linux服务器搭建项目环境 jmeter环境搭建 环境搭建方式虚拟机ova文件 ova文件操作系统项目依赖的环境项目包 操作系统centos7 关于环境的问题为什么环境要搭建在本地而不是使用云服务器 如果使用云服务器同一个时间多个人进行性能测试的话就会出现多个人相互干扰的情况 就像在企业项目中一般不建议同时多个同事对项目进行性能测试 Jmeter的元件属性执行顺序作用域名函数和参数化的学习 环境的部署 虚拟机的安装 直接在VMware的官网上或者商店的store中下载VMware软件然后找一个秘钥激活即可 虚拟机中添加项目 项目是已经部署好的ova文件可以在云盘中找相应的项目文件实际工作过程中项目已经部署到相应的服务器就并不需要再去部署使用 操作步骤 1.打开VMware虚拟机2.点击左上角文件——打开——在弹框中选择要加入的ova文件如图 3.设置虚拟机的名字和存放路径名字自定义路径自定义最好不要存入C盘点击【导入】即可 安装完成之后虚拟机上会显示项目的基本信息如下图 点击图中的编辑虚拟机的按钮可编辑虚拟机的信息启动虚拟机点击上图中绿色的三角按钮即可或者如下图示 查看网络信息下图中ens33中第一行inet后面的就是网络ip地址 如果ifconfig查看不到网络ip需要确认 1.安装的时候有没有启用虚拟网卡 2.安装完VMware后有没有重启电脑 可以在项目中查看其apache、启动apache并查看相应日志信息 验证项目启动成功的方式浏览器打开http://ip:8080/app出现以下界面即可 使用环境的注意事项 首先自己的电脑需要安装VMware或者virtualbox安装虚拟机的原因不实用云服务器 给云服务的话多个人同时进行性能测试(都用多个并发用户数请求就会存在相互干扰的情况 相应的在企业项目中一般不建议同时有多个同事进行同一个服务器的性能测试 在自己的电脑上可以使用虚拟机ova随时随地的进行联系没有时常限制 安装VMware之后一定要进行重启需要检查本机电脑上的“查看网络连接”中是否存在VMent1和VMent8这两个且是启动状态如果没有就无法联网如下图 然后打开虚拟机打开ova的文件导入文件时名字可以随便起新虚拟机的默认路径不要放置在C盘(只有一个硬盘除外)导入点击确定后可能会出现导入失败的提示不用管直接点击【重试】即可 出现这个情况的原因是VMware默认支持ovf的文件 用VMware导入虚拟机成功之后虚拟机的网络适配器必须用NAT其他的任何都不行 NAT设置之后虚拟机的网络和本机在一个小的局域网中 打开此虚拟机使用账号和密码登录执行ifconfig命令就可以查看虚拟机的地址 如果ip无值就需要检查网络是否是NAT然后检查网络信息是否可以使用 如果是Vment1/Vment8 不能用就需要重新安装虚拟机直到网络可用为止 使用终端工具连接linux服务器为什么要使用终端工具 实际工作过程中要用到多个窗口操作linux系统直接在虚拟机中工作是不可以打开多个窗口的 启动项目命令:cd /opt/apache……/bin,然后执行 sh startup.sh项目数据库是使用docker部署的是开机自启动可使用docker ps查看 注意mysql的端口是3337数据库的账号和密码也是 数据库的账号密码root。123456 然后就可以按照接口文档来写脚本即可 Jmeter的安装和简单使用 参考文章Jmeter的开发测试都是在jdk1.8上进行的因此做性能测试的jmeter还是要使用jdk1.8jmeter的版本建议使用5.1.1版本最新的版本可能没有部分检测工具没那么好用在企业或者自己联系的过程中jmeter绝对不允许被测项目的机器上的/自己用的话就是虚拟机jmeter建议不要设置环境变量直接将bin洗面的jmeter.bat设置快捷方式放在桌面上即可Jmeter中线程组和线程的区别线程组是Jmeter中用于性能场景设计的线程是Jmeter中模拟多个人并发请求的并不是同一个性质的定义Jmeter中可以直接运行的语言有java、beanshell、is、grovvy、jython(javapython的结合体其用的python2) Jemter的使用的进阶 jmeter本身对并发用户数没有限制理论上可以无限量的并发用户数 如果并发用户数比较多的时候可以考虑分布式请求 http协议性能测试时一个jmeter可能产生2000以内的并发用户数 Jemter元件 Jemter的组件特别多有自行的运行规则当前我们来学习Jemter的八大元件和八大元件的规则jemter的八大元件有 取样器jemter接口测试的核心我们发送接口请求的配置都必须在取样器中完成根据不同的协议来选择不同的取样器 逻辑控制器可以控制jemter其他元件的运行方式主要有循环和if判断等 监听器用来采集取样器运行完成之后的运行结果或者说从不同的维度来展示测试结果 配置元件可以配置全局变量即整个脚本的公共信息CSV文件数据库配置等其优先级是最高的运行脚本的时候最先被执行 断言断言运行的结果 定时器主要对各个接口请求用来控制运行节奏的 前置处理取样器运行之前例如发送HTTP请求之前先运行前置处的代码要执行的元件 后置处理取样器运行之后例如发送HTTP请求并接受响应结果之后要执行好的元件 Jmeter属性 jmeter属性分为系统属性和jmster属性两种jmeter的系统属性基本不变也不需要去修改jmeter的属性又分为静态属性和动态属性 静态属性写在properties文件中的属性 动态属性运行过程中动态设置的属性关闭Jmeter工具的时候会自动消失 可以通过函数设置和获取详见常见函数 执行顺序和作用域 元件处理顺序jemter的八大元件都有自己的影响范围和执行顺序 Jemter时典型的树形结果也就是父子关系 Jemter的作用域主要对取样器生效 作用域 取样器取样器元件不和其他元件相互作用因此不存在作用域的问题 常见的取样器HTTP请求 逻辑控制器对逻辑控制器下的所有子元件和取样器生效 常见的逻辑取样器事务for循环while循环if判断等 其他六大元件如果是取样器接口A的子节点则该元件只有A取样器接口才能调用A取样器接口后面的B接口可以引用元件执行后得到的结果变量A取样器接口之前的接口不能使用 例如元件在HTTP请求下方那么元件只对HTTP请求生效 如果该节点的父节点不是取样器则对父节点以下的所有字节点生效包括子节点的子节点不能跨线程组 例如元件的父节点是线程组那么其作用域就是整个线程组包括线程组中的所有取样器请求节点及其子节点 以自定义用户变量和用户参数(前置处理器)为例 只有一个接口的情况下将参数的值用随机函数来生成放在用户自定义变量和用户参数中 在功能测试的时候使用用户定义变量用户参数每运行调用1次参数中变量的值都会变一次 但是在做性能测试的时候多并发用户数运行用户自定义变量中参数中变量的值不会变化但是用户参数多线程会发生变化 一个线程组下有登录注册两个接口对两个接口中的用户名(手机号)进行参数化用户自定义的变量的请求情况如下 功能测试时自定义用户变量多次请求两个接口都可以注册登录成功登录和注册用的一个账号再次发起请求用户名会变化 性能测试时自定义用户变量多次请求两个接口中登录可成功首次注册成功其他注册失败提示账号已存在 1.用户参数为注册接口的子节点时 即注册和登录实时使用到的手机号码是一个放置在用户参数中不论功能就还是性能都可以成功 因为注册的时候只需要调用用户参数一次登录的时候可以直接使用不需要重新生成 2.当用户参数的位置是线程组的子节点时(用户参数和注册接口同一级) 登录和注册的时候接口获取到的手机号码是不一样的每次不论功能还是性能注册会成功登录会提示手机号码不存在 因为注册的时候调用用户参数生成了手机号登录的时候又调用了用户参数生成了新的手机号因此两个手机号码会不相同 3.如果将用户参数放置在登录接口的子节点 注册拿不到用户参数中的值登录可以获取到相应的值但是手机号码可能没有注册性能测试和功能测试都可能不成功 注册的时候没有调用用户参数无手机号码生成登录的时候调用了用户参数生成手机号码但是手机号码没有注册因此失败 用户参数前置处理定义的变量不能直接跨线程组引用但是用户定义的变量配置元件可以跨线程组引用 如何解决用户变量和线程组同级时参数的重复调用 勾选用户参数详情中的“每次迭代更新”的复选框迭代线程组下面的所有接口执行完一遍才算一次迭代循环某个接口重复调用n次就是一个循环n遍 配置元件中的用户定义变量和前置处理中的用户参数有什么区别 用户参数不能跨线程组被引用用户定义变量可以用户定义的变量每次启动运行之前接口请求之前会调用获取一次数值在运行过程中不会再次调用也就是说值永远不会变用户参数的在每次运行的时候都会动态获取值根据其放置的位置不同其作用域也不相同用户定义的变量的执行顺序在用户参数之前 jemter的执行顺序 按照深度便利的原则现将每个节点下的所有元件都执行完毕才会执行下一个统计节点的顺序以下图为例配置元件用户定义的变量、前置处理器用户参数、定时器、取样器HTTP请求、后置处理器、断言、监听器查看结果树同一类元件有多个的时候优先级是从上往下执行监听器中的查看结果树的显示顺序根据响应的顺序来显示的先收到先显示和取样器的执行顺序是不一样的取样器的执行顺序前面发起的请求收到响应之后才会发起下一个请求这和HTTP时同步协议决定的 执行顺序还有特殊规则 用户定义的变量及配置元件会始终优先执行 数据库配置元件也会始终优先执行 CSV配置元件 配置元件——Jemter信息头管理器 在互联网中接口测试都是采用HTTP协议进行测试我们可以通过HTTP请求来设置请求方法、URL、请求体而请求头和Cookies处理在jmeter中由单独的元件来进行处理jmeter设置请求头 jmeter通过配置元件中的HTTP信息头管理器来添加请求头 添加方法取样器——配置元件——HTTP信息头管理器 这个HTTP请求头信息只放在当前的HTTP下HTTP的子节点只会对这一个HTTP生效如果和HTTP请求同一个级别线程组的子节点就会对线程组下的所有HTTP请求生效 配置元件——jmeter设置cookies jmeter有一个专门用来管理Cookies的组件添加之后可以实现自动保存Cookies的功能 添加方法线程组——添加——配置元件——HTTP Cookies管理器 添加之后Cookie管理器会自动变管理服务器返回的Cookies 设置好cookies管理器之后如果接口返回了cookiescookies管理器会自动引用不需要再请求头中添加了绝大多数情况下直接添加cookies管理器即可不需要对这个元件做任何的改动 配置元件——设置HTTP请求的默认值 HTTP请求默认值 作用设置HTTP请求默认值当HTTP取样器中没有设置某些参数的时候就会从默认值中查找相应的信息补充 优点在进行接口测试中大部分接口、协议、域名、端口都是一样的因此可以将这些一样的数据设置为默认值就不需要对每个请求设置重复的内容了添加方式线程组——添加——配置元件——HTTP请求默认值 在HTTP请求默认值中设置完协议、路径和端口号等公用信息后和HTTP默认值同等级的HTTP请求都不需要再设置这些信息只要关注路径、方法和参数信息即可常用于环境切换等场景 Jemte参数化 参数化用变量代替数据的过程就是参数化这样值就可以动态的发生变化参数化的变量名可以包含字母、数字、下划线和大小写敏感jmeter提供了很多方式来设置变量从而替换数据实现参数话主要设置方法有 用户自定义的变量 用户参数 CSV数据文件设置 Jmeter函数 所有动态参数在使用的时候引用变量的方式是${变量名} 自定义用户变量 用户自定义变量有两种方法 一种是通过测试计划面板中的用户定义的变量设置此种方式对所有的测试计划都会生效 名称遵循变量名的设置规则不建议用中文在这里添加的用户变量是没有类型的因此在引用的时候json参数的值就必须加双引号否则类型就会发生变化 引用样式示例{mobile:${puser}} 另外一种是线程组——添加——配置元件——用户定义变量 使用方式 用户自定义参数中不仅仅可设置变量也可以设置请求头中的信息 前置处理器——用户参数 jmeter的线程就是用户用户参数就是传递给线程的数量 用户参数的作用在变量名的情况下可以对每个线程设置不同的变量值 应用例如需要3个不同的手机号码登录就可以设置一个手机号码phone然后分别设置phone不同的属性值实现方式如下 添加用户参数线程组——添加——前置处理器——用户参数 然后在界面中设置不同的属性值 Jmeter函数 工作过程中使用Jmeter函数时尽可能的使用函数助手来生成不要手写因为很容易出错jmeter提供了内部函数的功能可以生成特殊的测试数据例如时间戳、随机数等等 可以理解为jmeter中已经封装好的方法使用的时候直接使用某种方式调用即可 函数就是方法因为Jmeter是基于Java开发的因此Jmeter就是Java方法 Jmeter函数是以双下划线开头后面跟函数名称 函数名称严格来说区分大小写如果函数有参数就需要带小括号没有参数就可以不要小括号 多个参数之间要使用英文的都好来隔开 函数和变量引用是不同的 变量引用是没有双下划线的格式是${变量引用名称} jmeter函数用法参考【函数助手对话框】然后利用函数助手对话框生成函数将数据填写到接口的请求数据中函数助手对话框的打开方法工具——函数助手对话框 举个例子将生成随机数的函数作为参数的值放在body中就会随机生成value可以测试随机手机号码等场景 在参数中的使用方式{mobile:${__property(language,,)}} 函数中的参数信息的引用 函数中传递的参数信息可以直接从用户定义的变量中引用例如在用户定义变量中设置两个参数信息然后在函数助手中使用${变量名}引用即使生成的时候会报错但是实际运行的时候是不会报错的Jmeter工具中变量是不能引用函数的即${b${__Random(,)}}不会生效函数中可以引用函数即函数中可以调用另外一个函数或者函数中的某个参数是一个函数 变量中也不能引用变量这个原因是变量是内存中某个数据的存放位置不会进行变量名内的计算而引用变量或者引用函数就会发生计算 获得属性和设置属性 ${__property(属性名称,,)}获取Jmeter的属性${__P(属性名称,)}获得Jmeter的属性${__setProperty(属性名称,属性值,)}设置jmeter中的动态属性 动态属性一旦设置了只有在Jmeter工具关闭之后属性才会消失 设置属性和获取属性两个参数结合起来可以解决jmeter用户参数不能跨线程组的问题 原理讲用户参数通过设置属性将其设置为Jmeter的动态属性存储在内存中 然后在另外一个线程组中获取属性来使用 跨线程使用用户参数主要用户接口混合使用的场景 Jmeter中多个线程组之间时并行执行的 因此可能出现首次获取属性值的时候获取不到因为设置属性值的线程组可能还没有设置上 如果一定要首次获取到属性值就需要在获取属性值的那个线程组中加一个延迟启动时间等设置属性值的线程组设置完成之后再去获取 如果设置属性值中的参数来自于用户自定义变量那么后续获取到的属性值都不会的发生改变如果来自于用户参数这个值每次都会发生改变除非勾选了每次迭代时调用 Beanshell函数——功能能用性能不能用 Beanshell函数和Bealshell元件的区别 功能测试的时候用Jmeter写脚本可以用Beanshell的元件或者函数 定时器、监听器、前置、后置、断言等都有Beanshell相关的元件 但是性能测试脚本中不要使用任何Beanshell相关的元件或者函数写脚本的话有且仅使用jexl3或者groovy函数或者JSR223元件 因为Jmeter会关注脚本本身的性能但是Beanshell的函数或者元件其自身的性能不是很优秀 计数器函数 ${__counter(,)}只能做简单的累加1的算法可以传True或者False的参数 如果传参为True那么多线程中每个线程都有一个计数器船False则多线程使用同一个计数器 计数器元件路径——添加——配置元件——计数器 这个计数器可以灵活设置起始值、最大值、步长值等信息 这个计数器元件使用的时候是从起始值开始依次递增步长值添加到最大值的时候会再次循环从起始值开始递增 CSV函数 ${__CSVRead(,)}用于读取CSV文件的函数 尽可能不要去使用因为比较鸡肋 如果要使用请使用CSV数据文件设置后面有介绍 加密算法的函数 ${__digest(MD5,123456,,,)}加密算法函数 只能做最简单的加密点击函数后面的帮助可在页面上查看支持的加密算法信息 V函数 在进行函数引用的时候可能需要将多个变量都存放在用户定义的变量或者用户参数中但是需要在多线程的情况下在一个接口中调用因为变量中不能引用函数如下图所以需要使用其他方式来进行解决 如果要解决这个问题就需要使用V函数V函数中有两个参数第一个参数可以是函数也可以是变量还可以是元件例如计数器设置如下图 请求体中的V函数的意思是a拼接计数1也就是a_1a_1又是用户定义变量中的变量那就根据变量的key获取变量的值进行替换 其他函数 ${__Random(0,100,)}生成1-100之间的随机数${__dateTimeConvert(,,,)}时间的格式转换${__machineIP()}获取机器的IP${__machineName()}获取机器的名称${__char(1)}转换字符将参数中的unicode或10进制的信息转换为字符串${__groovy(,)}和${__jexl3(,)}都可以用运行自己写的代码代码可以是java、js、grovvy、beanshell语言编写的${__RandomString(10,stringdict,)}随机字符串${__threadNum}获取线程号这个函数不需要传参${__time(yyymmmddd‘,)}获取当前时间戳参数是格式化传参${__split(qbc\,bad,,\,)}:分隔字符串${__timeShift(,,,,)}获取时间可进行时间的加减${__urldecode()}进行end解码${__urlencode()}进行end编码 扩展函数 别人写的扩展函数包或者自己二开写的函数集成到Jmeter中作为扩展函数
http://www.hkea.cn/news/14305397/

相关文章:

  • 哪里有学做ppt的网站app购物网站建设
  • 杭州高端响应式网站建设梵克雅宝戒指
  • 南宁做网站 的永久免费企业建站官网大全
  • 国外网站页头设计图片网站运营周期
  • 南宁企业官网设计上海建站seo
  • 海口网站建设是什么意思浏览器下载
  • 正在建设的网站河北建设网上办事大厅
  • 东莞哪里做网站网站建设的合同模板
  • 黄山网站建设策划centos7安装 wordpress
  • 免费app软件下载网站移动互联时代网站建设
  • 河南的网站建设公司html用什么软件编写
  • 做随车吊网站要多大最近2019中文字幕mv免费看
  • 做什么网站比较简单深圳微商城网站制作联系电话
  • 怎么做提货网站邯郸oa办公系统
  • 58同城新密网站建设建站平台功能结构图
  • 网站建设方案书模板下载建设厅官方网站北京
  • 网站建设运营规划方案方案设计基本步骤
  • 郑州网络建站公司企业咨询管理收费标准
  • 国外电商网站设计欣赏注册公司一般多少费用
  • php 数据录入网站公司网站建设西安
  • 高端网站设计新鸿儒微信平台如何开发
  • 如何创建网站后台新乡网站建设哪家实力强
  • 做哪一类网站能赚钱网站建设销售实训报告
  • 做网站要招什么样的程序员手机网站引导页js插件
  • 网站建设实验的建议和看法设计师 英文网站
  • 汽车网站哪个好长春火车站是南站还是北站
  • 内蒙古企业网站制作云南建设厅网站设计
  • php 网站开发平台宁波怎样优化关键词
  • 太平阳电脑网网站模板网站云空间大小
  • 做时间轴的在线网站《网站基础建设-首保》