Common Web Tests
last updated on 4/1/2014 7:03:59 AM
URL Encoding
The URL query string, the name and the value of the following field consist of the same characters.
Following characters should NOT appear encoded over the wire: "-","_", "."
Imortant: some of these characters can trigger some unexpected behaviour when being used in the querystring.
For example # is used for bookmarks, everything after it is ignored.
Submit FORM using the GET method to test URL enconding the same way as POST before.
%?#[]{}|\&=@:^~`"$-_.+!*'(),<>;/
Check this link:
data2html.asp?%?#[]{}|\&=@:^~`"$-_.+!*'(),<>;/
data2html.asp?%?[]{}|\&=@:^~`"$-_.+!*'(),<>;/#
A link containing spaces:
data2html.asp?a link containing spaces
Something special (note the space between [ ]):
data2html.asp?%?[ ]{}|\&=@:^~`"$-_.+!*'(),<>;/#
URL Handling
This link uses two question marks.
data2html.asp?Intermediate?testfield1=testvalue1
A URL query string with invalid hex encoding must also be kept in the URL.
data2html.asp?hexdata=%65%66%67%INVALID%HEX%ENCODING
Binary data in URLs must not be converted to FORMS by the recorder. The following URL contains 0x02, 0x01, 0x00.
data2html.asp?databytes=3&%02=%01&NowThereIsATerminatingZero%00AndThenNothing
A relative URL with absolute URLs included in the query string.
The URL in the HttpRequestHeaderFromClient log should be the same as in
HttpRequestHeaderToServer log.
data2html.asp?https://cipehbu.cdg.citibank.de/HomeBankingSecure/StartSession.asp&http://cipehbu.cdg.citibank.de/HomeBanking/BrowserSecurity4.htm&LANG=4,LANGNAME=German_(Germany),DEVICEMODE=HTMLGPH,SRCT=10,CARDTYP=001,oatmeal=
(this one does not work)
data2html.asp?https://cipehbu.cdg.citibank.de/HomeBankingSecure/StartSession.asp&http://cipehbu.cdg.citibank.de/HomeBanking/BrowserSecurity4.htm&LANG=4,LANGNAME=German_(Germany),DEVICEMODE=HTMLGPH,SRCT=10,CARDTYP=001,oatmeal=
(next try)
data2html.asp?1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
URLs with multiple '=' must result in a correct form (caused problems in previous versions, fixed since 2.6).
data2html.asp?login/=user=Guest
No secure URL with a :/ in the querystring can be handled by record/replay!
Detected in Build618.
The secure request https://demo.borland.com/data2html.asp?:/ cannot be recorded/replayed.
Common Forms
Submit a form using the GET method to data2html.asp?Intermediate
Submit a form using the POST method to data2html.asp?Intermediate
Submit a form using the GET method to data2html.asp
Submit a form using the POST method to data2html.asp
The next problem is likely due to the use of "?" as a delimiter in the url string.
This is a form post without input fields:
<form action="data2html.asp?_SessionId_=000?_SessionType_=WEB?_User_=user1?_Password_=user1?_ContextId_=2000? HTTP/1.0" method="POST">
<input type="submit">
</form>
This results in following bdl(detected in SP3.5.1, build 658):
WebFormPostEx("http://your_host_here/data2html.asp?_SessionId_=000", TESTSITE_DATA2HTML_ASP001);
...
TESTSITE_DATA2HTML_ASP001:
" HTTP/1.0" := "WEB?_User_=user1?_Password_=user1?_ContextId_=2000? HTTP/1.0";
Various Form Submissions
A form POST with multiple '=' must result in a correct BDL form.
A form POST with hex encoded binary data must be converted into WebUrlPostBin.
Big POST.
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
This text is only text, not more and not less,
just text to be itself, namely "Text" to be posted as text (what else...)
POST data to server with URL params.
This text is only text, not more and not less, just text to be itself, namely "Text" to be posted as text (what else...)
POST data to server with URL params and non-standard encoding.
This text is only text, not more and not less, just text to be itself, namely "Text" to be posted as text (what else...)
Big GET (>4kB).
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X
This text is only text, not more and not less,
just text to be itself, namely "Text" to be posted as text (what else...)
choice1
choice2
choice3
Note: During replay you will get following error: "WebForm
commands: too many/long URL search parameters!"
Note: IE5.5 is not able to send that long GET requests - the limit is at about 2k bytes.
Just cut the lines out of the text area 'till the request is sent.
POST with Content-Length: 0.
POST with Content-Length: 0 but with an querystring in the url
Submit buttons of the next four forms have values with special characters.
(method=GET)
(method=POST)
(method=GET)
(method=POST)
Click here for a form sample containing an <INPUT> tag with a SRC attribute before TYPE=IMAGE
Follow this link to access a page containing a form producing a BIG POST (> 160K).
Click here for a XMLHttpRequest POST with 0 content-length.
Various Link Samples
<a href=" data2html.asp">space before link (relative URL)</a>
space before the link (relative URL)
<a href="data2html.asp ">space after the link (relative URL)</a>
space after the link (relative URL)
<a href=" data2html.asp ">space before and after the link (relative URL)</a>
space before and after the link (relative URL)
<a href=" https://demo.borland.com/testsite/data2html.asp">space before the link (absolute URL)</a>
space before the link (absolute URL)
<a href="https://demo.borland.com/testsite/data2html.asp ">space after the link (absolute URL)</a>
space after the link (absolute URL)
<a href=" https://demo.borland.com/testsite/data2html.asp ">space before and after the link (absolute URL)</a>
space before and after the link (absolute URL)
Form Element Variations
Go to the sample page.
Download
Popups
On click
On page load
unnamed popup test
Multiple Confirms
Web Dialog
Show Webpage Dialog