jenkins的RPC测试项目

source $HOME/.bash_profile

#参数化构建出来的tar包名,解压tar之后的路径名

ServerPackage=edsp-rpc-ServerPerf-$version-linux

Server=edsp-rpc-ServerPerf-$version

 

#打包

mvn clean install

 

#解压打出来的tar包

tar -xvf edsp-rpc-ServerPerf/target/$ServerPackage.tar.gz

 

#由于jenkins所在机器maven插件版本问题,无法自动创建logs目录,暂时手动创建

mkdir -p $Server/logs

 

#wrapper默认内存太大了,起不来,设置wrapper内存

for i in {5..22}

do

   sed -i "s/wrapper.java.additional.$i/#wrapper.java.additional.$i/g" $Server/etc/wrapper.conf

done

 

#启动provider服务

sh $Server/bin/rpc start

 

#解压jmeter目录

rm -rf apache-jmeter-3.1/*

unzip -o apache-jmeter-3.1.zip

 

#拷贝项目jar包和依赖jar包到jmeter

cp edsp-rpc-ServerPerf/target/$Server.jar apache-jmeter-3.1/lib/junit

cp edsp-rpc-ServerPerf/target/lib/* apache-jmeter-3.1/lib

 

#删除原有的jtl文件

rm -rf result/*

 

 

 

#启动另外三个provider,用于测试负载均衡和路由的功能,判断是否已经创建过目录,如果已经创建,则直接启动几个服务即可

if [ ! -d $Server/logs1 ]

then

   

#创建几个服务的日志目录

mkdir $Server/logs1

mkdir $Server/logs2

mkdir $Server/logs3

#新增三个RPC启动脚本,替换里面的wrapper文件等

cd $Server/bin

cp rpc rpc1

cp rpc rpc2

cp rpc rpc3

sed -i '40c APP_NAME="rpc1"' rpc1

sed -i '41c APP_LONG_NAME="ServerPerf1"' rpc1

sed -i '63c WRAPPER_CONF="$BASEDIR/etc/wrapper.conf1"' rpc1

sed -i '70c PIDDIR="$BASEDIR/logs1"' rpc1

sed -i '40c APP_NAME="rpc2"' rpc2

sed -i '41c APP_LONG_NAME="ServerPerf2"' rpc2

sed -i '63c WRAPPER_CONF="$BASEDIR/etc/wrapper.conf2"' rpc2

sed -i '70c PIDDIR="$BASEDIR/logs2"' rpc2

sed -i '40c APP_NAME="rpc3"' rpc3

sed -i '41c APP_LONG_NAME="ServerPerf3"' rpc3

sed -i '63c WRAPPER_CONF="$BASEDIR/etc/wrapper.conf3"' rpc3

sed -i '70c PIDDIR="$BASEDIR/logs3"' rpc3

cd ../..

#新增三个wrapper文件,替换里面的启动类和title等

cd $Server/etc

cp wrapper.conf wrapper.conf1

cp wrapper.conf wrapper.conf2

cp wrapper.conf wrapper.conf3

sed -i '57c wrapper.app.parameter.1=demo.RPCServerPerf1' wrapper.conf1

sed -i '95c wrapper.console.title=ServerPerf1' wrapper.conf1

sed -i '109c wrapper.ntservice.displayname=ServerPerf1' wrapper.conf1

sed -i '57c wrapper.app.parameter.1=demo.RPCServerPerf2' wrapper.conf2

sed -i '95c wrapper.console.title=ServerPerf2' wrapper.conf2

sed -i '109c wrapper.ntservice.displayname=ServerPerf2' wrapper.conf2

sed -i '57c wrapper.app.parameter.1=demo.RPCServerPerf3' wrapper.conf3

sed -i '95c wrapper.console.title=ServerPerf3' wrapper.conf3

sed -i '109c wrapper.ntservice.displayname=ServerPerf3' wrapper.conf3

cd ../..

 

fi

 

#启动三个server

sh $Server/bin/rpc1 start

sh $Server/bin/rpc2 start

sh $Server/bin/rpc3 start

 

 

 

#执行Junit测试用例

source $HOME/.bash_profile

 

cd edsp-rpc-ServerPerf

 

mvn test -Dtest=clustertolerance/CenterRetryTimes.java

sleep 40

mvn test -Dtest=clustertolerance/ConRetryTimes.java

sleep 30

mvn test -Dtest=clustertolerance/DefFailStrategy.java

sleep 30

mvn test -Dtest=clustertolerance/DefRetryTimes.java

sleep 30

mvn test -Dtest=clustertolerance/FailFastStrategy.java

sleep 50

mvn test -Dtest=clustertolerance/RetryTimesPriority.java

 

sleep 60

mvn test -Dtest=outtime/DefOutTime.java

sleep 60

mvn test -Dtest=outtime/OutTimeExcep.java

 

sleep 30

mvn test -Dtest=CommunicationAndSerialization/EdspJson.java

sleep 30

mvn test -Dtest=CommunicationAndSerialization/EdspString.java

sleep 30

mvn test -Dtest=CommunicationAndSerialization/Http.java

sleep 60

mvn test -Dtest=CommunicationAndSerialization/HttpJson.java

sleep 30

mvn test -Dtest=CommunicationAndSerialization/HttpString.java

 

sleep 40

mvn test -Dtest=VersionControl/ConPro.java

sleep 30

mvn test -Dtest=VersionControl/DifConGrou.java

sleep 30

mvn test -Dtest=VersionControl/DifConServiceID.java

sleep 30

mvn test -Dtest=VersionControl/DifConVer.java

sleep 30

mvn test -Dtest=VersionControl/NoVerGrou.java

sleep 30

mvn test -Dtest=VersionControl/TranDifGrou.java

sleep 30

mvn test -Dtest=VersionControl/TranDifServiceID.java

sleep 30

mvn test -Dtest=VersionControl/TranDifVer.java

 

sleep 30

mvn test -Dtest=NullEmptyMessage/ReceiveEmpty.java

sleep 30

mvn test -Dtest=NullEmptyMessage/ReceiveNull.java

sleep 30

mvn test -Dtest=NullEmptyMessage/SendEmpty.java

sleep 30

mvn test -Dtest=NullEmptyMessage/SendNull.java

 

cd ..

 

 

 

 

#执行jmeter测试计划

#由于jmeter命令无法停止,导致jenkins构建无法结束,问题暂时未找到解决方法,使用如下方法暂时规避问题

Case1=Coverage

Case2=DownGradeAllowFail1

Case3=DownGradeAllowFail2

Case4=DownGradeShield

Case5=FailStrategy

Case6=Limit

Case7=Limit_con

Case8=OutTime

Case9=QPS

Case10=LoadBalancing

Case11=Router_liuxw

Case12=Router_liuxw1

Case13=Router_batchEnable_liuxw

Case14=Router_batchEnable_liuxw1

 

for i in {1..14};do

   {

    sleep $[$i*200-70]

    echo "*****执行$i号测试计划******"

    sh apache-jmeter-3.1/bin/jmeter  -n -t JmxCase/`eval echo '$'Case${i}`.jmx -l result/`eval echo '$'Case${i}`.jtl

   } &

done

    sleep 2800

    echo "*****构建完成******"

    kill -term $$

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值