目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

1、linux获取动态ip或静态ip

1)virtualbox 加载linux虚拟机镜像文件,加载时重置全部网卡,加载后网络选择“桥接网络”–本机当前使用网卡;

2)ifconfig #获取linux虚拟机ip地址,记下HWADDR 值;

3)vi /etc/sysconfig/network-scripts/ifcfg-eth0 #将 HWADDR 修改为上步的记录下来的值,BOOTPROTO=dhcp,自动获取动态ip;

4)rm -rf /etc/udev/rules.d/70-persistent-net.rules #删除网络缓存文件;
5)service network restart #重启网络服务
6)ifconfig #验证是否自动获取了ip

7)如果在第5步报错failed,也可以设置使用静态ip,设置 ifcfg-eth0 里的 BOOTPROTO=static ,如下图,ip设置时,与主机当前wifi保持同一个网段。设置后进行第4步然后重启生效;

在这里插入图片描述

2、linux上jdk 安装

1)路径:/usr/local/ ,输入rz,上传jdk-8u201-linux-i586.tar.gz,执行:tar xvf jdk-8u201-linux-i586.tar.gz 解压,生成jdk文件夹;

2)执行 vi /etc/profile,配置环境变量,在profile 下面增加这段后,按esc,冒号,wq保存并退出:

export JAVA_HOME=/usr/local/jdk1.8.0_201
export JMETER_HOME=/export/servers/apache-jmeter-5.1.1      (jmeter配置,在/export/servers/路径下)
export JAVA_BIN=/usr/local/jdk1.8.0_201/bin
export CLASS_PATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_BIN:$JMETER_HOME/bin

3)执行 source /etc/profile 使配置文件生效;
4)执行java -v ,验证,返回jdk1.8,则安装配置成功;

3、linux上mysql 安装

1)先卸载系统自带的mysql,停止mysql:service mysql stop

2)查找以前是否装有mysql,命令:rpm -qa|grep -i mysql,可以看到mysql的几个包:

qt-mysql-4.6.2-26.el6_4.i686
perl-DBD-MySQL-4.013-3.el6.i686
MySQL-client-5.6.17-1.linux_glibc2.5.i386
MySQL-server-5.6.17-1.linux_glibc2.5.i386

依次删除上述四个包:rpm -e --nodeps 包名
删除老版本mysql的开发头文件和库:

rm -rf /usr/lib/mysql    rm -rf /usr/include/mysql
rm -rf /etc/my.cnf
rm -rf /var/lib/mysql

3)将新版本 mysql-5.6.27-linux-glibc2.5-i686.tar.gz上传到/usr/local/ 下,tar xvf mysql-5.6.27-linux-glibc2.5-i686.tar.gz,解压(如果解压过程中出现tar的报错,忽略)

4)然后重命名:mv mysql-5.6.27-linux-glibc2.5-i686 mysql

5)添加系统mysql组和mysql用户:

groupadd mysql
useradd mysql -g mysql

