This commit is contained in:
2022-09-14 19:03:06 +00:00
parent f449d14ed4
commit 8517a976fb
3 changed files with 173 additions and 28 deletions

View File

@@ -1 +1 @@
./jmeter/bin/jmeter.bat -f -n -t stressdevops.jmx -l ./results/results.jtl -e -o ./results
./jmeter/bin/jmeter.bat -f -n -t stressdevops.jmx -l ./results/results.jtl -e -o ./results -JayServer=test.onayanova.com -JaySeedLevel=small -JayUserCount=10 -JayDuration=300 -JayProtocol=https

View File

@@ -12,18 +12,7 @@
</TestPlan>
<hashTree>
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments">
<elementProp name="host" elementType="Argument">
<stringProp name="Argument.name">host</stringProp>
<stringProp name="Argument.value">localhost</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="scheme" elementType="Argument">
<stringProp name="Argument.name">scheme</stringProp>
<stringProp name="Argument.value">http</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
<collectionProp name="Arguments.arguments"/>
</Arguments>
<hashTree/>
<ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="Localhost request defaults" enabled="false">
@@ -32,7 +21,7 @@
</elementProp>
<stringProp name="HTTPSampler.domain">localhost</stringProp>
<stringProp name="HTTPSampler.port">7575</stringProp>
<stringProp name="HTTPSampler.protocol">http</stringProp>
<stringProp name="HTTPSampler.protocol">${__P(ayProtocol)}</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
<stringProp name="HTTPSampler.path"></stringProp>
<stringProp name="HTTPSampler.concurrentPool">6</stringProp>
@@ -58,7 +47,7 @@
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="HTTPSampler.domain">3312.onayanova.com</stringProp>
<stringProp name="HTTPSampler.domain">${__P(ayServer)}</stringProp>
<stringProp name="HTTPSampler.port"></stringProp>
<stringProp name="HTTPSampler.protocol">https</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
@@ -72,7 +61,7 @@
<collectionProp name="HeaderManager.headers">
<elementProp name="Referer" elementType="Header">
<stringProp name="Header.name">Referer</stringProp>
<stringProp name="Header.value">${scheme}://3312.onayanova.com/login</stringProp>
<stringProp name="Header.value">${__P(ayProtocol)}://${__P(ayServer)}/login</stringProp>
</elementProp>
<elementProp name="Sec-Fetch-Site" elementType="Header">
<stringProp name="Header.name">Sec-Fetch-Site</stringProp>
@@ -84,7 +73,7 @@
</elementProp>
<elementProp name="Origin" elementType="Header">
<stringProp name="Header.name">Origin</stringProp>
<stringProp name="Header.value">${scheme}://3312.onayanova.com</stringProp>
<stringProp name="Header.value">${__P(ayProtocol)}://${__P(ayServer)}</stringProp>
</elementProp>
<elementProp name="DNT" elementType="Header">
<stringProp name="Header.name">DNT</stringProp>
@@ -162,7 +151,7 @@
</elementProp>
<elementProp name="Referer" elementType="Header">
<stringProp name="Header.name">Referer</stringProp>
<stringProp name="Header.value">${scheme}://test.helloayanova.com/login</stringProp>
<stringProp name="Header.value">${__P(ayProtocol)}://${__P(ayServer)}/login</stringProp>
</elementProp>
<elementProp name="Sec-Fetch-Site" elementType="Header">
<stringProp name="Header.name">Sec-Fetch-Site</stringProp>
@@ -174,7 +163,7 @@
</elementProp>
<elementProp name="Origin" elementType="Header">
<stringProp name="Header.name">Origin</stringProp>
<stringProp name="Header.value">${scheme}://test.helloayanova.com</stringProp>
<stringProp name="Header.value">${__P(ayProtocol)}://${__P(ayServer)}</stringProp>
</elementProp>
<elementProp name="DNT" elementType="Header">
<stringProp name="Header.name">DNT</stringProp>
@@ -234,7 +223,7 @@
<collectionProp name="Arguments.arguments">
<elementProp name="" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">false</boolProp>
<stringProp name="Argument.value">{&quot;seedLevel&quot;:&quot;small&quot;,&quot;timeZoneOffset&quot;:-7,&quot;e2e&quot;:false,&quot;forceEmail&quot;:null,&quot;appendPassword&quot;:null}</stringProp>
<stringProp name="Argument.value">{&quot;seedLevel&quot;:&quot;${__P(aySeedLevel)}&quot;,&quot;timeZoneOffset&quot;:-7,&quot;e2e&quot;:false,&quot;forceEmail&quot;:null,&quot;appendPassword&quot;:null}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
@@ -302,7 +291,7 @@
</hashTree>
<LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop and create test users" enabled="true">
<boolProp name="LoopController.continue_forever">true</boolProp>
<stringProp name="LoopController.loops">60</stringProp>
<stringProp name="LoopController.loops">${__P(ayUserCount)}</stringProp>
</LoopController>
<hashTree>
<CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="Counter to generate user login names" enabled="true">
@@ -348,12 +337,12 @@
<boolProp name="LoopController.continue_forever">false</boolProp>
<intProp name="LoopController.loops">-1</intProp>
</elementProp>
<stringProp name="ThreadGroup.num_threads">40</stringProp>
<stringProp name="ThreadGroup.ramp_time">40</stringProp>
<stringProp name="ThreadGroup.num_threads">${__P(ayUserCount)}</stringProp>
<stringProp name="ThreadGroup.ramp_time">${__P(ayUserCount)}</stringProp>
<longProp name="ThreadGroup.start_time">1370726934000</longProp>
<longProp name="ThreadGroup.end_time">1370726934000</longProp>
<boolProp name="ThreadGroup.scheduler">true</boolProp>
<stringProp name="ThreadGroup.duration">28800</stringProp>
<stringProp name="ThreadGroup.duration">${__P(ayDuration)}</stringProp>
<stringProp name="ThreadGroup.delay"></stringProp>
<boolProp name="ThreadGroup.same_user_on_next_iteration">false</boolProp>
<boolProp name="ThreadGroup.delayedStart">true</boolProp>
@@ -398,7 +387,7 @@
</elementProp>
<elementProp name="Referer" elementType="Header">
<stringProp name="Header.name">Referer</stringProp>
<stringProp name="Header.value">${scheme}://3312.onayanova.com/login</stringProp>
<stringProp name="Header.value">${__P(ayProtocol)}://${__P(ayServer)}/login</stringProp>
</elementProp>
<elementProp name="Sec-Fetch-Site" elementType="Header">
<stringProp name="Header.name">Sec-Fetch-Site</stringProp>
@@ -410,7 +399,7 @@
</elementProp>
<elementProp name="Origin" elementType="Header">
<stringProp name="Header.name">Origin</stringProp>
<stringProp name="Header.value">${scheme}://3312.onayanova.com</stringProp>
<stringProp name="Header.value">${__P(ayProtocol)}://${__P(ayServer)}</stringProp>
</elementProp>
<elementProp name="DNT" elementType="Header">
<stringProp name="Header.name">DNT</stringProp>
@@ -462,7 +451,7 @@
</elementProp>
<elementProp name="Referer" elementType="Header">
<stringProp name="Header.name">Referer</stringProp>
<stringProp name="Header.value">${scheme}://3312.onayanova.com/home-memos</stringProp>
<stringProp name="Header.value">${__P(ayProtocol)}://${__P(ayServer)}/home-memos</stringProp>
</elementProp>
<elementProp name="Sec-Fetch-Site" elementType="Header">
<stringProp name="Header.name">Sec-Fetch-Site</stringProp>
@@ -474,7 +463,7 @@
</elementProp>
<elementProp name="Origin" elementType="Header">
<stringProp name="Header.name">Origin</stringProp>
<stringProp name="Header.value">${scheme}://3312.onayanova.com</stringProp>
<stringProp name="Header.value">${__P(ayProtocol)}://${__P(ayServer)}</stringProp>
</elementProp>
<elementProp name="DNT" elementType="Header">
<stringProp name="Header.name">DNT</stringProp>

