Hi All

I am working on login page of my webapp.
In my web app the UserName and Password text fields look like

<input type="text" name="1_2" id="1_2" smokeId="username"
label="Username" value="">
<input value="" type="password" class="txt" smokeId="password" id="1_3">

Id values keep changing every time the page is requested, so I cannot
use recorder. So I started using regular expressions.
I put 2 regular expressions for my Login Page:

Reference Name : UserName
RE: <input type="text" name="1_2" id="(.+?)" smokeId="username"
Template: $1$
Match No: 1

Reference Name : Password
RE: <input value="" type="password" class="txt" smokeId="password"
id="(.+?)"
Template: $1$
Match No: 1

Now in the next HTTPSampler (which is Desktop) I tried using the values.

I tried to parameterize the Name: which is recorded as 1_2 and 1_3 with
${UserName} and ${Password}

But the request to login fails as it just puts ${UserName} instead of
generated value in the HTML page like 1_2.

Any idea where the problem is : ????
Attached are the samplers ....

Please let me know, thanks for all the help.




<HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler"
testname="Login" 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">http</stringProp>
          <stringProp name="HTTPSampler.method">GET</stringProp>
          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
          <stringProp
name="HTTPSampler.path">/cc/ClaimCenter.do</stringProp>
          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
          <boolProp name="HTTPSampler.use_keepalive">false</boolProp>
          <boolProp
name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
          <stringProp name="HTTPSampler.mimetype"></stringProp>
          <stringProp name="HTTPSampler.FILE_NAME"></stringProp>
          <stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
          <stringProp name="HTTPSampler.monitor">false</stringProp>
          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
        </HTTPSampler>
        <hashTree>
          <RegexExtractor guiclass="RegexExtractorGui"
testclass="RegexExtractor" testname="Regular Expression Extractor"
enabled="true">
            <stringProp
name="RegexExtractor.useHeaders">false</stringProp>
            <stringProp
name="RegexExtractor.refname">Password</stringProp>
            <stringProp name="RegexExtractor.regex">&lt;input
value=&quot;&quot; type=&quot;password&quot; class=&quot;txt&quot;
smokeId=&quot;password&quot; id=&quot;(.+?)&quot;</stringProp>
            <stringProp name="RegexExtractor.template">$1$</stringProp>
            <stringProp name="RegexExtractor.default"></stringProp>
            <stringProp
name="RegexExtractor.match_number">1</stringProp>
          </RegexExtractor>
          <hashTree/>
          <RegexExtractor guiclass="RegexExtractorGui"
testclass="RegexExtractor" testname="Regular Expression Extractor"
enabled="true">
            <stringProp
name="RegexExtractor.useHeaders">false</stringProp>
            <stringProp
name="RegexExtractor.refname">UserName</stringProp>
            <stringProp name="RegexExtractor.regex">&lt;input
type=&quot;text&quot; name=&quot;1_2&quot; id=&quot;(.+?)&quot;
smokeId=&quot;username&quot;</stringProp>
            <stringProp name="RegexExtractor.template">$1$</stringProp>
            <stringProp name="RegexExtractor.default"></stringProp>
            <stringProp
name="RegexExtractor.match_number">1</stringProp>
          </RegexExtractor>
          <hashTree/>
        </hashTree>
        <GenericController guiclass="LogicControllerGui"
testclass="GenericController" testname="-------------------"
enabled="true"/>
        <hashTree/>
        <HTTPSampler guiclass="HttpTestSampleGui"
testclass="HTTPSampler" testname="Desktop" enabled="true">
          <elementProp name="HTTPsampler.Arguments"
elementType="Arguments" guiclass="HTTPArgumentsPanel"
testclass="Arguments" enabled="true">
            <collectionProp name="Arguments.arguments">
              <elementProp name="" elementType="HTTPArgument">
                <boolProp
name="HTTPArgument.always_encode">false</boolProp>
                <stringProp name="Argument.name">inFrame</stringProp>
                <stringProp name="Argument.value">mainframe</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
              </elementProp>
              <elementProp name="" elementType="HTTPArgument">
                <boolProp
name="HTTPArgument.always_encode">false</boolProp>
                <stringProp
name="Argument.name">eventSource</stringProp>
                <stringProp name="Argument.value">1_4_act</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
              </elementProp>
              <elementProp name="" elementType="HTTPArgument">
                <boolProp
name="HTTPArgument.always_encode">false</boolProp>
                <stringProp name="Argument.name">eventParam</stringProp>
                <stringProp name="Argument.value"></stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
              </elementProp>
              <elementProp name="" elementType="HTTPArgument">
                <boolProp
name="HTTPArgument.always_encode">false</boolProp>
                <stringProp name="Argument.name">eventShift</stringProp>
                <stringProp name="Argument.value"></stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
              </elementProp>
              <elementProp name="" elementType="HTTPArgument">
                <boolProp
name="HTTPArgument.always_encode">false</boolProp>
                <stringProp name="Argument.name">rcounter</stringProp>
                <stringProp name="Argument.value">1</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
              </elementProp>
              <elementProp name="" elementType="HTTPArgument">
                <boolProp
name="HTTPArgument.always_encode">false</boolProp>
                <stringProp
name="Argument.name">scrollPositions</stringProp>
                <stringProp name="Argument.value"></stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
              </elementProp>
              <elementProp name="" elementType="HTTPArgument">
                <boolProp
name="HTTPArgument.always_encode">false</boolProp>
                <stringProp name="Argument.name">objFocusId</stringProp>
                <stringProp name="Argument.value"></stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
              </elementProp>
              <elementProp name="" elementType="HTTPArgument">
                <boolProp
name="HTTPArgument.always_encode">false</boolProp>
                <stringProp name="Argument.name">1_1</stringProp>
                <stringProp name="Argument.value"></stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
              </elementProp>
              <elementProp name="" elementType="HTTPArgument">
                <boolProp
name="HTTPArgument.always_encode">false</boolProp>
                <stringProp
name="Argument.name">${UserName}</stringProp>
                <stringProp name="Argument.value">su</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
              </elementProp>
              <elementProp name="" elementType="HTTPArgument">
                <boolProp
name="HTTPArgument.always_encode">false</boolProp>
                <stringProp
name="Argument.name">${Password}</stringProp>
                <stringProp name="Argument.value">gw</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">http</stringProp>
          <stringProp name="HTTPSampler.method">POST</stringProp>
          <stringProp
name="HTTPSampler.contentEncoding">UTF-8</stringProp>
          <stringProp
name="HTTPSampler.path">/cc/ClaimCenter.do</stringProp>
          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
          <boolProp name="HTTPSampler.use_keepalive">false</boolProp>
          <boolProp
name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
          <stringProp name="HTTPSampler.mimetype"></stringProp>
          <stringProp name="HTTPSampler.FILE_NAME"></stringProp>
          <stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
          <stringProp name="HTTPSampler.monitor">false</stringProp>
          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
        </HTTPSampler>
        <hashTree/>
        

Reply via email to