6)进入到解压完的mysql目录下,修改文件所有者和组为mysql , chown -R mysql:mysql ./*

7)安装数据库:执行命令 ./scripts/mysql_install_db --user=mysql

8)进入到mysql的support-files目录下,执行cp mysql.server /etc/init.d/mysql

9)启动mysql服务:执行命令service mysql start

10)执行命令:ps -ef | grep mysql 看到mysql服务说明启动成功

11)进入到mysql的bin目录下,设置密码:./mysqladmin -u root password '密码'

12)创建软链接,保证任何路径下都可以启动mysql:ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql

13)登录mysql,mysql -u root -p

14)对远程访问进行授权: grant all privileges on *.* to root@"%" identified by '123456' with grant option;

mysql linux下导入数据
导入(必须在mysql内部执行):在mysql命令行下:source xxx.sql
导出(mysql外部执行):mysqldump

导出整个数据库(包括数据库中的数据):

mysqldump -u username -p dbname > dbname.sql

导出数据库结构(不含数据):

mysqldump -u username -p -d dbname > dbname.sql

导出数据库中的某张数据表(包含数据):

mysqldump -u username -p dbname tablename > tablename.sql

导出数据库中的某张数据表的表结构(不含数据):

mysqldump -u username -p -d dbname tablename > tablename.sql

mysql官方客户端常用命令:

创建数据库:create database xxx;
查看所有数据库:show databases;
使用某个数据库:use xxx;
查看当前数据库下有什么表:show tables;
查看某个表的表结构:desc xxx;
退出:exit;

例如:
创建数据库,启动数据库服务,登录mysql(见上方第9、13步)后,在mysql内部,输入 create database oa

进入oa库,导入sql: use oa; 然后执行 source oa.sql;

4、linux上JMeter安装及参数优化

1)路径:/export/servers/ ,输入rz,上传apache-jmeter-5.1.1.zip,执行:unzip apache-jmeter-5.1.1.zip 解压,生成jmeter文件夹;

2)配置环境变量,参见二、linux上jdk 安装的环境变量配置步骤2,进到Jmeter 根目录下需要添加执行权限 chmod -R +x ./*

3)进入 jmeter文件夹,bin目录下:修改reportgenerator.properties 中 jmeter.reportgenerator.overall_granularity=1000(报表中数据展示间隔1秒);

4)修改控制台取样间隔的设置,bin下 jmeter.properties 中

summariser.interval=10,默认为30s,最低可修改为6s;
sampleresult.default.encoding=UTF-8  ,默认编码方式;修改bin下jmeter中,增加一行    HEAP="-Xms2g -Xmx2g -XX:MaxMetaspaceSize=256m"   

5、linux上tomcat部署

1)单项目部署:
仅一个项目时,将war包放到tomcat下webapps目录下,然后返回bin目录,执行:./startup.sh & tail -f ../logs/catalina.out 启动服务,然后去浏览器进入项目访问,就可以验证服务启动是否成功了。

2)多项目部署:
创建文件夹/export/apps,将项目的war包或其他格式压缩包 放入路径/app-pinter/pinter下,注意层级关系。/export/apps/app-oa/oa/WEB-INF等文件

复制tomcat为多个,重命名:

项目1:mv apache-tomcat-8.5.38 tomcat-pintercd tomcat-pinter/conf, vi server.xml, 非编辑模式下按“/”搜索appBase, 修改路径为/export/apps/app-pinter

项目2:mv apache-tomcat-8.5.38 tomcat-oacd tomcat-oa/conf, vi server.xml, 非编辑模式下按“/”搜索appBase, 修改路径为/export/apps/app-oa

然后修改项目2启动时所占用的端口号8080(HTTP/1.1)、8009(AJP/1.3)、8005(SHUTDOWN)为:8081、8010、8006

在这里插入图片描述

完成后,分别进入tomcat-**/bin,运行:./startup.sh & tail -f ../logs/catalina.out,即可启动各自对应的项目;

6、linux上jmeter脚本运行及报告生成

1)将windows上调试好的jmx脚本上传至home目录下新建文件夹test,(java请求,将jar包和依赖包文件夹放至jmeter下lib/ext/目录下);

2)单机器测试步骤: 执行./jmeter -n -t /home/test/TestPlan.jmx -l /home/test/result.jtl

-n:命令行模式,no-gui;
-t:jmx脚本路径;
-l:jtl结果文件存放路径

运行显示结果如下图,只展示total数据,不能区分接口

在这里插入图片描述

3)结果文件result.jtl 可以用sz /home/test/result.jtl 命令下载下来,使用jmeter查看聚合报告中的浏览打开;

4)在linux中分析结果生成报表:创建文件夹output,存放报表

执行:jmeter -g result.jtl -o output 将output中内容一起下下来,浏览器中打开可看到数据和趋势图表。

如果报找不到主机类错误,需配置一下hosts。步骤见下节

7、linux上JMeter 分布式压测

分布式测试步骤:举例—有压力机A(主)、B(辅), 被测机器C(启动tomcat服务)

1)需配host:vi /etc/hosts,在后面增加一行 192.168.0.12 hostname,否则启动jmeter server会报错!

2)在A、B上都部署 jmeter,路径相同。C上启动项目对应的tomcat服务。

