自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 三十八.robotframework自动化-adb shell 命令

简单地整理了部分adb shell的命令,参考了其他技术大牛的整理的内容,盗用一下。//输出系统状态信息至F:\test\dumpstate.txt,由于需要root权限,所以没root的过的手机输出为空adb shell dumptate >F:\test\dumpstate.txt//输出过去系统的状态,log,一般操作过程中未抓取log的时候一旦出现问题就使用这个命令来查看adb shell bugreport >F:\test\bugreport.txt//输出内核信息adb

2021-11-10 10:39:35 625 2

原创 三十六.robotframework通过javascript定位元素

常用查找元素方法document.getElementsByClassName("classname")document.getElementsByTagName("tagname")document.getElementsByClassName("classname")[0].children[0]返回某元素个数${num} Execute Javascript return document.getElementsByClassName("code")[1].getElement

2021-11-04 12:23:17 1141

原创 三十五.robotframework元素定位-兄弟父子级

*** Settings ***Library AppiumLibrary*** Test Cases ***test1 Open Application http://127.0.0.1:4723/wd/hub platformName=Android platformVersion=7.0 deviceName=L5030S00202841502846 app=D:\\apk\\com.bilibili.studio.apk app

2021-11-02 11:58:53 480

原创 三十四.robotframework模拟键盘操作send

robotframework用了AutoItLibrary后可以模拟键盘操作,执行send关键字。send关键字发送各个按键对应的描述方式参考如下:Key,ArgumentBACKSPACE,"{BACKSPACE}, {BS}, or {BKSP}"BREAK,{BREAK}CAPS LOCK,{CAPSLOCK}DEL or DELETE,{DELETE} or {DEL}DOWN ARROW,{DOWN}END,{END}ENTER,{ENTER} or ~ESC,{ESC}HE

2021-10-18 15:38:44 1909

原创 二十八.too many open files问题解决方法

在linux系统设计里面遵循一切都是文件的原则,即磁盘文件、目录、网络套接字、磁盘、管道等,所有这些都是文件,在我们进行打开的时候会返回一个fd,即是文件句柄。如果频繁的打开文件,或者打开网络套接字而忘记释放就会有句柄泄露的现象。在linux系统中对进程可以调用的文件句柄数进行了限制,在默认情况下每个进程可以调用的最大句柄数是1024个,如果超过了这个限制,进程将无法获取新的句柄,而从导致不能打开新的文件或者网络套接字,对于线上服务器即会出现服务被拒绝的情况。(1)查看全部进程占用句柄数总和:lsof|

2021-04-20 15:15:46 495

原创 二十五.Nginx性能调优

**nginx指令中的优化(配置⽂件)**worker_processes 8;nginx进程数,建议按照cpu数⽬来指定,⼀般为它的倍数。worker_cpu_affinity 00000001 00000010 00000100 00001000 0001000000100000 01000000 10000000;为每个进程分配cpu,上例中将8个进程分配到8个cpu,当然可以写多个,或者将⼀个进程分配到多个cpu。worker_rlimit_nofile 102400;这个指令是

2021-04-01 17:12:32 162

原创 三十三.python脚本调用jenkins构建任务

最近针对CI/CD进行了一段时间的研究,由于工作中的实际需求,需要通过python脚本实现对jenkins中任务的调用。并通过脚本获取返回的结果。接下来分享下具体的脚本代码:1.首先创建一个demo文件夹,简单介绍下文件夹下的三个文件:(1)\demo\conf\server.properties 存放相关配置型信息,包括jenkins地址,项目名称,邮箱地址等。(2)\demo\jenkins_build_jobs.py调用jenkins构建任务接口(3)\demo\jenkins_paser_

2021-03-12 09:44:59 2123

原创 一.Docker核心技术简介

