Guest User

Untitled

a guest
Jan 9th, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.30 KB | None | 0 0
  1. #!/bin/bash\
  2.  
  3. # Author : Arjun Kumbakkara
  4. # Copyright (c) 2k17, 6dTechnologies
  5. # Automates the Jmeter Test plan Execution and Clips the value Average Rate (which translates to Throughput aka TPS )
  6.  
  7. #PreRequisite: The JMX Test Plan (*.jmx) has to have the pattern ##-ValidToken-## (As Token expiration can occur any unmonitored timestamp)
  8. #__________________________________________________________
  9. #<elementProp name="" elementType="Header">
  10. #<stringProp name="Header.name">X-Authorization</stringProp>
  11. #<stringProp name="Header.value">12validatetoken12</stringProp>
  12. #</elementProp>
  13. #__________________________________________________________
  14.  
  15.  
  16. echo "Automated Test Plan Execution v0.1"
  17. echo "Below are the Preloaded JMX testplans."
  18. echo "__________________________________________________"
  19. echo " OPTION = 1 | FEATURE_API = Fetch Sim Assets"
  20. echo " OPTION = 2 | FEATURE_API = Fetch Home IMSI Range"
  21. echo " OPTION = 3 | FEATURE_API = Fetch MSISDN Range"
  22. echo " OPTION = 4 | FEATURE_API = Fetch Available Home IMSI"
  23. echo " OPTION = 5 | FEATURE_API = Fetch Available MSISDN"
  24. echo " OPTION = 6 | FEATURE_API = Fetch Sponsor"
  25. echo " OPTION = 7 | FEATURE_API = Fetch Available Sponsor IMSI"
  26. echo " OPTION = 8 | FEATURE_API = Fetch Rate Zone"
  27. echo " OPTION = 9 | FEATURE_API = Fetch Destination List"
  28. echo " OPTION = 10 | FEATURE_API = Fetch Roaming Profile"
  29. echo " OPTION = 11 | FEATURE_API = Fetch PDP Profile"
  30. echo "__________________________________________________"
  31. echo "Choose one as your input"
  32.  
  33. read -p "Choice:" feature
  34. if [[ $feature -eq 0 ]] ; then
  35. echo "ATTENTION: No Feature argument supplied"
  36. exit 0
  37. fi
  38. if [ "$feature" == "1" ]; then
  39. FEATURE="FETCH_ASSETS"
  40. elif [ "$feature" == "2" ]; then
  41. FEATURE="FETCH_HOME_IMSI_RANGE"
  42. elif [ "$feature" == "3" ]; then
  43. FEATURE="FETCH_MSISDN_RANGE"
  44. elif [ "$feature" == "4" ]; then
  45. FEATURE="FETCH_AVAILABLE_HOME_IMSI"
  46. elif [ "$feature" == "5" ]; then
  47. FEATURE="FETCH_AVAILABLE_MSISDN"
  48. elif [ "$feature" == "6" ]; then
  49. FEATURE="FETCH_SPONSOR"
  50. elif [ "$feature" == "7" ]; then
  51. FEATURE="FETCH_AVAILABLE_SPONSOR_IMSI"
  52. elif [ "$feature" == "8" ]; then
  53. FEATURE="FETCH_RATE_ZONE"
  54. elif [ "$feature" == "9" ]; then
  55. FEATURE="FETCH_DESTINATION_LIST"
  56. elif [ "$feature" == "10" ]; then
  57. FEATURE="FETCH_ROAMING_PROFILE"
  58. elif [ "$feature" == "11" ]; then
  59. FEATURE="FETCH_PDP_PROFILE"
  60. else
  61. echo "ATTENTION: UnIdentified Argument."
  62. exit 0
  63. fi
  64. echo "__________________________________________________"
  65. echo "Chosen Feature : $FEATURE"
  66. echo ""
  67. echo "Supply a valid Token for further processing"
  68. echo ""
  69. read -p "Valid Token:" token
  70. echo ""
  71. echo "Supplied valid Token : $token"
  72. echo "__________________________________________________"
  73. echo ""
  74. echo "Automated Test Plan Execution Started....."
  75. #cd /home/admin/JMETER/
  76. #echo $PWD
  77. RESULT_PATH=/opt/jmeter/JMETER/Result/
  78. echo "Generated JTL file----> $PWD"/"$FEATURE_LOG.jtl "
  79. echo ""
  80. echo "JMX File used: $FEATURE".jmx
  81. tokenValue="Bearer $token"
  82. echo ""
  83. echo "Token validation started..."
  84. LEN=$(echo ${#token})
  85. if [ $LEN -lt 100 ]; then
  86. echo "Invalid Token "
  87. exit 0
  88. else
  89. echo "Supplied token is length validated."
  90. fi
  91. echo ""
  92. echo "Finally Formed X-Authorization Header : Bearer $token"
  93. echo ""
  94. #Replacing token tag .
  95. #<stringProp name="Header.value">token.value.here</stringProp>
  96. sed -i s/12validatetoken12/$token/g "$FEATURE".jmx
  97.  
  98. if [ ! -f "$FEATURE".jmx ]
  99. then
  100. echo "FATAL ERROR: JMX File Missing."
  101. exit 0
  102. fi
  103. if [ -f "$RESULT_PATH$FEATURE"_LOG.jtl ]
  104. then
  105. rm "$RESULT_PATH$FEATURE"_LOG.jtl
  106. fi
  107. sh jmeter.sh -n -t "$FEATURE".jmx -l "$RESULT_PATH$FEATURE"_LOG.jtl
  108. echo "Test plan executed anf JTL File generated. "
  109. echo ""
  110. echo "Moving to AggregateReport generation."
  111. echo ""
  112. echo "Ignore the ERROR immediate to this printing "
  113. #$FILE = "$1"_LOG.txt
  114. if [ -f "$RESULT_PATH$FEATURE"_LOG.txt ]
  115. then
  116. rm "$RESULT_PATH$FEATURE"_LOG.txt
  117. fi
  118. sh JMeterPluginsCMD.sh --generate-csv "$RESULT_PATH$FEATURE"_LOG.txt --input-jtl "$RESULT_PATH$FEATURE"_LOG.jtl --plugin-type AggregateReport
  119. echo ""
  120. echo "AggregateReport generated : $RESULT_PATH$FEATURE"_LOG.txt
  121. echo "======================FULL REPORT PREVIEW=================================="
  122. cat "$RESULT_PATH$FEATURE"_LOG.txt
  123. echo "==========================================================================="
  124. echo ""
  125. echo "AggregateReport generated : $RESULT_PATH$FEATURE"_LOG.txt
  126. #FILET = "$1"_THROUGHPUT.txt
  127. if [ -f "$RESULT_PATH$FEATURE"_THROUGHPUT.txt ]
  128. then
  129. rm "$RESULT_PATH$FEATURE"_THROUGHPUT.txt
  130. fi
  131. echo "Resetting token tag in the JMX file..."
  132. #ReplaceValue=$(cat $FEATURE.jmx)
  133. #ReplaceValue=${ReplaceValue//##-ValidToken-##/$tokenValue}
  134. #ReplaceValue=${ReplaceValue//$tokenValue/##-ValidToken-##}
  135. sed -i s/$token/12validatetoken12/g "$FEATURE".jmx
  136. echo "Token Tag reset."
  137. echo ""
  138. #clippedFile ="$PWD/FEATURE_THROUGHPUT.txt"
  139. echo ">Throughput value is clipped into the below File. vi the below file to view details."
  140. echo "$RESULT_PATH$FEATURE"_THROUGHPUT.txt
  141. echo ""
  142. cut -d, -f11 < "$RESULT_PATH$FEATURE"_LOG.txt > "$RESULT_PATH$FEATURE"_THROUGHPUT.txt
  143. echo "Calculated Final Throughput :"
  144. cut -d, -f11 < "$RESULT_PATH$FEATURE"_LOG.txt
  145. echo ""
  146. echo "TestPlan Execution ended."
Add Comment
Please, Sign In to add comment