156
load/user.properties Normal file
View File

@@ -0,0 +1,156 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to you under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Sample user.properties file
#---------------------------------------------------------------------------
# Classpath configuration
#---------------------------------------------------------------------------
#
# List of paths (separated by ;) to search for additional JMeter plugin classes,
# for example new GUI elements and samplers.
# A path item can either be a jar file or a directory.
# Any jar file in such a directory will be automatically included,
# jar files in sub directories are ignored.
# The given value is in addition to any jars found in the lib/ext directory.
# Do not use this for utility or plugin dependency jars.
#search_paths=/app1/lib;/app2/lib
# List of paths that JMeter will search for utility and plugin dependency classes.
# Use your platform path separator (java.io.File.pathSeparatorChar in Java) to separate multiple paths.
# A path item can either be a jar file or a directory.
# Any jar file in such a directory will be automatically included,
# jar files in sub directories are ignored.
# The given value is in addition to any jars found in the lib directory.
# All entries will be added to the class path of the system class loader
# and also to the path of the JMeter internal loader.
# Paths with spaces may cause problems for the JVM
#Example for windows (; separator)
#user.classpath=../classes;../lib;../app1/jar1.jar;../app2/jar2.jar
#Example for linux (:separator)
#user.classpath=../classes:../lib:../app1/jar1.jar:../app2/jar2.jar
# List of paths (separated by ;) that JMeter will search for utility
# and plugin dependency classes.
# A path item can either be a jar file or a directory.
# Any jar file in such a directory will be automatically included,
# jar files in sub directories are ignored.
# The given value is in addition to any jars found in the lib directory
# or given by the user.classpath property.
# All entries will be added to the path of the JMeter internal loader only.
# For plugin dependencies using plugin_dependency_paths should be preferred over
# user.classpath.
#plugin_dependency_paths=../dependencies/lib;../app1/jar1.jar;../app2/jar2.jar
#---------------------------------------------------------------------------
# Reporting configuration
#---------------------------------------------------------------------------
# Configure this property to change the report title
#jmeter.reportgenerator.report_title=Apache JMeter Dashboard
# Used to generate a report based on a date range if needed
# Default date format (from SimpleDateFormat Java API and Locale.ENGLISH)
#jmeter.reportgenerator.date_format=yyyyMMddHHmmss
# Date range start date using date_format property
#jmeter.reportgenerator.start_date=
# Date range end date using date_format property
#jmeter.reportgenerator.end_date=
# Change this parameter if you want to change the granularity of over time graphs.
# Set to 60000 ms by default
#jmeter.reportgenerator.overall_granularity=60000
# Sets the size of the sliding window used by percentile evaluation.
# Caution : higher value provides a better accuracy but needs more memory.
#jmeter.reportgenerator.statistic_window = 20000
# Change this parameter if you want to change the granularity of Response time distribution
# Set to 100 ms by default
#jmeter.reportgenerator.graph.responseTimeDistribution.property.set_granularity=100
# Change this parameter if you want to keep only some samples.
# Regular Expression which Indicates which samples to keep for graphs and statistics generation.
# Empty value means no filtering
#jmeter.reportgenerator.sample_filter=
# Change this parameter if you want to override the APDEX satisfaction threshold.
# Set to 500 ms by default
#jmeter.reportgenerator.apdex_satisfied_threshold=500
# Change this parameter if you want to override the APDEX tolerance threshold.
# Set to 1500 ms by default
#jmeter.reportgenerator.apdex_tolerated_threshold=1500
# Indicates which graph series are filtered (regular expression)
# In the below example we filter on Search and Order samples
# Note that the end of the pattern should always include (-success|-failure)?$
# TransactionsPerSecondGraphConsumer suffixes transactions with "-success" or "-failure" depending
# on the result
#jmeter.reportgenerator.exporter.html.series_filter=^(Search|Order)(-success|-failure)?$
# Indicates whether only controller samples are displayed on graphs that support it.
#jmeter.reportgenerator.exporter.html.show_controllers_only=false
# This property is used by menu item "Export transactions for report"
# It is used to select which transactions by default will be exported
#jmeter.reportgenerator.exported_transactions_pattern=[a-zA-Z0-9_\\-{}\\$\\.]*[-_][0-9]*
## Custom graph definition
#jmeter.reportgenerator.graph.custom_mm_hit.classname=org.apache.jmeter.report.processor.graph.impl.CustomGraphConsumer
#jmeter.reportgenerator.graph.custom_mm_hit.title=Graph Title
#jmeter.reportgenerator.graph.custom_mm_hit.property.set_Y_Axis=Response Time (ms)
#jmeter.reportgenerator.graph.custom_mm_hit.property.set_X_Axis=Over Time
#jmeter.reportgenerator.graph.custom_mm_hit.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
#jmeter.reportgenerator.graph.custom_mm_hit.property.setSampleVariableName=VarName
#jmeter.reportgenerator.graph.custom_mm_hit.property.setContentMessage=Message for graph point label
########################################################################
################## DISTRIBUTED TESTING CONFIGURATION ##################
########################################################################
# Type of keystore : JKS
#
#server.rmi.ssl.keystore.type=JKS
#
# Keystore file that contains private key
#
#server.rmi.ssl.keystore.file=rmi_keystore.jks
#
# Password of keystore
#
#server.rmi.ssl.keystore.password=changeit
#
# Key alias
#
#server.rmi.ssl.keystore.alias=rmi
#
# Type of truststore : JKS
#
#server.rmi.ssl.truststore.type=JKS
#
# Keystore file that contains certificate
#
#server.rmi.ssl.truststore.file=rmi_keystore.jks
#
# Password of Trust store
#
#server.rmi.ssl.truststore.password=changeit
#
# Set this if you don't want to use SSL for RMI
#
#server.rmi.ssl.disable=false