![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
自动化
文章平均质量分 60
Lion...
攒点C币不容易
展开
-
Selenium + Cucumber,行为驱动
前言Cucumber为BDD测试框架, 在于以直白的语言表达业务场景, 统一产品经理, 开发人员, 测试人员, 运营人员等角色的系统认知关于Cucumber的基础知识可以参阅官网: https://docs.cucumber.io/guides/Selenium应该都比较熟悉, 通过webdriver实现UI自动化的测试工具总结:虽然Scenario要求每一个Step都直白易懂, 不要引入代码层面的元素, 但考虑到页面元素众多, 不得不考虑参数化由于上一条的原因, 整体风格更像是关键字驱动无原创 2022-01-10 09:04:55 · 645 阅读 · 0 评论 -
Jenkins, 工程依赖构建
1. 概述远程构建, 是第三方程序通过API方式拉起jenkins而工程顺序构建, 是jenkins内部多个工程之间建立上下游依赖关系, 一个执行完成后拉起另外一个2. 配置参数: Build after other projects are built, (其他工程构建完成后触发本工程构建)P201工程提前创建, Projects to watch参数输入工程名即可3. 演示手动构建工程P201查看构建历史记录, 在P201构建完成后, P101触发构建...原创 2022-01-07 08:59:37 · 1556 阅读 · 0 评论 -
Jenkins, 远程触发构建
1. 概述远程触发, 是指不直接在jenkins上点击构建, 而是通过脚本或其他方式触发jenkins构建任务, 打通jenkins与外部程序的通信2. 配置远程触发选项: Trigger builds remotelyEnable this option if you would like to trigger new builds by accessing a special predefined URL (convenient for scripts).One typical exampl原创 2022-01-06 08:48:12 · 4683 阅读 · 0 评论 -
Jenkins, 通用配置
1. 通用配置项Discard old buildsThis build requires lockable resourcesThis project is parameterizedThrottle buildsDisable this projectExecute concurrent builds if necessary2. Discard old builds通过时间/次数来清理历史构造数据, 减少磁盘占用This determines when, if ever, b原创 2022-01-06 08:47:40 · 702 阅读 · 0 评论 -
Jenkins, 入门
1. 介绍官方解释如下Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks related to building, testing, and delivering or deploying software.Jenkins can be installed through native system packages, Docker, o原创 2022-01-06 08:47:12 · 114 阅读 · 0 评论 -
JMeter 5.0:分布式压测部署,多IP时配置
1. 问题JMeter分布式压测时,可能出现如下错误2021-12-08 09:24:45,935 ERROR o.a.j.s.RemoteTestListenerWrapper: Exception on testEnded on host 172.31.138.107java.rmi.ConnectException: Connection refused to host: 169.254.77.99; nested exception is: java.net.ConnectEx原创 2022-01-06 08:46:35 · 1037 阅读 · 0 评论 -
JMeter 5.0: 分布式压测部署
jmeter工具在使用多线程对待测目标产生压力的同时, 对自身也会产生负荷然而服务器的资源是有限的, 如CPU, 内存, 可用端口, 网络IO等等, 如何实现横向扩展, 这是一个问题借用分布式思想, 将压力转移到多台服务器上, 整体资源提升, 那么能产生的压力也会更大jmeter的分布式压测, 是通过RMI机制, 将压测任务分发到多个执行节点, 下面看下具体配置RMI, 请参考RMI, 远程方法调用 - 简书 (jianshu.com)1. 拓扑图2. 执行机配置执行机, 有人喜欢叫se原创 2022-01-06 08:46:02 · 639 阅读 · 0 评论 -
JMeter5.0:vars&props差异
在使用JSR223 Sampler和BeanShell Sampler时,会接触到二个变量:vars,props它们有什么区别呢?本质作用域操作对象varsjmeter variable单线程getObject,putObjectpropsjmeter properties全局get,put1. vars1.1. putput只支持string类型,当我们put整形时,jmeter抛出异常如果需要设置非string类型数据,请使用putObject原创 2022-01-06 08:45:26 · 399 阅读 · 0 评论 -
JMeter 5.0:造测试数据(加载第三方包)
1.问题通过jmeter内置函数造出来的数据,不够贴近真实,展示时效果不太友好比如手机号,使用随机11位数字的方式实现,但与真实的情况相差甚远2.分析如果数据工厂的库就好了,根据不同数据的定义规则,自动生成相对真实的数据python有Faker库,google后发现java有个类似的库:JavaFaker将jar包加载到jmeter中Library中,就能轻松使用3.实现3.1.jar包下载进入maven仓库(https://mvnrepository.com/),分别下载javafa原创 2022-01-06 08:44:44 · 393 阅读 · 0 评论 -
JMeter 5.0:造测试数据(读取DB)
1.问题通过jmeter内置函数造出来的数据,是零散的,是毫无关联的想要获取关联的数据,该如何处理呢?2.分析数据存储于DB,通过JOIN操作,将相关属性关联随机读取一行,按需取用即可3.实现以获取省市县地理信息为例流程如下3.1.查询省市县数据查询地理信息,将结果作为对象输出3.2.将省市县数据作为全局变量全局变量的目的,是避免每个线程单独查询,影响性能def areas = vars.getObject("areas")def random = new Random()原创 2022-01-06 08:43:46 · 145 阅读 · 0 评论 -
JMeter5.0:造测试数据
1. 问题为什么需要造测试数据?如果对数据无特别需求,请忽略本文如何简单快速构造测试数据?2. 拆解将问题拆解如下:快速,借助多线程数据多样性,通过随机函数实现输出,按既定格式编排数据,然后追加到文件jmeter完全满足上述三个要求:线程池,Random内置函数,groovy写文件3. 实现一个简单的流程大体如下自定义变量,主要定义文件名称,分隔符等,不作赘述3.1. 初始化操作定义每个线程的输出文件,并存储于上下文内(vars变量,避免每次写文件时,重新new对象)de原创 2022-01-06 08:42:49 · 393 阅读 · 0 评论 -
JMeter 5.0:解析json
1 概述在SOAP协议流行的年代, XML在数据交换领域顶起了一片天后来随着REST的兴起, JSON受到越来越多的青睐JSON相较于XML, 不冗余, 占用空间少, 序列化快, 且更适合javascriptJMeter是由纯Java编写, 本身不自带解析json的工具包, 如fastjson, 手动添加到ext目录当然可行, 不过有更简便的方法为何不用呢JSON ExtractorRegular Expression ExtractorJSR223 PostProcessor2 准备原创 2022-01-06 08:41:34 · 706 阅读 · 0 评论 -
JMeter 5.0: 自定义变量
1. 前言在使用JMeter的过程中, 常用的定义变量入口有User Defined Variables(UDV)和CSV Data Set ConfigUDV比较好理解, 毕竟没有选项但CSV Data Set Config就麻烦一点, 配置就跟完型填空一样2. 结论UDV变量所有线程共享, 同名变量取第一个, 且可读取jmeter.propterties参数CSVIgnore first line, 即是否忽略表头, 如果为true, 过滤第一行Allow quoted data,原创 2022-01-05 09:09:25 · 973 阅读 · 0 评论 -
JMeter 5.0:编写Java Request
1 前言现有的sample已基本能满足日常使用,但如果有些特殊要求,比如远程连接服务器,或者操作新型NoSQL库,就得专门定制Java Request采样器要求实现org.apache.jmeter.protocol.java.sampler.JavaSamplerClient接口,或者继承AbstractJavaSamplerClient抽象类系统自带JavaTest、SleepTest 2个Java Request采样器2 JavaSamplerClient每个线程,JMeter都会创建一个J原创 2022-01-05 09:08:32 · 254 阅读 · 0 评论 -
JMeter 5.0:基本介绍
1 Test PlanRun Thread Groups consecutively,一次只运行一个线程Functional Test Model,JMeter将记录每个sample的返回结果,会影响性能,所以一般用来验证配置是否正确2 Thread Group每个线程将独立执行Test Plan,效果上模拟N个虚拟用户Thread Properties:Number of Threads,线程数(或者并发用户数)Ramp-Up Period,单位秒,指启动全部线程总耗时;比如10个线程原创 2022-01-05 09:07:49 · 884 阅读 · 0 评论