Docker就是虚拟化的一种轻量级替代技术。Docker的容器技术不依赖任何语言、框架或系统,可以将应用变成一种标准化的、可移植的、自管理的组件,并脱离服务器硬件在系统中开发、调试和运行,在 Linux 系统上迅速创建一个容器并在容器上部署和运行应用程序,并通过配置文件可以轻松实现应用程序的自动化安装、部署和升级,非常方便。因为使用了容器,所以可以很方便的把生产环境和开发环境分开,互不影响,这是 docker 最普遍的一个用法。接下来讲讲docker的几项核心技术。cgroupscgroups就是co

2020-09-28 10:29:27 769

原创 二十四.Jmeter远程节点性能压测

平时在性能压测时经常会碰到一台压测机资源不足,需要多台服务器仪器压测的情况,这个时候就需要一台主控机,多台远程机器同时压测。接下来讲讲具体如何进行相关配置1.首先,我们拿两台服务器为例192.168.10.101 主控 master(windows)192.168.10.111 远程节点 node (linux)master节点做如下修改:找到Jmeter/bin/jmeter.properties文件,修改下面这几个参数remote_hosts=192.168.10.101:10

2020-09-22 16:37:04 283

原创 二十三.Jmeter与jenkins集成

1.首先创建一个jmeter的测试计划,保存成jmx文件,此处不详细说明。2.安装Jenkins相关插件,如图所示安装Performance插件,此插件用于后续报告的展现:3.创建一个jenkins项目,选择构建一个自由风格的软件项目,点击确定保存。4.在构建项中选择执行shell,(如果是windows平台选择执行windows批处理命令)由于我是部署并且运行在linux平台上,所以执行shell。shell脚本:rm -rf /opt/result.logrm -rf /opt/re

2020-09-22 12:00:59 1253

原创 二十二.jmeter在linux下运行

1.在GUI模式下,新建一个测试计划,生成一个jmx文件(测试计划的创建此处不详细说明,大家可以参考之前的一些章节),保存并上传到linux机器对应目录。2.在linux目录下找到你的测试计划,vim打开进行编辑,内容较多,我就不贴出来了,常规的一些参数的调整例如线程数这些参数可以直接进行修改:3.接下来讲一下jmeter的相关命令:-h 帮助 -> 打印出有用的信息并退出-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter-t 测试文件 -> 要运行的 JM

2020-09-21 17:38:22 1388

原创 二十一.Jmeter录制功能

本文以JMeter版本5.2.1为例,介绍下如何进行web的录制:

2020-09-14 15:26:40 217

原创 二十.Jmeter逻辑控制器

Jmeter的逻辑控制器需要配合取样器一起使用,通过逻辑控制器可以灵活控制我们不同取样器的执行场景。如图所示有如此多的控制器,我们接下去一个个介绍一下。1.如果(If)控制器首先创建一个随机变量,并且设置随机值1-100百度的访问条件是num小于等于50,sina的访问条件是num等于50...

2020-09-10 17:09:40 200

原创 十九.性能测试-JVM分析工具(linux)

linux环境下常用的jvm分析工具有这几类:jps,jstack,jmap,jstat一、JPS执行jps -h查看相关命令语法。多用于查看进程jvm运行情况。常用命令:# hostid语法如下:[protocol:][[//]hostname][:port][/servername]protocol - 如果protocol及hostname都没有指定,那表示的是与当前环境相关的本地协议,如果指定了hostname却没有指定protocol,那么protocol的默认就是rmi。host

2020-09-04 15:12:30 1153

原创 十八.性能测试-jvisualvm之gc

