Created
March 29, 2021 13:24
-
-
Save JuanMorenoDeveloper/29aaf0b0996b1e6b2a2816bd94d2d51e to your computer and use it in GitHub Desktop.
Sample JMeter Script for Genexus Applications
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.4"> | |
<hashTree> | |
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true"> | |
<stringProp name="TestPlan.comments"></stringProp> | |
<boolProp name="TestPlan.functional_mode">false</boolProp> | |
<boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp> | |
<boolProp name="TestPlan.serialize_threadgroups">false</boolProp> | |
<elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="Variables definidas por el Usuario" enabled="true"> | |
<collectionProp name="Arguments.arguments"/> | |
</elementProp> | |
<stringProp name="TestPlan.user_define_classpath"></stringProp> | |
</TestPlan> | |
<hashTree> | |
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> | |
<collectionProp name="Arguments.arguments"> | |
<elementProp name="contextApp" elementType="Argument"> | |
<stringProp name="Argument.name">contextApp</stringProp> | |
<stringProp name="Argument.value">APP</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
<elementProp name="serverName" elementType="Argument"> | |
<stringProp name="Argument.name">serverName</stringProp> | |
<stringProp name="Argument.value">IP</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
<elementProp name="port" elementType="Argument"> | |
<stringProp name="Argument.name">port</stringProp> | |
<stringProp name="Argument.value">PORT</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
<elementProp name="encodingApp" elementType="Argument"> | |
<stringProp name="Argument.name">encodingApp</stringProp> | |
<stringProp name="Argument.value">utf-8</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
<elementProp name="username" elementType="Argument"> | |
<stringProp name="Argument.name">username</stringProp> | |
<stringProp name="Argument.value">USER</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
<elementProp name="password" elementType="Argument"> | |
<stringProp name="Argument.name">password</stringProp> | |
<stringProp name="Argument.value">PASSWORD</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
</collectionProp> | |
</Arguments> | |
<hashTree/> | |
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Login" enabled="true"> | |
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp> | |
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Controlador Bucle" enabled="true"> | |
<boolProp name="LoopController.continue_forever">false</boolProp> | |
<stringProp name="LoopController.loops">1</stringProp> | |
</elementProp> | |
<stringProp name="ThreadGroup.num_threads">1</stringProp> | |
<stringProp name="ThreadGroup.ramp_time">1</stringProp> | |
<boolProp name="ThreadGroup.scheduler">false</boolProp> | |
<stringProp name="ThreadGroup.duration"></stringProp> | |
<stringProp name="ThreadGroup.delay"></stringProp> | |
<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp> | |
</ThreadGroup> | |
<hashTree> | |
<CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true"> | |
<collectionProp name="CookieManager.cookies"/> | |
<boolProp name="CookieManager.clearEachIteration">true</boolProp> | |
<boolProp name="CookieManager.controlledByThreadGroup">false</boolProp> | |
</CookieManager> | |
<hashTree/> | |
<ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true"> | |
<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">${serverName}</stringProp> | |
<stringProp name="HTTPSampler.port">${port}</stringProp> | |
<stringProp name="HTTPSampler.protocol">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding">${encodingApp}</stringProp> | |
<stringProp name="HTTPSampler.path"></stringProp> | |
<stringProp name="HTTPSampler.concurrentPool">6</stringProp> | |
<stringProp name="HTTPSampler.connect_timeout"></stringProp> | |
<stringProp name="HTTPSampler.response_timeout"></stringProp> | |
</ConfigTestElement> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Select Login Type" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true"> | |
<collectionProp name="Arguments.arguments"/> | |
</elementProp> | |
<stringProp name="HTTPSampler.domain"></stringProp> | |
<stringProp name="HTTPSampler.port"></stringProp> | |
<stringProp name="HTTPSampler.protocol"></stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">/${contextApp}/servlet/login</stringProp> | |
<stringProp name="HTTPSampler.method">GET</stringProp> | |
<boolProp name="HTTPSampler.follow_redirects">true</boolProp> | |
<boolProp name="HTTPSampler.auto_redirects">false</boolProp> | |
<boolProp name="HTTPSampler.use_keepalive">true</boolProp> | |
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> | |
<stringProp name="HTTPSampler.embedded_url_re"></stringProp> | |
<stringProp name="HTTPSampler.connect_timeout"></stringProp> | |
<stringProp name="HTTPSampler.response_timeout"></stringProp> | |
</HTTPSamplerProxy> | |
<hashTree> | |
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true"> | |
<collectionProp name="HeaderManager.headers"> | |
<elementProp name="Accept-Language" elementType="Header"> | |
<stringProp name="Header.name">Accept-Language</stringProp> | |
<stringProp name="Header.value">es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3</stringProp> | |
</elementProp> | |
<elementProp name="Upgrade-Insecure-Requests" elementType="Header"> | |
<stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp> | |
<stringProp name="Header.value">1</stringProp> | |
</elementProp> | |
<elementProp name="Cache-Control" elementType="Header"> | |
<stringProp name="Header.name">Cache-Control</stringProp> | |
<stringProp name="Header.value">max-age=0</stringProp> | |
</elementProp> | |
<elementProp name="Accept-Encoding" elementType="Header"> | |
<stringProp name="Header.name">Accept-Encoding</stringProp> | |
<stringProp name="Header.value">gzip, deflate</stringProp> | |
</elementProp> | |
<elementProp name="User-Agent" elementType="Header"> | |
<stringProp name="Header.name">User-Agent</stringProp> | |
<stringProp name="Header.value">Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0</stringProp> | |
</elementProp> | |
<elementProp name="Accept" elementType="Header"> | |
<stringProp name="Header.name">Accept</stringProp> | |
<stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp> | |
</elementProp> | |
</collectionProp> | |
</HeaderManager> | |
<hashTree/> | |
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="true"> | |
<stringProp name="RegexExtractor.useHeaders">false</stringProp> | |
<stringProp name="RegexExtractor.refname">GXState</stringProp> | |
<stringProp name="RegexExtractor.regex">name="GXState" value='(.*?)'</stringProp> | |
<stringProp name="RegexExtractor.template">$1$</stringProp> | |
<stringProp name="RegexExtractor.default">NOT_FOUND</stringProp> | |
<stringProp name="RegexExtractor.match_number">1</stringProp> | |
</RegexExtractor> | |
<hashTree/> | |
</hashTree> | |
<JSR223Sampler guiclass="TestBeanGUI" testclass="JSR223Sampler" testname="Encrypt gxajaxEvt, and generate gx-nocache" enabled="true"> | |
<stringProp name="cacheKey">true</stringProp> | |
<stringProp name="filename"></stringProp> | |
<stringProp name="parameters"></stringProp> | |
<stringProp name="script">import com.jayway.jsonpath.JsonPath | |
import java.nio.charset.StandardCharsets | |
import java.util.Arrays | |
import org.bouncycastle.crypto.BufferedBlockCipher | |
import org.bouncycastle.crypto.InvalidCipherTextException | |
import org.bouncycastle.crypto.engines.RijndaelEngine | |
import org.bouncycastle.crypto.params.KeyParameter | |
import org.bouncycastle.util.encoders.Hex | |
import org.apache.jmeter.threads.JMeterContextService | |
import org.apache.jmeter.threads.JMeterContext | |
import org.apache.jmeter.threads.JMeterVariables | |
String gxState = vars.get('GXState') | |
String gxAjaxKey = JsonPath.read(gxState,'$.GX_AJAX_KEY') | |
byte[] input = Arrays.copyOf('gxajaxEvt'.getBytes(StandardCharsets.UTF_8), 16) | |
RijndaelEngine engine = new RijndaelEngine(128) | |
KeyParameter key = new KeyParameter(Hex.decode(gxAjaxKey)) | |
BufferedBlockCipher cipher = new BufferedBlockCipher(engine) | |
cipher.init(true, key) | |
byte[] out = new byte[16] | |
int length = cipher.processBytes(input, 0, 16, out, 0) | |
cipher.doFinal(out, length) | |
String encryptedOutput= Hex.toHexString(out) | |
log.info 'gx.sec.encrypt("gxajaxEvt")='+encryptedOutput | |
String gxNoCache = String.valueOf(System.currentTimeMillis()) | |
log.info 'gx-no-cache='+gxNoCache | |
vars.put('gxajaxEvt', encryptedOutput) | |
vars.put('gxNoCache', gxNoCache) | |
</stringProp> | |
<stringProp name="scriptLanguage">groovy</stringProp> | |
</JSR223Sampler> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get Login Login Menu" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true"> | |
<collectionProp name="Arguments.arguments"> | |
<elementProp name="vUSUARIOID" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.name">vUSUARIOID</stringProp> | |
<stringProp name="Argument.value">${username}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
</elementProp> | |
<elementProp name="vPASSWORD" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.name">vPASSWORD</stringProp> | |
<stringProp name="Argument.value">${password}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
</elementProp> | |
<elementProp name="vMENU" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.name">vMENU</stringProp> | |
<stringProp name="Argument.value"></stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
</elementProp> | |
<elementProp name="BTNLOGIN" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.name">BTNLOGIN</stringProp> | |
<stringProp name="Argument.value">Login</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
</elementProp> | |
<elementProp name="BTNCONFIRMAR" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.name">BTNCONFIRMAR</stringProp> | |
<stringProp name="Argument.value">Confirmar</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
</elementProp> | |
<elementProp name="GXState" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">true</boolProp> | |
<stringProp name="Argument.name">GXState</stringProp> | |
<stringProp name="Argument.value">${GXState}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
</elementProp> | |
</collectionProp> | |
</elementProp> | |
<stringProp name="HTTPSampler.domain"></stringProp> | |
<stringProp name="HTTPSampler.port"></stringProp> | |
<stringProp name="HTTPSampler.protocol"></stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">/${contextApp}/servlet/login?${gxajaxEvt},gx-no-cache=${gxNoCache}</stringProp> | |
<stringProp name="HTTPSampler.method">POST</stringProp> | |
<boolProp name="HTTPSampler.follow_redirects">true</boolProp> | |
<boolProp name="HTTPSampler.auto_redirects">false</boolProp> | |
<boolProp name="HTTPSampler.use_keepalive">true</boolProp> | |
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> | |
<stringProp name="HTTPSampler.embedded_url_re"></stringProp> | |
<stringProp name="HTTPSampler.connect_timeout"></stringProp> | |
<stringProp name="HTTPSampler.response_timeout"></stringProp> | |
</HTTPSamplerProxy> | |
<hashTree> | |
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="Gestor de Cabecera HTTP" enabled="true"> | |
<collectionProp name="HeaderManager.headers"> | |
<elementProp name="Referer" elementType="Header"> | |
<stringProp name="Header.name">Referer</stringProp> | |
<stringProp name="Header.value">http://${serverName}:${port}/${contextApp}/servlet/login</stringProp> | |
</elementProp> | |
<elementProp name="Accept-Language" elementType="Header"> | |
<stringProp name="Header.name">Accept-Language</stringProp> | |
<stringProp name="Header.value">es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3</stringProp> | |
</elementProp> | |
<elementProp name="Origin" elementType="Header"> | |
<stringProp name="Header.name">Origin</stringProp> | |
<stringProp name="Header.value">http://${serverName}:${port}</stringProp> | |
</elementProp> | |
<elementProp name="GxAjaxRequest" elementType="Header"> | |
<stringProp name="Header.name">GxAjaxRequest</stringProp> | |
<stringProp name="Header.value">1</stringProp> | |
</elementProp> | |
<elementProp name="Content-Type" elementType="Header"> | |
<stringProp name="Header.name">Content-Type</stringProp> | |
<stringProp name="Header.value">application/x-www-form-urlencoded</stringProp> | |
</elementProp> | |
<elementProp name="Accept-Encoding" elementType="Header"> | |
<stringProp name="Header.name">Accept-Encoding</stringProp> | |
<stringProp name="Header.value">gzip, deflate</stringProp> | |
</elementProp> | |
<elementProp name="User-Agent" elementType="Header"> | |
<stringProp name="Header.name">User-Agent</stringProp> | |
<stringProp name="Header.value">Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0</stringProp> | |
</elementProp> | |
<elementProp name="Accept" elementType="Header"> | |
<stringProp name="Header.name">Accept</stringProp> | |
<stringProp name="Header.value">*/*</stringProp> | |
</elementProp> | |
</collectionProp> | |
</HeaderManager> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="-2034622273">TEXTBLOCKMENU</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.custom_message"></stringProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<JSR223Sampler guiclass="TestBeanGUI" testclass="JSR223Sampler" testname="Encrypt gxajaxEvt, and generate gx-nocache" enabled="true"> | |
<stringProp name="cacheKey">true</stringProp> | |
<stringProp name="filename"></stringProp> | |
<stringProp name="parameters"></stringProp> | |
<stringProp name="script">import com.jayway.jsonpath.JsonPath | |
import java.nio.charset.StandardCharsets | |
import java.util.Arrays | |
import org.bouncycastle.crypto.BufferedBlockCipher | |
import org.bouncycastle.crypto.InvalidCipherTextException | |
import org.bouncycastle.crypto.engines.RijndaelEngine | |
import org.bouncycastle.crypto.params.KeyParameter | |
import org.bouncycastle.util.encoders.Hex | |
import org.apache.jmeter.threads.JMeterContextService | |
import org.apache.jmeter.threads.JMeterContext | |
import org.apache.jmeter.threads.JMeterVariables | |
String gxState = vars.get('GXState') | |
String gxAjaxKey = JsonPath.read(gxState,'$.GX_AJAX_KEY') | |
byte[] input = Arrays.copyOf('gxajaxEvt'.getBytes(StandardCharsets.UTF_8), 16) | |
RijndaelEngine engine = new RijndaelEngine(128) | |
KeyParameter key = new KeyParameter(Hex.decode(gxAjaxKey)) | |
BufferedBlockCipher cipher = new BufferedBlockCipher(engine) | |
cipher.init(true, key) | |
byte[] out = new byte[16] | |
int length = cipher.processBytes(input, 0, 16, out, 0) | |
cipher.doFinal(out, length) | |
String encryptedOutput= Hex.toHexString(out) | |
log.info 'gx.sec.encrypt("gxajaxEvt")='+encryptedOutput | |
String gxNoCache = String.valueOf(System.currentTimeMillis()) | |
log.info 'gx-no-cache='+gxNoCache | |
vars.put('gxajaxEvt', encryptedOutput) | |
vars.put('gxNoCache', gxNoCache) | |
</stringProp> | |
<stringProp name="scriptLanguage">groovy</stringProp> | |
</JSR223Sampler> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Do Login" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true"> | |
<collectionProp name="Arguments.arguments"> | |
<elementProp name="vUSUARIOID" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.name">vUSUARIOID</stringProp> | |
<stringProp name="Argument.value">${username}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
</elementProp> | |
<elementProp name="vPASSWORD" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.name">vPASSWORD</stringProp> | |
<stringProp name="Argument.value">${password}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
</elementProp> | |
<elementProp name="vMENU" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.name">vMENU</stringProp> | |
<stringProp name="Argument.value">15</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
</elementProp> | |
<elementProp name="BTNLOGIN" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.name">BTNLOGIN</stringProp> | |
<stringProp name="Argument.value">Login</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
</elementProp> | |
<elementProp name="BTNCONFIRMAR" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.name">BTNCONFIRMAR</stringProp> | |
<stringProp name="Argument.value">Confirmar</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
</elementProp> | |
<elementProp name="GXState" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">true</boolProp> | |
<stringProp name="Argument.name">GXState</stringProp> | |
<stringProp name="Argument.value">${GXState}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
</elementProp> | |
</collectionProp> | |
</elementProp> | |
<stringProp name="HTTPSampler.domain"></stringProp> | |
<stringProp name="HTTPSampler.port"></stringProp> | |
<stringProp name="HTTPSampler.protocol"></stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">/${contextApp}/servlet/login?${gxajaxEvt},gx-no-cache=${gxNoCache}</stringProp> | |
<stringProp name="HTTPSampler.method">POST</stringProp> | |
<boolProp name="HTTPSampler.follow_redirects">true</boolProp> | |
<boolProp name="HTTPSampler.auto_redirects">false</boolProp> | |
<boolProp name="HTTPSampler.use_keepalive">true</boolProp> | |
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> | |
<stringProp name="HTTPSampler.embedded_url_re"></stringProp> | |
<stringProp name="HTTPSampler.connect_timeout"></stringProp> | |
<stringProp name="HTTPSampler.response_timeout"></stringProp> | |
</HTTPSamplerProxy> | |
<hashTree> | |
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="Gestor de Cabecera HTTP" enabled="true"> | |
<collectionProp name="HeaderManager.headers"> | |
<elementProp name="Referer" elementType="Header"> | |
<stringProp name="Header.name">Referer</stringProp> | |
<stringProp name="Header.value">http://${serverName}:${port}/${contextApp}/servlet/login</stringProp> | |
</elementProp> | |
<elementProp name="Accept-Language" elementType="Header"> | |
<stringProp name="Header.name">Accept-Language</stringProp> | |
<stringProp name="Header.value">es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3</stringProp> | |
</elementProp> | |
<elementProp name="Origin" elementType="Header"> | |
<stringProp name="Header.name">Origin</stringProp> | |
<stringProp name="Header.value">http://${serverName}:${port}</stringProp> | |
</elementProp> | |
<elementProp name="GxAjaxRequest" elementType="Header"> | |
<stringProp name="Header.name">GxAjaxRequest</stringProp> | |
<stringProp name="Header.value">1</stringProp> | |
</elementProp> | |
<elementProp name="Content-Type" elementType="Header"> | |
<stringProp name="Header.name">Content-Type</stringProp> | |
<stringProp name="Header.value">application/x-www-form-urlencoded</stringProp> | |
</elementProp> | |
<elementProp name="Accept-Encoding" elementType="Header"> | |
<stringProp name="Header.name">Accept-Encoding</stringProp> | |
<stringProp name="Header.value">gzip, deflate</stringProp> | |
</elementProp> | |
<elementProp name="User-Agent" elementType="Header"> | |
<stringProp name="Header.name">User-Agent</stringProp> | |
<stringProp name="Header.value">Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0</stringProp> | |
</elementProp> | |
<elementProp name="Accept" elementType="Header"> | |
<stringProp name="Header.name">Accept</stringProp> | |
<stringProp name="Header.value">*/*</stringProp> | |
</elementProp> | |
</collectionProp> | |
</HeaderManager> | |
<hashTree/> | |
</hashTree> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Welcome Page" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true"> | |
<collectionProp name="Arguments.arguments"/> | |
</elementProp> | |
<stringProp name="HTTPSampler.domain"></stringProp> | |
<stringProp name="HTTPSampler.port"></stringProp> | |
<stringProp name="HTTPSampler.protocol"></stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">/${contextApp}/servlet/bienvenida</stringProp> | |
<stringProp name="HTTPSampler.method">GET</stringProp> | |
<boolProp name="HTTPSampler.follow_redirects">true</boolProp> | |
<boolProp name="HTTPSampler.auto_redirects">false</boolProp> | |
<boolProp name="HTTPSampler.use_keepalive">true</boolProp> | |
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> | |
<stringProp name="HTTPSampler.embedded_url_re"></stringProp> | |
<stringProp name="HTTPSampler.connect_timeout"></stringProp> | |
<stringProp name="HTTPSampler.response_timeout"></stringProp> | |
</HTTPSamplerProxy> | |
<hashTree> | |
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="Gestor de Cabecera HTTP" enabled="true"> | |
<collectionProp name="HeaderManager.headers"> | |
<elementProp name="Referer" elementType="Header"> | |
<stringProp name="Header.name">Referer</stringProp> | |
<stringProp name="Header.value">http://${serverName}:${port}/${contextApp}/servlet/login</stringProp> | |
</elementProp> | |
<elementProp name="Accept-Language" elementType="Header"> | |
<stringProp name="Header.name">Accept-Language</stringProp> | |
<stringProp name="Header.value">es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3</stringProp> | |
</elementProp> | |
<elementProp name="Upgrade-Insecure-Requests" elementType="Header"> | |
<stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp> | |
<stringProp name="Header.value">1</stringProp> | |
</elementProp> | |
<elementProp name="Accept-Encoding" elementType="Header"> | |
<stringProp name="Header.name">Accept-Encoding</stringProp> | |
<stringProp name="Header.value">gzip, deflate</stringProp> | |
</elementProp> | |
<elementProp name="User-Agent" elementType="Header"> | |
<stringProp name="Header.name">User-Agent</stringProp> | |
<stringProp name="Header.value">Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0</stringProp> | |
</elementProp> | |
<elementProp name="Accept" elementType="Header"> | |
<stringProp name="Header.name">Accept</stringProp> | |
<stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp> | |
</elementProp> | |
</collectionProp> | |
</HeaderManager> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="1357091333">Bienvenido</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.custom_message"></stringProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
</hashTree> | |
<ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true"> | |
<boolProp name="ResultCollector.error_logging">false</boolProp> | |
<objProp> | |
<name>saveConfig</name> | |
<value class="SampleSaveConfiguration"> | |
<time>true</time> | |
<latency>true</latency> | |
<timestamp>true</timestamp> | |
<success>true</success> | |
<label>true</label> | |
<code>true</code> | |
<message>true</message> | |
<threadName>true</threadName> | |
<dataType>true</dataType> | |
<encoding>false</encoding> | |
<assertions>true</assertions> | |
<subresults>true</subresults> | |
<responseData>false</responseData> | |
<samplerData>false</samplerData> | |
<xml>false</xml> | |
<fieldNames>true</fieldNames> | |
<responseHeaders>false</responseHeaders> | |
<requestHeaders>false</requestHeaders> | |
<responseDataOnError>false</responseDataOnError> | |
<saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage> | |
<assertionsResultsToSave>0</assertionsResultsToSave> | |
<bytes>true</bytes> | |
<sentBytes>true</sentBytes> | |
<url>true</url> | |
<threadCounts>true</threadCounts> | |
<idleTime>true</idleTime> | |
<connectTime>true</connectTime> | |
</value> | |
</objProp> | |
<stringProp name="filename"></stringProp> | |
</ResultCollector> | |
<hashTree/> | |
</hashTree> | |
</hashTree> | |
</jmeterTestPlan> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The script requires this jar(bouncycastle:bcprov-jdk15to18:1.68) in the jmeter's lib folder.