3)如果是java脚本,将java脚本和相关lib包都放在A、B jmeter目录lib/ext下,将jmx上传到主压力机A上的/home/test(自己创建)/**.jmx下,如果有csv数据文件,传到A、B jmx脚本同路径下。

4)进入到jmeter目录下,将A、B j两台机器上的jmeter下所有文件都赋予可执行权限,chmod -R +x ./*

5)修改A jmeter/bin/jmeter.properties,将其中的remote_hosts修改为作为压力机的两台机器ip,remote_hosts=127.0.0.1,192.168.0.102,修改server.rmi.ssl.disable=true

6)在A、B上进入到jmeter的bin目录下,都启动nohup ./jmeter-server &,(后台启动jmeter-server服务)。

7)在主jmeter的机器上,执行 jmeter -n -t jdbc.jmx -l result.jtl -r(r 表示多台机器)

8)另一种不需要改配置文件:执行jmeter -n -t jdbc.jmx -l result.jtl -R 127.0.0.1,192.168.0.12(示例)

注意:
如果是http脚本,在controller的机器上有脚本文件即可;
如果是Java脚本,在每一台机器上都得有脚本文件和依赖的jar包;
必要时,修改jmx中的csv文件为绝对路径;
需要关闭两台压力机的防火墙:service iptables stop

两台压力机间互传文件 scp data.txt root@192.168.0.117:/home/test/,按enter回车后输入密码即可传送成功 ;

主压力机A上不要用ctrl+c或q手动退出运行,会导致B机器上停止不及时,如需停止,进入jmeter/bin下运行./shutdown.sh;

不同压力机上的数据会自动汇总到主压力机上;
如jmeter上两个线程组并发数各为10,两台压力机上最终统计的并发数为40;

完整版!企业级性能测试实战,速通Jmeter性能测试到分布式集群压测教程

下面是我整理的2025年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

人生最动人的风景,往往藏在最难攀爬的高处。当你觉得力竭时,请记住:每一次坚持都在雕刻更强大的自己。别问路有多远,只管迈步向前;别怕山有多高,向上攀登就是答案!

你体内沉睡着改变世界的力量!每个清晨都是改写命运的新机会,每次挫折都是精心包装的礼物。当全世界都在说"不可能"时,正是你证明"可能"的最好时机!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/913811.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/913811.shtml
英文地址,请注明出处:http://en.pswp.cn/news/913811.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 17 新特性笔记

Java 17 是一个 长期支持版本(LTS),于 2021 年 9 月发布,是继 Java 11 之后的重要里程碑。它整合了 Java 12~16 的众多特性,并引入新的语言增强、JDK API 改进、性能优化和安全增强。 Java 17 版本信息 发布时间&…

WWDC 25 风云再起:SwiftUI 7 Charts 心法从 2D 到 3D 的华丽蜕变

概述 在 iOS 开发这个波谲云诡的江湖中,SwiftUI 可谓是一位后起之秀,以其简洁明快的招式迅速在 UI 框架领域中崭露头角。 而其中的 Charts 框架,更是如同江湖中的 “数据可视化宝典”那样,让各位秃头少侠们能够轻松将复杂的数据转…

Vue+Element Plus 中按回车刷新页面问题排查与解决

VueElement Plus 中按回车刷新页面问题排查与解决原因分析解决方案方法一:阻止默认行为 submit.prevent方法二:只监听回车并触发搜索最终推荐写法如下:在使用 Vue 3 Element Plus 开发后台系统时,我们常常会通过 搭配 实现搜索功…

x86汇编语言入门基础(三)汇编指令篇3 位移运算

位移运算指令:SHL逻辑移位,SAR算术移位, ROR循环右移 1. SHL 逻辑移位 Shift Left, SHL代表向左移位,SHR代表向右移位 指令格式:shl op1, op2 目的操作数 op1:寄存器/内存地址源操作数 op2:寄…

Java-69 深入浅出 RPC 单体架构 垂直架构 分布式架构 微服务架构

点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) AI炼丹日志-29 - 字节跳动 DeerFlow 深度研究框斜体样式架 私有…

Android 如何阻止应用自升级

问题背景 1.打开PlayStore,然后登陆账户 2.退出应用过几分钟后,应用会自动更新到新版本 3.再次打开应用,问题即可复现 一联网进入playStore应用并且登录谷歌账号,退出几分钟,在进入,发现应用版本号更新了,应用进行了自我升级,关键是升级之后谷歌商店就用不了了,就…

Docker-构建镜像并实现LNMP架构

一、搭建LNMP基础配置1、制作Nginx镜像制作dockerfilevim dockerfileFROM centos:7 RUN rm -rf /etc/yum.repos.d/* RUN curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo RUN yum clean all RUN yum makecache RUN yum -y install z…

Python之--基本知识

基本输出语法结构: print(输出内容)print()函数完整的语法格出: print (value,...,sep,end\n,fileNone)只有字符串可以用连接基本输入语法结构: xinput(提示文字’)注意事项: 无论输入的数据是什么 x 的数据类型都是字符串类型示例:name input("Enter your na…

VS CodeC51 单片机开发环境搭建

文章目录前言1.安装插件2.创建EIDE项目(51单片机)3.配置工具链(第一次使用需要配置)4.编译与下载5.项目文件简介与串口调试工具6.推荐插件7.打包模板与导出模板8.51单片机串口无法识别问题前言 需要安装keil c51版本需要配置好C/…

国密算法(SM2/SM3/SM4)

文章目录国密算法(SM2/SM3/SM4)详解:从性能对比到Java手机号安全处理实战一、 国密核心算法简介二、 性能深度对比三、 Java实战:手机号的安全处理方案一:使用SM3哈希存储(推荐用于验证场景)方案…

从前端转go开发的学习路线

从前端开发转向 Go(Golang)后端开发,是一个非常可行也很实用的方向,特别是在做 高性能微服务、分布式系统、云原生(如Kubernetes) 等方面。以下是一份适合你(有多年开发经验的前端开发者&#x…

node或浏览器上传文件到阿里云OSS

阿里云配置 进入阿里云OSS Bucket 列表的某个 Bucket 仓库下,点击访问控制 RAM 创建用户 勾上 创建 AccessKey ID 和 AccessKey Secret 复制 AccessKey 信息 用文档保存 创建角色 选择云账号 复制 ARN 用文档保存,然后 新增权限 搜索 oss 选择 AliyunOSS…

26考研物理复试面试常见问答问题汇总,物理专业保研推免夏令营面试问题汇总,物理本科知识专业面试最全攻略!

还在为物理考研复试面试发愁?还在为物理招聘的专业面试抓狂?还在为即将到来的物理夏令营面试不知从何下手、翻遍了厚厚的教材却抓不住重点?别慌,接下来我会从「考研的物理复试经历」「物理面试攻略」「物理面试基础问答题汇总很全…

(5)机器学习小白入门 YOLOv:数据需求与图像不足应对策略

(1)机器学习小白入门YOLOv :从概念到实践 (2)机器学习小白入门 YOLOv:从模块优化到工程部署 (3)机器学习小白入门 YOLOv: 解锁图片分类新技能 (4)机器学习小白入门YOLOv :图片标注实操手册 (5)机器学习小白入门 YOLOv:…

百年制造名企,三菱重工引领“智”造新范式

日前,由深圳软件协会指导、法大大和信息侠联合出品的《制造行业合同数智化升级白皮书》(以下简称“白皮书”)正式发布,并首次提出 “电子签法律AI” 双轮驱动模型。在制造行业面临供应链协同、合规风控及全球化出海等多重挑战的当…

【学习笔记】计算机操作系统(七)—— 文件管理

第七章 文件管理 文章目录第七章 文件管理7.1 文件和文件系统7.1.1 数据项、记录和文件7.1.2 文件名和类型7.1.3 文件系统的层次结构7.1.4 文件操作7.2 文件的逻辑结构7.2.1 文件逻辑结构的类型7.2.2 顺序文件(Sequential File)7.2.3 记录寻址7.2.4 索引文件(Index File)7.2.5 …

基于PyQt5与深度学习的可视化水果识别系统(集成CNN, MobileNetV2, VGG16)

一、项目概述 大家好!今天我将分享一个我近期完成的深度学习项目——一个功能强大的、带图形化界面(GUI)的水果识别系统。该系统不仅能识别静态图片中的水果,还集成了模型训练、评估、数据增强等功能于一体,为深度学习…

k8s-服务发布基础

目录 Service的定义 核心定义 Service 的类型 关键组件与机制 工作流程示例 高级特性 Service工作原理 核心工作原理 标签选择器(Label Selector) Endpoints 对象 网络代理与负载均衡(kube-proxy) userspace 模式&#…

洛谷P1514 [NOIP 2010 提高组] 引水入城

洛谷P1514 [NOIP 2010 提高组] 引水入城 洛谷题目传送门 题目背景 NOIP2010 提高组 T4 题目描述 在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠。该国的行政区划十分特殊,刚好构成一个 NNN 行 MMM 列的矩形&#xff…

【unity小技巧】国内Unity6下载安装和一些Unity6新功能使用介绍

文章目录前言一、安装1、国外下载2、国内下载二、常用的新功能变化1、官方推荐使用inputsystem进行输入控制2、修复了InputSystem命名错误导致listen被遮挡的bug3、自带去除unity启动画面logo功能4、unity官方的behavior行为树插件5、linearVelocity代替过时的velocity方法6、随…