1.前面几篇文章简单介绍了visual gc插件的安装和一些内存相关基础知识,本次简单介绍一下visual gc中的一些相关知识如图所示主要分为三块:1.spaces区域:代表虚拟机内存分布情况。从图中可以看出,虚拟机被分为Metaspace、Old、Eden、S0、S12.Graphs区域:代表内存的详细使用信息。Compile Time(编译时间):图中显示编译了19904个类总耗时2m57.562s,一个驼峰表示一次JIT编译,越窄表示时间越短Class Loader Time(类加载

2020-09-03 14:39:17 527

原创 十七.性能测试-jvisualvm远程监控jvm

jvisualvm远程监控jvm有两种方式,分别是jmx以及jstatd方式方式一.JMX1.jmx方式相对比较简单,例如tomcat,在catalina.sh中JAVA_OPTS加入如下几句话:-Djava.rmi.server.hostname=192.168.10.111 -Dcom.sun.management.jmxremote.port=9004 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremo

2020-09-02 10:55:24 249

原创 十六.性能测试-jvisualvm插件安装

1.给jdk自带的jvisualvm安装插件,经常遇到We’re sorry the java.net site has closed这样的报错,后续我们可以用新的网址https://visualvm.github.io/index.html2.选择需要下载的插件对应的版本,复制下载链接3.再在jvisualvm中更新插件下载地址4.可以看到可用插件已刷新,根据自身需求安装插件...

2020-09-02 09:44:54 203

原创 十五.性能测试-jvisualvm性能分析简介

概述开发大型 Java 应用程序的过程中难免遇到内存泄露、性能瓶颈等问题,比如文件、网络、数据库的连接未释放,未优化的算法等。随着应用程序的持续运行,可能会造成整个系统运行效率下降,严重的则会造成系统崩溃。为了找出程序中隐藏的这些问题,在项目开发后期往往会使用性能分析工具来对应用程序的性能进行分析和优化。VisualVM 是一款免费的性能分析工具。它通过 jvmstat、JMX、SA(Serviceability Agent)以及 Attach API 等多种方式从程序运行时获得实时数据,从而进行动态的

2020-08-27 15:28:09 797

原创 十四.性能测试-TOMCAT性能调优

Tomcat是运行在JVM上的,通过对JVM参数的调整我们可以使Tomcat拥有更好的性能。目前针对JVM的调优主要有两个方面:内存调优和垃圾回收策略调优。内存调优:1.JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是运行时数据区域,所有类实例和数组的内存均从此处分配,是留给开发人员使用的;非堆就是JVM留给自己用的,所以方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(字段和方法数据)以及方法和构造方法的代码都在非堆内存中。2.JVM初始分配的堆内存由-Xms指

2020-08-26 09:09:55 336

原创 十三.JMeter常用配置及命令

jmeter常用命令:调用 JMeter 的 "jmeter -?"命令将打印所有命令选项的一个列表。列表如下:-h, --help 打印使用信息并退出-v, --version 打印版本信息并推出-p, --propfile {argument} 使用的 JMeter 属性文件-q, --addprop {argument} 附加的属性文件-t, --testfile {argument} 运行的 JMeter 测试文件(.jmx)-l, --logfile {argument} 日志取样

2020-08-24 16:02:34 434

原创 十二.性能测试-AWR报告简要分析

AWR 是 Oracle 10g 版本 推出的新特性, 全称叫 Automatic Workload Repository自动负载信息库 , AWR 是通过对比两次快照 (snapshot) 收集到的统计信息,来生成报表 数据,生成的报表包括多个部分。一、Report SummaryDB Time 不包括 Oracle后台进程消耗的时间。 如果 DB Time 远远小于 Elapsed 时间,说明数据库比较空闲。 db time= cpu time + wait time(不包含空闲等待) (非后台

2020-08-24 15:26:09 1015

原创 十一.性能测试-AWR报告生成

1.oracle提供了自带的性能检测工具:AWR(Automatic Workload Reposity 自动工作负载库)。这个工具可以通过一些简单的命令统计出后台大量的数据库性能信息。Oracle启动后,后台会有进程每小时采集一次快照,这些信息都来自于V$active_session_history,大家可以通过执行如下语句查看快照的采样频率和保存时间。如图所示:select * from dba_hist_wr_control;如图所示采样间隔时间为1小时,保存8天。SNAP_INTERVAL:

2020-08-24 11:07:30 228

原创 接口测试-postman批量执行

postman的单接口测试这里不再详细描述,本文主要针对多个接口批量执行1.首先,创建一个新的测试集。如下图所示:2.创建完成后,可以根据需要再细分文件夹去归类我们需要执行的接口:3.接下去再添加我们需要测试的接口请求:4.接下去完善我们的单个接口的测试案例,这里不再详细描述,这里我添加了两个接口:5.再点击run,批量执行刚才添加的接口。可以通过不同的场景需要设置各个接口的迭代次数,延迟等等参数,设置完毕后执行run按钮:6.结束后查看批量运行结果,并且可以根据自己的需要到处

2020-08-20 18:52:30 1330

原创 三十二.robotframework-Selenium2Library详解

元素定位:Selenium2Library 中的所有关键字都需要通过参数 locator 在 web 页面中进行定位。默认情况下,当一个 locator 值是有效的,它就可以匹配不同页面元素的某些特殊属性。id 和 name 属性可以适用于所有元素,比如:Click Element my_element当然,并不是说只能使用 id 和 name 属性来进行定位,在 Selenium2Library 中想去查找某个页面元素支持多种不同的方式,类型如下:超时等待:包含多种 wait …关键字。所

2020-07-24 16:37:37 1885

原创 十.Jmeter远程执行压测结果树未显示结果

客户端修改jmeter配置文件jmeter.properties取消mode=Standard 的#注释保存后重启即可。注:Mode:采样结果发送模式;Standard:在采样结果产生后立即发送

2020-06-05 08:10:07 4781

原创 三十一.python3.7安装robotframework-excellibrary

目前支持python3.7的excellibrary未更新,一直沿用的事python2.X对应的版本,由于语法上的一些不同,也导致了直接通过pip安装会报错,当提示如图所示错误时:execfile(join(dirname(file), ‘ExcelLibrary’, ‘version.py’)) NameError: name ‘execfile’ is not defined可以通过修改文件,使excellibrary适用与3.X版本。首先通过该网址https://pypi.org/projec

2020-05-09 11:15:09 660 4

原创 XShell分屏同时输入命令

首先进行分屏同时显示页面的操作,点击选项卡->排列->垂直分布(水平分布、瓷砖分布样式自选)选择后显示如上图所示分屏界面,可以自己手工调节界面,由于我本地linux系统不多,我暂时拿一台虚拟机复制出多个控制台进行操作接下去同时在三个窗口输入同一个命令,勾选查看->撰写栏此时,窗口底部会出现撰写框,输入命令点击全部会话,按回车发送命令,可以看到所有窗口同时执行命令...

2020-04-20 08:46:03 5566

原创 二十九.rbotframework执行linux命令

1.首先安装SSHLibrary类库,执行pip install robotframework-SSHLibrary安装好后默认会安装paramiko,如果不存在此文件请自行安装2.引入SSHLibrary,3.开始编写样例代码:DemoCase22-linux open connection 192.168.10.111 port=22 login ...

2020-04-09 09:33:01 610 1

原创 二十八.robotframework生成随机字符串

1.首先引入String类库,python自带模块,不需要pip下载安装2.编写样例代码:DemoCase21-randomstr ${a} generate random string 1 [NUMBERS] #生成随机0-9数字,长度1位 ${b} generate random string 5 [LOWER] #生成5位...

2020-04-08 11:26:08 1518

原创 二十七.robotframework时间戳数据转化-timestamp

1.robotframework可以支持自定义关键字,其实本质上是通过python代码去实现,我们经常在编写接口自动化代码的时候碰上一些数据时间戳互相转化的操作,其核心代码参考如下所示:import time__version__ = '0.1'class Publiclibrary(object): def timestamp_datetime(self,timestr): ...

2020-04-01 10:18:04 2074

原创 二十六.robotframework数据base64加密

1.robotframework可以支持自定义关键字,其实本质上是通过python代码去实现,我们经常在编写接口自动化代码的时候碰上一些参数base64加密和解密的操作,其核心代码参考如下所示:import base64__version__ = '0.1'class Publiclibrary(object): def base64_encode(self,str_input):...

2020-04-01 09:44:51 918 6

原创 Oracle Instant Client环境配置

1.配置Oracle Instant Client环境到Oracle官网下载Oracle Instant Client,注意选择x86平台,Toad只认32位的Oracle Instant Client。至于版本号,没有特别要求,版本向下兼容。桌面上,右键点“我的电脑”,选择“属性”,选择“高级”页中的“环境变量”,在系统变量中,修改如下变量名:ORACLE_HOME变量值:D:\Prog...

2020-03-27 14:49:24 249

原创 二十五.robotframework操作excel-保存文件提示invalid mode ('w+b')

经常在使用robotframework对excel文件进行读写保存等操作的时候遇到此类报错:IOError: [Errno 22] invalid mode (‘w+b’) or filename:…如上图所示,我打开一个excel,并且添加了一张表,执行保存的时候,报错了。原因是 ExcelLibrary.py 中的open_excel函数,on_demand=True,也就是当open ...

2020-03-26 16:33:33 924

原创 二十四.robotframework自动化测试-chrome浏览器版本支持

1.通过robotframework调用chrome浏览器,需要下载对应浏览器版本的驱动| 2.其他对应版本可直接如下链接中下载http://npm.taobao.org/mirrors/chromedriver/http://chromedriver.storage.googleapis.com/index.html3.下载后解压放置python27文件夹下4.编写RF测试代码,打...

2020-03-26 09:00:37 295

原创 九.JMeter参数化配置-计数器

前几章节针对参数化设置介绍了几种方法, 如果需要引用的数据量较大,且要求不能重复或者需要自增,那么可以使用计数器来实现。那本章节就简单介绍下计数器的使用。1.例如存在如图所示http请求,我需要将里面的false字段替换成计数器生成的数据,原来的值为1:2.需要生成的数据我期望格式是001,002,003…,可以右键线程组-添加-配置元件-计数器。3.配置计数器:数字格式:可选格式,...

2020-03-20 16:52:06 1305

原创 八.JMeter参数化配置-随机CSV组合数据

1.例如图中所示参数,我需要进行参数化,并且两种值随机组合2.添加配置元件-Random CSV Data set config3.添加一个csv格式的文件存放参数,第一行为参数标题,4.测试一下取数逻辑顺序,两列随机组合取数:其他字段解释:1.文件名: csv文件的路径,最好选择绝对路径;对于分布式测试,必须将CSV文件存储在服务器主机系统上与JMeter服务器启动所在的正确相...

2020-03-18 10:17:40 918 2

原创 七.JMeter参数化配置-随机变量

上一章节介绍了csv文件参数化配置,本章节介绍一下随机变量的一个配置,如下图所示将version字段随机值方式传入1.添加配置原件元件-随机变量2.设置变量变量名称:名称可以引用,如 ${version}输出格式:列如此处输入Goods-,那么得到结果是Goods-1、Goods-2的格式最小值:输入生成随机数的最小数字最大值:输入生成随机数的最大数字3.引用变量4.设置线程...

2020-03-18 08:47:26 1891

原创 六.JMeter参数化配置-CSV数据文件设置

1.例如如图所示接口测试,我们需要对其中的字段进行参数化:

2020-03-18 08:12:49 2632

原创 五.JMeter测试kafka

今天简单介绍下jmeter如何测试kafka接口,之前看了一下网上很多相对来说比较复杂,自己编写java代码,maven项目,导出成jar包,模拟producer,这种方式相对来说较为复杂,其实JMeter本身就包含了kafkameter-0.2.0.jar,能基本满足我们kafka的性能测试。1.安装kafka相关插件。2.添加线程组3.添加一个java 请求:4.配置kafka相...

2020-03-17 11:13:51 3697

原创 四.JMeter设置代理启动方式

JMeter设置代理启动方式:进入D:\apache-jmeter-5.2.1\apache-jmeter-5.2.1\bin目录下,执行jmeter -H 192.168.3.100 -P 8091,启动成功后就可以通过代理访问网络,下载需要的插件...

2020-03-17 08:57:25 559

空空如也

空空如也

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

TA关注的人

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