目錄:導讀
- 前言
- 一、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-pinter
,cd tomcat-pinter/conf
, vi server.xml
, 非編輯模式下按“/”搜索appBase, 修改路徑為/export/apps/app-pinter
;
項目2:mv apache-tomcat-8.5.38 tomcat-oa
,cd 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性能測試
九、總結(尾部小驚喜)
人生最動人的風景,往往藏在最難攀爬的高處。當你覺得力竭時,請記住:每一次堅持都在雕刻更強大的自己。別問路有多遠,只管邁步向前;別怕山有多高,向上攀登就是答案!
你體內沉睡著改變世界的力量!每個清晨都是改寫命運的新機會,每次挫折都是精心包裝的禮物。當全世界都在說"不可能"時,正是你證明"可能"的最好時機!