06 2023 档案
摘要:Jvm垃圾回收机制一、垃圾回收对象根搜索算法:判断对象存活还是非存活的算法根对象:栈内存中直接引用的对象二、垃圾回收算法1.标记-清除算法特点:标记完成后,统一回收缺点:会产生大量不连续的内存碎片2.标记-压缩算法特点:标记后将存活对象移动到一起,清除以外的内存老年代使用此算法3.复制算法 特点:将
阅读全文
摘要:JVM内存溢出原理一.堆内存溢出 1.原因堆内存中存在大量对象,这些对象都有被引用,当所有对象占用空间达到堆内存的最大值2.报错报错类型:OutOfMemory:Java heap space 3.解决程序出差,代码问题,优化代码二.永久代溢出 1.原因类的一些信息,如类名、访问修饰符、字段描述、方
阅读全文
摘要:JVM内存结构分析1.JVM内存定义Jvm是Java虚拟机,是提供Java代码运行的虚拟环境,每一个java程序运行时,都有自己的一个jvm2.JVM组成JVM有3大核心区域:栈内存:线程私有,主要用于存放基本数据类型和对象的引用(变量)。通过-Xss文件配置参数堆内存:线程共享,主要用于存放数组和
阅读全文
摘要:数据库连接池问题定位与分析 一.环境准备 1.编写脚本 2.执行压测 3.打印快照 二.问题定位 1.在快照中,搜索是否存在BLOCKED 或者 TIMED_WAITING字段 2.查看TIMED_WAITING日志中是否存在,跟自身业务相关的日志信息 3.检查是否存在getconnection的关
阅读全文
摘要:联合索引问题定位与分析一.配置联合索引二.联合索引生效规则最左侧生效原则1.不生效情况Age在联合索引的第左侧,where字句中,没有用到age所以联合索引不生效2.部分生效情况Email在联合索引的最左侧,slq语句中有email字段,email生效3.联合索引都生效Sql语句中where字段与联
阅读全文
摘要:数据库索引问题定位与分析 一.数据库服务器添加慢查询配置 1.my.cnf文件添加监控慢查询配置 cd /etc/my.cnf vi my.cnf 添加如下配置: slow_query_log=1 long_query_time=0.01 2.重启数据库服务器 systemctl restart m
阅读全文
摘要:数据库架构优化一.分库分表1.整除取余比如有user有10个库,每个库有100张表userid=100087存放的数据库和表格的路径100087%10=7 第7个库10087%100=87 第87张表2.根据id最后1位和两位插入数据库和表Id的最后1位为数据库的位置Id的最后两位为表格的位置二.读
阅读全文
摘要:代码优化1.使用对象池减少对重复对象的创建,比如tcp链接、数据库链接、多线程2.调整连接数,连接池、数据库链接数、tomcat、nginx连接数3.利用缓存技术增加缓存、本地缓存(tomcat内存之中,不走网络)、redis缓存4.串行改并行,即单线程改多线程5.同步改异步,使用场景:本次调用接口
阅读全文
摘要:Sql语句优化1.在where及order by后的字段,添加索引。避免全表扫描。一般不要超4个2.避免索引失效:避免where字句中对字段进行null值判断,避免where字句中对字段进行函数或者表达式的操作避免where字句中对字段进行左右模糊查询3.查询语句避免*,减少内存使用4.用union
阅读全文
摘要:Mysql慢查询现象、原因、排查思路一.Mysql慢查询表现1.Tps很低2.相应时间很长3.应用服务器cpu使用率很低4.Mysql数据库服务器使用率很高二.Mysql慢查询原因1.数据未加索引2.数据库索引未生效3.Sql语句不够优化三.Mysql慢查询问题排查思路1.检查是否添加索引2.找到接
阅读全文
摘要:性能瓶颈定位思路整体思路:从前到后,从表象到内部1.首先排查压力机自身的问题,如CPU、内存、网络、脚本2.监控中间件的访问日志,观察相应时间耗时,出现在哪一个环节。Tomcat、nginx、apache、mysql3.排查网络问题,监控压力机到后端服务器的网络是否出现瓶颈4.监控服务端的所有机器(
阅读全文
摘要:K8s安装方法 一.环境准备 1.master和node主机准备 最好是纯净的系统,特别是不能有安装docker 2.上传kainstall-centos.sh和1.20.6_centos7.tgz上传至master机器的任意目录下 3.对kainstall-centos.sh添加可执行权限: ch
阅读全文
摘要:搭建skywalking监控平台一.平台建构二.环境搭建注意核对系统时间是否正确Datentpdate pool.ntp.org1.在任意目录新建一个docker-compose的目录cd /homemkdir docker-compose2.在docker-compose的目录下,新建一个dock
阅读全文
摘要:普罗米修斯搭建nginx_exporter监控 一、被监控宿主机下,创建监控项目配置文件 1.在/etc/nginx/conf.d,目录下创建件sub_status.conf文件(docker安装放映射地址目录) cd /root/docker/nginx/conf.d touch sub_stat
阅读全文
摘要:普罗米修斯搭建redis监控 一、被监控宿主机下载redis容器 执行命令 docker run -d -p 9121:9121 oliver006/redis_exporter --redis.addr redis://ip:port --redis.password 'password' 二、p
阅读全文
摘要:搭建mysql_exporter监控 一、安装mysql_exporter 1.执行命令 docker run -d -p 9104:9104 -e DATA_SOURCE_NAME="root:password@(mysql ip:port)/" prom/mysqld-exporter 二、pr
阅读全文
摘要:Docker容器监控一.docker命令监控容器docker stats containerid二.Prometheus监控docker容器1.设置权限mount -o remount,rw '/sys/fs/cgroup'2.建立软连接ln -s /sys/fs/cgroup/cpu,cpuacc
阅读全文
摘要:搭建node_exporter监控一.被监控宿主机,下node_exporter容器执行命令:docker run -d -p 9100:9100 -v /proc:/host/proc:ro -v /sys:/host/sys:ro -v /:/rootfs:ro prom/node-export
阅读全文
摘要:搭建grafana 一.安装grafana 1.在普罗米修的宿主机上docker安装grafana docker run -d -p 3000:3000 grafana/grafana 2.浏览器访问grafana 宿主机ip:3000 账号和密码:admin 二、配置prometheus数据源 1
阅读全文
摘要:搭建prometheus 一.更新系统时间 1.下载ntp工具 yum install -y ntp 2.更新系统时间 ntpdate pool.ntp.org 二、安装prometheus 1.在普罗米修斯宿主机创建映射文件 mkdir -p /root/prometheus touch prom
阅读全文
摘要:普罗米修斯介绍 1.普罗米修斯监控平台由3部分组成 (获取数据)Exporter:监控程序,负责收集数据。针对不同的监控目标,官方有不同的exporter程序 mysql_exporter:获取mysql数据 node_exporter:获取操作系统数据 (存储数据)Prometheus:时序数据库
阅读全文
摘要:Windows安装jprofiler 一.windows安装和激活 1.首页默认,直点击下一步 2.同意授权 3.进入注册页面 4.在注册页面输入用户和密钥 5.打开注册机,点击generate生成账号和密钥 6.把license key输入到步骤一中的密钥框,公司名字可以顺便写 7.直接点击下一步
阅读全文
摘要:Java线程监控 一.Jstasck 1.查找进程 ps -ef | grep tomcat-oa 2.使用jstack监控 jstack 2429 二、jvisualvm 1.tomcat应用环境配置 1.1 tomcat环境配置 修改tomcat中,catalina.sh文件 cd /usr/s
阅读全文
摘要:Nmon图像化监控工具一、nmon工具环境准备1.上传nmon工具到任意目录2.给nmon改名3.给nmon工具授可执行权限二、nmon使用方法执行命令:./nmon -ft -s 5 -c 1000-ft:以文件方式保存数据-s:每5秒监控一次-c:监控多少次三、nmon数据转化1.下载数据Kil
阅读全文
摘要:超级监控工具dstat 1.安装 dstat是一个全能监控工具,整合了CPU、内存、磁盘、网络等几乎所有的监控项,支持实时刷新 。dstat非系统自带的三方监控工具,必须有python才能安装 yum install -y dstat 2.使用方法 dstat -tclmnds --disk-uti
阅读全文
摘要:内存+磁盘+网络监控 一、free -m命令内存监控 1.free使用方法 free以字节显示 free -m 以兆显示 2.数据解读 Total:表示系统总内存大小,used+free+buff/cache=total Used:表示已经使用的内存大小 Free:表示空闲的内存大小 Buff:表示
阅读全文
摘要:Top命令监控操作系统资源默认是按CPU倒序排列,如果想按照内存的排序展示,按大写M,如果想在切换回CPU排序,按大写的P重点关注指标:load average:平均负载,代表过去一段时间内,cpu处理需要处理的任务数量。后表数字分别代表,1分钟、5分钟、10分钟cpu需要处理的任务数平均值us:代
阅读全文
摘要:破解工具使用方法一、注意事项(工具下载完成之后,安装破解之前先断网)1.安装成功navicat15之后,一定不要打开navicat应用程序。2.下载破解工具之前,一定要关闭所有的杀毒软件和防火墙。3.使用破解工具之前,一定要断开网络。二、破解方法1.打开破解工具,按照步骤生成注册码。2.打开navi
阅读全文
摘要:jmeter测试dubbo接口 一.Windows环境通过jdbc给lottery接口造用户测试数据 1.将mysql-connector-java-5.1.22-bin.jar放到D:\apache-jmeter-5.5\lib\ext目录下 2.在测试计划中,添加mysql-connector-
阅读全文
摘要:Jmeter中通过beanshell调用jar包实现加密一.添加beanshell前置处理器由于请求接口时,会传加密参数。加密过程会在请求之前完成,所以需要使用前置处理器中beanshell preprocessor二.在测试计划中添加jar包路径三.编写beanshell脚本1.定义一个beash
阅读全文
摘要:Jmeter中通过beanshell调用java文件实现加密一.添加beanshell前置处理器由于请求接口时,会传加密参数。加密过程会在请求之前完成,所以需要使用前置处理器中beanshell preprocessor二.编写beanshell脚本1.定义一个beashell变量:phoneNum
阅读全文
摘要:上游接口提供多个数据,Foreach控制器遍历全部 一.使用场景 获取用户列表数据,全部登录 二.Foreach使用方法 1.编写获取用户接口脚本 Json提取器,提取所有用户名。因为会被登录接口调用,所以需要定义变量名称 2.编写用户登录接口脚本 线程-添加-逻辑控制器-foreach控制器 输入
阅读全文
摘要:jmeter中if控制器使用方法一.If控制器用途当一个需要实现满足一定条件才执行时,则可以使用if控制一个线程组由查询库存接口和购买接口构成,需求当库存大于500才购买商品二.If控制器的使用方法1.编写查询商品库存接口脚本使用函数助手ramdon函数对sku_id进行参数化,因为sku_id会被
阅读全文
摘要:Jmeter中跨线程调用变量 一.Jmeter中线程运行规则 1.各个线程组是完全独立的,每个线程组是不同的业务,互不影响 2.线程组中的每个线程也是完全独立 3.线程组中的每个线程,都是从上往下执行,完成一轮循环后,继续下一轮循环 4.存在业务流或者接口之前存在依赖关系的放同一个线程组 5.set
阅读全文
摘要:Jmeter测试签名接口一.了解签名规则1.常见的签名规则:业务数据+当前时间戳2.签名方式:md5(大部分)二.接口信息1.Ip和端口号:10.196.104:80802.接口路径:/pinter/com/userInfo3.请求类型:post4.数据类型:json5.请求参数:{ "phoneN
阅读全文
摘要:Jmeter测试tcp接口 一.tcp接口结构 Tcp接口:只有ip和port 传参数据类型根据开发定义的类型 需要添加一个ascii码的十进制字节结束符,tcp才会关闭 二.Tcp接口环境搭建 在testfan-tcp-server.jar目录下,启动cmd命令行,输入:java -jar tes
阅读全文
摘要:Jmeter测试dubbo接口 一.dubbo插件准备 1.把jmeter-plugins-dubbo-2.7.4.1-jar-with-dependencies.jar包放在D:\apache-jmeter-5.5\lib\ext目录 2.重新打开jmeter客户端 在线程组-添加-取样器-dub
阅读全文
摘要:Jmeter测试websocket接口一.Websocket接口原理1.打开网页:从http协议,升级到websocket协议,请求简历websocket连接2.服务器返回建立成功成功3.客户端向服务端发送匹配请求4.服务端选择一个客服上线5.服务器返回客服id6.客户端向服务器发送消息7.服务器推
阅读全文
摘要:Jmeter测试基于soap协议的websevice接口一.Webservice接口结构二.Jmeter测试webservice接口方法1.输入请求参数2.添加http 信息头,定义客户端接受得数据类型3.调试脚本
阅读全文
摘要:寻找tps性能拐点 一、准备脚本 1.在本地电脑调试jmeter压测脚本 2.上传到压测机jmeter所在的服务器 二、执行压力测试 1.执行压测脚本 jmeter –n –t xianchengzuse.jmx 2.记录业务压测数据 三、监控服务器性能指标 1.监控CPU top命令 2.监控内存
阅读全文
摘要:性能脚本error报错问题排查一、脚本运行过程中报错1.在windows系统jmeter中,给测试脚本添加查看结果树,添加保存错误日志信息第一步,给文件取名error.xml第二步,仅错误日志第三步,点击配置,全部勾选2.把linux系统中保存的error日志文件,导入到windows系统jmete
阅读全文
摘要:非GUI模式执行jemter压测 一、上传脚本 把在windows下调试好的脚本上传的Linux系统/home目录下。注意:只留测试脚本,屏蔽其他监控组件,比如:查看结果树、聚合报告、监听器等 二、执行脚本 1.输入命令执行脚本:jmeter -n -t case.jmx -l case.jtl -
阅读全文
摘要:Jmeter分布式压测 一、环境准备 1.克隆虚拟机 2.在所有linux系统/etc/hosts文件中增本机的ip和主机名 Vi /etc/hosts 添加ip地址和主机名 3.检查每台压力机是否都有安装,jdk和jmeter 4.把执行的脚本文件,上传到主压力机的/home目录下,参数文件放在每
阅读全文
摘要:jmeter中使用jdbc插件写sql构造测试数据 一.创建jdbc连接配置 1.项目的数据库配置文件中查看连接配置 2.配置元件-jdbc connection configuration 填写配置信息 二.创建goods数据 1.添加goods_id计数器 起始值:查看数据库 2.添加jdbc
阅读全文
摘要:通过接口构造测试数据 一.使用计数器 1.添加和设置计数器 点击配置元件-计数器 Starting value:起始值 递增:1 Maximum value:最大值 引用名称:c_user_id 2.计数器变量引用 ${c_user_id} 线程数:10 循环:1000 二.上传至jmeter服务器
阅读全文
摘要:tomcat查看日志 一、增加统计时间(tomcat——>数据库) 1.进入到项目的tomcat的server.xml目录 cd /usr/src/tomcat-oa/conf 2.编辑server.xml 在末尾pattern添加 %T 3.杀死项目tomcat进程,重启项目 Kill -9 pi
阅读全文
摘要:tomcat部署多项目 在实际工作过程中,由于公司资源限制,可能存在多个项目部署在一台服务器上 一、tomcat环境部署 1.复制一个tomcat容器 复制:cp -r apache-tomcat-8.5.38 tomcat-oa 改名:mv apache-tomcat-8.5.38 tomcat-
阅读全文
摘要:tomcat部署单项目 一、上传tomcat压缩包和项目jar包 1.上传tomcat到任意目录 比如:/usr/src 解压tomcat压缩包 2.上传项目包到任意目录 比如:/usr/src 二、部署项目到tomcat上 1.先将项目包放到 tomcat 的 webapps 目录下,并且解压 2
阅读全文
摘要:查看nginx日志 一、查看nginx访问日志 1.查看nginx中项目日志存放路径 cd /etc/nginx/conf.d cat oa.conf 2.在项目nginx中,查看访问日志 cd /var/log/nginx tail -f oa.access.log 二、增加统计时间 此处统计的是
阅读全文
摘要:nginx部署静态项目 一、安装nginx 1.安装nginx官方源 centos默认没有nginx官方安装源 rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarc
阅读全文
摘要:Linux下搭建mysql一、上传解压mysql压缩包1.上传mysql压缩包到linux下任意目录比如/usr/src(新系统需要给该目录添加权限:chmod 777 /usr/src)2.解压mysql压缩包unzip mysql-community-5.7-all.zip二、安装mysql应用
阅读全文
摘要:项目集成redis实战 1.进入到项目的tomcat配置文件中,修改redis服务器和密码 cd /usr/src/tomcat-pinter/webapps/WEB-INF/classes/ vi application.properties. 2.杀死tomcat进程,重启服务 3.重启服务 c
阅读全文
摘要:linux下redis安装与使用一、redis安装1.上传reids压缩包到任意目录,一般与mysql数据库放一起。/usr/src2.redis压缩包解压tar xvf redis-7.0.4.tar.gz3.用gcc编译C语言,先安装gccyum install –y gcc4.进入到解压后的r
阅读全文
摘要:docker-compose管理容器一、下载docker-compose1.下载依赖执行命令:curl -L https://get.daocloud.io/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`unam
阅读全文
摘要:基于docker部署tomcat1.下载tomcat容器到docker-hub中去寻找tomcat 8的版本,且支持jdk 8的版本docker pull tomcat:8.5.0-jre82.创建映射文件地址cd /root/dockermkdir tomcatmkdir webapps3.把pi
阅读全文
摘要:Docker中部署redis一、在docker中拉去redis镜像docker pull redis二、在本机给redis创建配置文件1.mkdir –p /root/docker/redis/conf2.上传redis自带的redis.conf到改目录下。注意:有可能xftp无法链接,可以先传到其
阅读全文
摘要:基于docker部署nginx1.拉取nginx镜像文件docker pull nginx2.创建nginx本地映射文件mkdir -p /root/docker/nginx/logsmkdir -p /root/docker/nginx/conf.dtouch pinter.confvi pint
阅读全文
摘要:Docker中部署mysql一、给docker创建网络docker network create -d bridge mtx二、在任意目录创建mysql配置文件1.创建目录cd 到root目录mkdir dockercd dockermkdir mysqlcd mysqlmkdir confcd c
阅读全文
摘要:Docker常用命令1.搜索docker search mysql2.拉取镜像docker pull mysql:5.7docker-hub官方:https://hub.docker.com/搜索mysql-tag,复制拉取命令以下载mysql 5.7版本为例3.查看镜像和镜像IDdocker im
阅读全文
摘要:linux下docker安装1.安装依赖包执行命令:yum install -y yum-utils device-mapper-persistent-data lvm22.安装docker执行命令:yum install -y docker3.启动和关闭docker启动:systemctl sta
阅读全文
摘要:Jmeter默认的监控时间是30S,需要改成10S1.进入到jmeter/bin目录下2.编辑jmeter.properties,把默认统计事件改成10s删除summariser.interval前的注释,把值改成10按esc :wq退出
阅读全文
摘要:Linux系统搭建Jmeter环境一、把Jmeter的压缩包传到Linux系统/home目录下1.给/home添加读写权限chmod 777 /home2.进入到/home目录下,双击Jmeter压缩包,上传文件3.解压Jmeter压缩包unzip apache-jmeter-5.5.zip如果没有
阅读全文
摘要:Linux系统搭建JDK环境一、把jdk1.8的压缩包传到Linux系统/usr/local目录下1.给/usr/local添加读写权限,否则无法上传Chmod 777 /usr/local2.在Xftp中双击JDK文件上传到/usr/local目录下点击向上的箭头号,一路返回到根目录,然后进入到/
阅读全文
摘要:Linux最常用命令一.防火墙相关1.查看防火墙是否开启:systemctl status firewalld2.关闭防火墙:systemctl stop firewalld3.永久关闭防火墙:systemctl disable firewalld二.压缩相关zip压缩与解压缩1.压缩zip -r
阅读全文
摘要:Xshell和Xftp一、简介Xshell是一款远程连接Linux服务器的软件Xftp是一款实现windows和Linux系统文件上传和下载的软件点击Xshell中的Xftp会点击跳转至一个无效的网页连接,Xftp以独立成一款商业软件,需要单独下载,才能在Xshell中使用Xshell和Xftp官方
阅读全文
摘要:Vmware下载与安装一、下载1.官网下载直接入口:https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html下拉选择windows版本2.首页路径下载官网首页:https://www.vmware.
阅读全文
摘要:搭建Linux系统一、Vmware导入centos镜像1.创建虚拟机点击创建新虚拟机选择自定义安装直接点击下一步选择稍后安装操作系统根据下载的linux镜像选择系统版本选择安装路径不带中文,默认也可根据主机配置选择合适的操作系统配置,处理器和内核不要超过物理的50%,建议选择2处理器,单个处理器2个
阅读全文
摘要:Centos下载与安装一、下载官方地址:https://www.centos.org/1.点击Centos linux2.点击X86-643.点击其他下载源4.搜索china下载源地址汇总5.以华为云为例6.点击isos,选择x86-647.选择DVD-ios结尾
阅读全文
摘要:Linux连接网络与设置固态IP新装的Linux系统连接不上网络,有多种原因:1.Linux系统防火墙没有关闭2.虚拟机网络连接方式未设置3.Linux系统网卡未设置4.vmware网络服务没有启动一、解决方法1.关闭Linux系统防火墙在Linux命令行输入以下命令:查看防护墙状态:sysytem
阅读全文
摘要:Linux系统内核-TCP连接数和网络等待时间设置优化一、TCP连接数优化Linux服务器默认支持1024个tcp连接,在实际压测时,无论是压力机还是服务器都需要对tcp参数进行优化1.参看系统当前支持tcp连接数ulimit -n2.设置系统最大连接数vi /etc/security/limits
阅读全文
摘要:Redis常用命令一.redis特点:1.支持数据的持久化,可以将内存的数据保存在磁盘中,重启时再次加载2.存储的数据多样化,支持:string、list、hash、set、zset数据结构的存储3.支持master-slave模式的数据备份二.redis优势:性能高,读的速度为11万次/s,写的速
阅读全文
摘要:Redis配置和使用方法一、下载和环境配置1.下载Redis官网:https://github.com/tporadowski/redis/releases,根据本地电脑下载适配的压缩包。2.环境配置下载到本地后,解压到任意目录。进入文件内,复制地址添加到本地电脑的系统环境变量Path路径。二、Re
阅读全文
摘要:Allure邮件报告模板<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>$PROJECT_NAME-第$BUILD_NUMBER次构建日志</title> </head> <body leftmargin="8" marginw
阅读全文
摘要:Pipeline流水线脚本pipeline{ agent { label 'slave1-apitest' } stages{ stage("拉取自动化测试代码"){ steps{ git credentialsId: '65623c68-96bc-4037-ab73-db5c091f358f',
阅读全文
摘要:编写企业微信消息通知一.创建企业微信群通知机器人可能管理员未添加权限,或者外部群只有管理员才有创建权限原因,无入口1.点击右上角…,在创建入口输入机器人姓名2.复制webhook地址https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=f67ad2
阅读全文
摘要:Pipelien编写发送邮件报告脚本一.查看拓展邮箱的标题系统管理-系统设置- Extended E-mail Notification中查看,Default Subject默认主题:$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!二.利用
阅读全文
摘要:Pipeline编写allure报告脚本一.查看节点工作目录中,存放测试数据的路径1.点击构建任务2.点击workspace3.点击流水线名称4.查看是否项目路径一致二.利用流水线语法-片段生成器生成allure报告脚本1.输入测试结果数据存放路径2.点击生成流水线脚本allure includeP
阅读全文
摘要:Pipeline编写安装依赖库和执行脚本1.安装依赖库脚本注意:部分系统是python3sh 'python -m pip install -r requirements.txt -i https://pypi.douban.com/simple/'2.执行run.py脚本sh 'python ru
阅读全文
摘要:Pipeline拉取测试代码1.选择流水线语法-片段生成器2.选择git、填写远程仓库地址、gitee凭据后,点击生成git credentialsId: '65623c68-96bc-4037-ab73-db5c091f358f', url: 'https://gitee.com/huangsha
阅读全文
摘要:Pipeline编写执行节点脚本一.创建流水线任务新建任务-流水线任务二.使用流水线语法,生成执行节点脚本1.点击任务名称-流水线语法-Declarative Directive Generator2. 选择label类型,输入节点标签,点击生成agent { label 'slave1-apite
阅读全文
摘要:Linux安装python一.下载安装包1.安装wgetYum install -y wget2.下载python安装包wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz或者直接在home目录新建python,本地下载pytho
阅读全文
摘要:Jenkins构建触发器一.Jenkins 五种构建触发方式区别定时构建都是针对项目工程,所以无论哪种构建方式,都是在工程中做设置测试代码是为开发代码服务的,测试在选择构建方式时,要考虑到不同阶段选择合适的构建方式1.五种构建方式1.1触发远程构建:通过API方式拉起构建,一般是编写一个脚本,运行脚
阅读全文
摘要:Jenkins流水线设置测试执行环境1.进入到设置页面点击任务名称-配置-参数化构建方式2.填写配置信息Jenkins平台bug,env_name中_下划线可能显示不出来,可忽略${Env_name}必须和节点的执行脚本文件中配置一直选项参数,必须和python自动化测试代码中的参数一致
阅读全文
摘要:Jenkins配置钉钉消息通知一.创建钉钉消息通知机器人1.创建群聊2.点击群设置-机器人3.点击添加机器人4.点击添加机器人5.选择自定义机器人6.填写机器人消息,点击创建机器人获取webhook:https://oapi.dingtalk.com/robot/send?access_token=
阅读全文
摘要:Jenkins邮件报告设置一.获取发件人邮箱授权码(163网易邮箱为例)1.点击设置-pop3/smtp/imap,进入到获取授权码界面2.点击POP3/SMTP,开启服务3.发送短信,保存该授权码:NIVYHCDFIURNWVIE二.添加邮件凭据管理1. 点击系统管理-manage credent
阅读全文
摘要:Jenkins 分布式节点控制一.打开代理1.系统管理-安全-全局安全设置2.打开代理二.创建节点1.进入创建节点页面系统管理-系统配置-节点管理2.创建节点名称3.填写节点信息4.启动slave1-apitest节点启动名称参考,节点内第一条提示curl -sO http://10.196.131
阅读全文
摘要:Jenkins关联gitee一.设置credentials凭证管理插件1.下载credentials,重启jenkins二.设置gitee凭证管理1.点击系统管理-manage credentials-域-添加凭据2.添加凭据信息,用户名和密码填写的是项目托管平台的,比如:gitee3.返回可以查看
阅读全文
摘要:Jenkins全局工具设置一.设置git点击系统管理-全局工具设置- Git installations二.设置allure点击系统管理-全局工具设置- Allure Commandline 安装
阅读全文
摘要:Jenkins安装插件一.安装中文插件1.点击系统管理-插件管理2.搜索Localization: Chinese (Simplified)二.安装allure插件三.安装manage credential 管理凭据插件
阅读全文
摘要:role-based-authorization strategy插件安装和使用一.安装插件1.点击系统管理-插件管理,搜索role,选择需要下载的版本,点击下载2.下载完成之后,需要重启服务器生效,最好是重启jenkins服务二.新建用户1.点击系统管理,管理用户2.点击新建用户,输入用户信息三.
阅读全文
摘要:Dokcer部署jenkins一.环境检查1.检查是否配置jdk环境java –version 最新得jenkins,需要jdk112.检查是否安装和启动dockersystemclt status docker二.Docker部署jenkinshttps://www.jenkins.io/zh/d
阅读全文
摘要:Git push到多个远程仓库一.分别push到多个远程仓库1.本地git仓库取不同别名,分别绑定多个远程仓库Git remote add app2 https://gitee.com/huangshao1989/app2_framework.git Git remote add app3 http
阅读全文
摘要:Git tag 标签操作一.创建标签1.创建本地标签Git tag v1.0.0_alpha 2.查询标签Git tag3.推送远程仓库标签Git push app2 v1.0.0_alpha4.远程仓库查看是否存在标签二.删除标签1.删除本地标签Git tag –d v1.0.0_alpha2.删
阅读全文
摘要:Git reset版本回退的3种操作Ls:查看查看工作区的文件目录Git ls-files –c:查看缓存区的文件目录Git relog: 查看所有的历史提交消息一.--soft(最没用)工作区和暂存区内容跟回退之前无任务变化(仍然显示当前,增删改内容),可直接commit修改的内容保持最新修改内容
阅读全文
摘要:Git mv和rm操作使用一.Git rmGit rm是用于删除文件,作用域为工作区和暂存区1.同时删除工作区和暂存区文件:工作区和暂存区都有此文件,且内容相同从工作区和暂存区删除文件,删除之后工作区和暂存区都不存在此文件Git rm filenameGit rm aa.txt2.同时删除工作区和暂
阅读全文
摘要:git clone和fetch以及pull区别一.git cloneGit clone适用于已有远程仓库,本机没有相关的本地仓库。使用方法:1.桌面/任意目录,右键单击,点击git bash。2.输入:git clone url(远程仓库地址)二.git fetchGit fetch适用于,本机已有
阅读全文
摘要:Git diff使用git,工作区,缓冲区,本地仓库,diff都是把历史数据删除,重新写入内容+,表示新增内容-,表示删除的内容1.Git diff 工作区当前和上次的,文件内容的详细差异红色显示的旧的内容绿色表示修改后的内容白色表示未做修改的内容2.git diff –-cache对比的是本次co
阅读全文
摘要:Git status操作Git status获取的是:工作区、暂存区、的文件/内容是否同步。共3种状态Changes not staged for commitChanges to be committedUntracked files1.工作区有修改,未add到暂存区:Changes not st
阅读全文
摘要:Git log日志操作区别:Git log:作用域是本地版本库。查看的是commit -m提交的内容。只add未commit不会生成log信息。支持简单查看,顺序查看,按时间和作者筛选Git blame :作用域是工作区。查看的是工作区的最新内容,即使修改,未add ,commit也可以打印。功能类
阅读全文
摘要:Git 分支操作一.查看分支1.查看本地分支Git branch2.查看远程分支Git branch –r3.查看所有分支Git branch -a二.创建分支1.创建分支Git branch name2.创建分支并切换分支Git checkout –b name三.切换分支1.在当前分支开发时,必
阅读全文
摘要:Git解决冲突一.自动合并冲突前提:远程仓库代码发生变化,本地仓库的代码未更新,git commit冲突场景:远程仓库的代码已经更新,本地仓库还是原来的代码冲突现象:解决方式:拉去远程仓库代码,会自动合并成功二.自动合并冲突失败现象1. 本地和远程仓库都做了修改,未先pull,直接push现象:问题
阅读全文
摘要:Git工具使用一.注册git账号在cmd命令行输入:1.注册git用户名:git config --global user.name “huangshao”2.注册git用户邮箱:git config --global user.email “794403729@qq.com”二.Git基本概念wo
阅读全文
摘要:码云平台使用一.注册码云账号1.打开码云,点击注册官方地址:https://gitee.com/2.填写注册信息二.新建项目仓库1.点击+,新建仓库2.填写新建仓库信息三.通过rsa公钥,绑定本地git仓库和远程码云仓库1.生成ssh公钥在cmd命令行中输入:ssh-keygen –t rsa –C
阅读全文
摘要:Git工具下载与安装一.下载1.官方地址:https://git-scm.com/点击红框中的Download for Winodows,跳转到下载界面2.选择适配自己电脑的版本包,以windows 64为例二、安装1.安装Git没有需要用户自定义设置项,一路选择默认安装即可。三.配置系统环境变量1
阅读全文
摘要:Charles使用常见问题与解决方法一.charles断点常见问题与解决办法1.开启断点后,客户端刷新页面,charles没有拦截到请求问题原因:客户端和charles有缓存,客户端在发起请求时,会直接从缓存中读取数据,没有请求服务端解决方法:把浏览器和charles的缓存清除,勾选 不保存缓存数据
阅读全文
摘要:charles断点和重发请求方法 一.重发请求 方式1,选中需要重发的请求,直接点击工具栏重发按钮 方式2,右键选中需要重发的接口,点击repeat 方式3,重复发送多次请求,点击repeat advance 设置iterations重发的次数 二、修改请求参数后,发送请求 1.选中需要编辑的接口
阅读全文
摘要:Charles安装和激活教程一、下载Charles官方下载地址:https://www.charlesproxy.com/,根据个人电脑下载适配的系统版本。下载安装包到本地之后双击charles.exe文件,一键式安装,以windows 64为例: 二、激活1.生成激活码Charles只有30天免费
阅读全文
摘要:Pycharm下载与安装一、下载官方网址:https://www.jetbrains.com/pycharm/点击下载选择windows,社区版本二、安装勾选这3个限制
阅读全文
摘要:Fiddler模拟弱网测试 一、Fiddler原理 Fiddler代理位于 Web 客户端和 Web 服务器之间,扮演“中间人”的角色。Fiddler既代理客户端向服务器发送请求,又代理服务器向客户端返回响应内容。 Fiddler官方地址: https://www.telerik.com/downl
阅读全文
摘要:python下载与安装一、下载官网下载地址:https://www.python.org/downloads/二、安装1.为了避免自己配置环境变量,勾选添加至path2.直接下一步3.全选点击install4.在dos窗口中输入python,出现以下界面表示安装成功
阅读全文
摘要:Chrome开发者工具弱网测试方法 一、入口 打开Chrome开发工具。右键单击-检查、或者浏览器设置-更多工具-开发者工具、快捷建ctrl+shift+i,3种方式都可以打开 二、使用google预置的网络环境 选择Network-No throttling下拉按钮,选择要模拟的网络。备注:201
阅读全文
摘要:Charles弱网测试方法一、配置弱网环境1.点击Proxy-Throttle Settings,进入到配置页面2.设置需要模拟限速的域名,不设置默认对所有网址都生效勾选Enable Throttling-Only for selected hosts点击add添加,选择协议、域名、端口号3.设置弱
阅读全文
摘要:Solopi工具使用 一.下载安装apk 官方地址:https://github.com/alipay/SoloPi 二.Solopi工具使用 操作使用说明 录制回放: https://github.com/alipay/SoloPi/wiki/RecordCase一机多控: https://git
阅读全文
摘要:Mobileperf性能数据分析 在config.conf配置中查看生成的报告 1.打开cpuinfo.csv,查看cpu占用信息 2.打开meminfo.csv,查看内存使用信息 3. 打开pss_autohome.csv,查看被测应用内存使用详细信息 4. 打开fps.csv,查看fps帧率信息
阅读全文
摘要:Mobileperf工具环境搭建一.下载mobileperf工具包官方下载地址:https://github.com/alibaba/mobileperf二.搭建python 3.7环境readme.md文件中明确要求python 3版本,最好3.7版本本地有多个python版本,在系统环境变量pa
阅读全文
摘要:genymotion模拟器下载和使用 一.下载genymotion工具 1.注册genymotion账号 官方地址:https://www.genymotion.com 注册成功之后,去邮箱中激活 2.下载genymotion工具 官方地址:https://www.genymotion.com/do
阅读全文
摘要:FFmpeg测试app启动速度一.搭建FFmpeg环境1.下载安装包官方网址:https://ffmpeg.org/download.html选择window版本2.配置环境变量进入到ffmpeg/bin目录,添加只系统环境变量path路径中3.检验配置成功在控制台输入ffmpeg4.常用参数介绍-
阅读全文
摘要:adb测试app启动速度 一.adb获取启动页面耗时 1.获取启动的activity 启动app,执行命令: adb shell dumpsys window | findstr mCurrentFocus 2.获取activity耗时 adb shell am start –W –n com.cu
阅读全文
摘要:MAT分析内存问题一.Monitor收集内存数据1.在sdk-tools文件中,双击打开monitor工具2.检查是否连接设备,和监控到运行中的进程3.点击抓取内存数据按钮,并操作app产生数据4.点击保存内存数据二.hprof-conv.exe转换Hprof数据打开cmd命令行工具输入:hprof
阅读全文
摘要:内存测试流程和方法一.内存测试实现原理:通过UI自动化脚本,遍历所有场景通过adb命令间隔2S获取一次数据,写入到文件中通过脚本把数据绘制成曲线图,同时计算出整个过程中最大值二.测试方法1.手工2.UI自动化三.内存测试选择场景1. Activity页面2. 新需求页面3. 高频使用页面四.环境准备
阅读全文
摘要:Android移动端App流量测试方法一.adb获取app流量方法1.获取被测app的pidadb shell ps | findstr com.douban.frodo2.adb获取流量数据测试某个业务场景,输入:adb shell cat /proc/3103/net/devLo:代表本地流量R
阅读全文
摘要:android移动端流畅度测试方法 一.开发者选项中,打开gfx调试模式 二.用adb shell dumpsys gfxinfo获取数据 1.adb shell dumpsys gfxinfo com.cubic.autohome 或者导入到fps.txt文件中 adb shell dumpsys
阅读全文
摘要:Adb测试App电量方法1.通过adb将电池信息清空adb shell dumpsys batterystats –-reset2.打开app,进行业务场景操作在命令行模式输入:adb shell dumpsys batterystats com.cubic.autohome >H:\DeskTop
阅读全文
摘要:battery-historian平台搭建和电量分析一.搭建python2.7环境battery-historian仅支持python 2.7版本1.python官网下载,2.7版本https://www.python.org/downloads/release/python-270/2.配置pyt
阅读全文
摘要:搭建appium1.8环境1.官方下载地址:http://appium.io/下载1.8.2版本2.安装appium桌面软件以管理员运行安装程序3.安装appium-doctorCmd命令行输入:npm install –g appium-doctor4.使用appium-doctor检查appiu
阅读全文
摘要:android下载与环境配置 一.Android sdk下载 1.sdk官网下载 http://tools.android-studio.org/index.php/sdk 2.选择一个非中文目录,解压 二.Android组件下载 1.进入到android_sdk中,点击SDK Manerger.e
阅读全文
摘要:Node.js环境搭建1.下载msi安装包官方网址:https://nodejs.org/en/2.安装node.js一路点击下一步即可,默认会自动添加path环境变量3.验证是否安装成功命令行模式下输入:node -v4.验证npm是否安装成功命令行模式下输入:npm -v
阅读全文
摘要:JDK下载与配置环境变量 一、下载 官网地址:https://www.oracle.com/java/technologies/downloads/archive/ 一定要选择开发者组件 同意授权并下载 下载完成之后,直接点击下一步完成安装 二、配置环境变量 1.系统变量:新增JAVA_HOME,变
阅读全文
摘要:Appcrawler环境搭建与工具使用一.搭建appcrawler环境1.下载appcrawler jar包官方地址:https://github.com/seveniruby/AppCrawler/releases/tag/2.7.42.把jar包放入到新建的appcrawler文件中二.Appc
阅读全文
摘要:Android端CPU测试方法一.CPU测试实现原理:通过UI自动化脚本,遍历所有场景通过adb命令间隔2S获取一次数据,写入到文件中通过脚本把数据绘制成曲线图,同时计算出整个过程中最大值二.测试方法1.手工2.UI自动化三.CPU测试选择场景1. Activity页面2. 新需求页面3. 高频使用
阅读全文
摘要:Monkey测试方法 一.Monkey参数介绍 -s:伪随机数(指定执行monkey设备)。再次执行monkey会与s相同的步骤,开发修复问题后,回归验证 -p:执行monkey的软件包,多个apk,多个-p -v:日志详细级别,-v -v -v最详细 --throttle:执行动作之间的间隔时间,
阅读全文
摘要:adb logcat命令使用 一.android日志介绍 1.打印日志的原理 android日志系统包括一个内核驱动程序和用于存储日志消息的内核缓冲区。一个用于查看日志消息的独立程序logcat。 2.日志的类型 4个不同日志缓冲区,为系统的不同部分提供日志记录,所有的缓冲区都在设备的/dev/lo
阅读全文
摘要:Adb常用命令 一.连接命令 1.连接某台设备 adb connect ip:port 2.断开某台设备连接 adb disconnect ip:port 二.查询类命令 1.查询是否已连接的设备 adb devices 2.查询连接设备状态 adb get-state 3.查询设备已安装的应用 a
阅读全文
摘要:安卓sdk_monitor下载与环境配置一.Android sdk下载1.下载sdk官网:http://tools.android-studio.org/index.php/sdk2.选择一个非中文目录,解压二.Android组件下载1.进入到android_sdk中,点击SDK Manerger.
阅读全文
摘要:adb下载与环境配置一.adb下载官方下载地址:https://adbdownload.com/二.adb配置环境变量1.进入到D:\platform-tools内部2.进入系统-高级设置-环境变量-系统变量-path-新建,添加上面的工具包路径3.在cmd命令输入adb,检查是否配置成功(注意:重
阅读全文
摘要:adb无线连接真机注意:adb无线连接真机,pc端和手机端必须处于同一局域网一.usb连接真机,通过adb重置端口号adb tcpip 5555 端口号:5555为自定义(每次断开都要重置)二.通过adb连接手机的ip:55551.查看手机的ip地址设置-关于手机-状态信息-ip2.拔出usb数据线
阅读全文
摘要:adb连接安卓模拟器一.检查夜神nox_adb.exe的版本与本地的adb版本是否一致如果本地adb和夜神adb版本不一致,会相互查杀1.检查本地adb的版本在cmd命令行中输入:adb version,为1.0.41版本2.检查夜神中nox_adb.exe版本进入到夜神的安装包的bin目录下,按住
阅读全文
摘要:adb连接android真机 一.环境准备 1.usb数据线 2.电脑安装adb调试工具 3.开启开发者调试模式:设置-关于手机-版本号,连续点击7次版本 4.启用开发者选项模式:打开USB调试开关,同意调试信息,选择usb配置为MTP 二.使用adb命令检查是否连接上手机设备 1.在cmd命令输入
阅读全文
浙公网安备 33010602011771号