web.customRequest
umožňuje vytvořit vlastní požadavek HTTP s jakoukoli metodou podporovanou HTTP.
syntaxe
web.customRequest ({object} );
JavaScript objekt
{ stepName:"<string>", url:"<string>", method:"<string>", targetFrame:"<string>", encType:"<string>", recContentType:"<string>", referer:"<string>", bodyUnicode:"<string>", bodyBinary:"<string>", body:"<string>", bodyFilePath:"<string>", resource:"<string>", resourceByteLimit:"<string>", snapshot:"<string>", mode:"<string>", extraResBaseDir:"<string>", userAgent:"<string>", contentEncoding:"<string>", rawBody:{ content:"<string>", length:"<string>" }, "extraRes":}
Název vlastnosti |
popis
|
---|---|
název kroku | název kroku. |
url | adresa webové stránky, kterou chcete načíst. URL může být některý z následujících protokolů: HTTP, HTTPS nebo FTP. Pro účely ověření uveďte uživatelské jméno i heslo do atributu URL v následujícím formátu: ftp://username:password@server/dir/path. |
metoda | jakákoliv metoda HTTP. |
targetFrame | název rámce obsahujícího aktuální odkaz nebo prostředek. Viz targetframe pro více informací. |
encType | metoda kódování. Viz podrobnosti níže. |
recContentType | hodnota záhlaví odpovědi „Content-Type“, jak je zaznamenána, například text / html, application / x-javascript. Hodnota recContentType se používá, když atribut prostředku není určen pro určení, zda je cílová adresa URL prostředkem nebo ne. Podrobnosti viz reccontentType a resource |
referer | webová stránka, která odkazovala na aktuální stránku. Pokud bylo umístění explicitně vyjádřeno, je tento atribut vynechán. |
bodyUnicode | tělo je v Latin1 UTF–16LE (little–endian) Unicode. Viz „tělo“ níže. |
bodyBinary | tělo je v binárním kódu. Viz „tělo“ níže. |
tělo | tělo požadavku. Viz „tělo“ níže. |
bodyFilePath | cesta k souboru, který má být předán jako tělo požadavku. bodyFilepath nelze použít společně s žádným jiným atributem těla. |
zdroj | jeden z:
|
resourceByteLimit | viz resourceByteLimit. |
snapshot | název souboru snapshot. |
režim | úroveň záznamu: HTML nebo HTTP. Viz úroveň záznamu / režim (Web). |
extraResBaseDir | základní Adresa URL pro řešení relativních adres URL v rámci skupiny extraRes. Pro více informací, viz níže. |
userAgent | hlavička HTTP identifikující aplikaci, která představuje uživatele v interakci se serverem. Pro více informací, viz níže. |
contentEncoding | kódování pro tělo požadavku. Například gzip nebo deflate. |
rawBody | tělo požadavku je předáno jako ukazatel na data. |
extraRes | zdroje generované mechanismy bez HTML na webové stránce. |
návratové hodnoty
neuplatňuje se
parametrizace
všechny vlastnosti lze parametrizovat pomocí standardní parametrizace kromě názvu kroku.
Obecné Informace
web.funkce customRequest je akční funkce, která umožňuje vytvořit vlastní požadavek HTTP pomocí jakékoli metody nebo těla. (Každá funkce webové akce ve skriptu způsobí, že prohlížeč zobrazí novou webovou stránku nebo rámeček. Všechny funkce webové akce mohou být zaznamenány VuGen.) Ve výchozím nastavení vugen generuje tuto funkci pouze pro požadavky, které nemohly být interpretovány s jinými webovými funkcemi.
Chcete-li tuto funkci vložit ručně, použijte dialogové okno Přidat krok. Chcete-li zadat hlavičku HTTP, která má být odeslána před vlastním požadavkem, přidejte web.addHeader nebo web.funkce addAutoHeader.
hlavičku HTTP lze upravit tak, aby předala serveru další informace o požadavku. Pomocí záhlaví HTTP můžete například povolit jiné typy obsahu v odpovědi, jako jsou komprimované soubory, nebo můžete požádat o webovou stránku pouze za určitých podmínek. Chcete-li upravit hlavičku HTTP v požadavku, viz web.addHeader. Chcete-li upravit všechny následující požadavky, viz web.addAutoHeader.
Body
tělo požadavku je předáno jako hodnota jednoho z argumentů body, bodyBinary nebo bodyUnicode, v závislosti na obsahu. Můžete projít pouze jedno tělo * argument.
příklady specifikací těla:
bodyUnicode:" REPRICE "bodyBinary:" \x08\\x00\ \ xCC\ \ x02 \ \ x00\\x00 " body:".\r \ n-dxjjtbw/(. tp?eg:ch/6--\r\n"
všechny hodnoty těla jsou ASCII, řetězce zakončené nullem.
tělo-označuje pravidelný tisknutelný text. Null bajtů nelze reprezentovat. Všechny znaky jsou zadány zpětným lomítkem.
bodyBinary-označuje binární kód. Netisknutelné znaky jsou zakódovány v hexadecimálním tvaru ve tvaru \\xHH, kde HH určuje hexadecimální hodnotu. NULL bajty jsou určeny „\\00“
bodyUnicode-US-English, konkrétně Latin1 UTF-16LE (little–endian) Unicode pouze. Skutečný parametr je zbaven extra nulového bajtu připojujícího každý znak, aby se usnadnilo čtení textu. Je znovu připojen webem.customRequest před odesláním na webový server.
pro netisknutelné znaky použijte jediné zpětné lomítko. Null bajtů nelze reprezentovat.
pro tělo, jehož délka je přes 100K, se místo atributu zobrazí název proměnné. Proměnná je definována v lrw_custom_body.h.
encType
enctype určuje typ obsahu, například „text/html“, který má být zadán jako hodnota záhlaví požadavku „Content-Type“pro aktuální přehrávání. web.customRequest neprovádí žádné kódování těla. Argument body určuje tělo, které má být použito tak, jak je (nebo po použití „binárního“ zpracování), přičemž jakékoli kódování již bylo použito. Proto zadání typu encType, který neodpovídá tělu, může způsobit chybu na straně serveru. Obecně se doporučuje neupravovat encType tak, jak je zaznamenán.
jakákoli SPECIFIKACE encType tiše přepíše jakýkoli web_add_header pro typ obsahu. Pokud je zadána“ encType= „(prázdná hodnota), není generována hlavička požadavku“ Content–Type“. Pokud je „encType“ vynechán, použije se jakýkoli použitelný web_add_header. Pokud není hlavička a „method=POST“, použije se jako výchozí „application/x–www–form–urlencoded“. V opačném případě není generována žádná hlavička požadavku typu Content.
extraRes
další atributy prostředků jsou vloženy pouze při provádění nahrávání založeného na HTML a možnost pokročilého nahrávání „Non HTML-generated elements“ je nastavena na záznam v aktuálním kroku skriptu. Toto je výchozí nastavení. Další informace naleznete v centru nápovědy Virtual User Generator (vyberte příslušnou verzi).
extraResBaseDir je základní URL pro řešení relativních adres URL ve skupině extraRes. Adresy URL mohou být absolutní (jako „http://weather.abc.com/weather/forecast.jsp?loccode=LFPO“) nebo relativní (jako „předpověď“.jsp?loccode=LFPO“). Skutečné stahování adres URL se vždy provádí pomocí absolutních adres URL, takže relativní adresy URL musí být vyřešeny pomocí jiné (absolutní) adresy URL jako „základny“. Například řešení relativní “ prognózy.jsp?loccode=LFPO „použití“ http://weather.abc.com/weather/ „jako báze přinese“ http://weather.abc.com/weather/forecast.jsp?loccode=LFPO“. Ve výchozím nastavení, pokud není zadán“ extraResBaseDir“, použije se primární adresa URL funkce.
userAgent
userAgent je hlavička HTTP identifikující aplikaci, obvykle prohlížeč, který představuje uživatele v interakci se serverem.
například záhlaví „User–Agent: Mozilla/4.0 (kompatibilní; MSIE 6.0; Windows NT 5.0)“ identifikuje Microsoft Internet Explorer 6.0 pro Windows NT. Další řetězce User-Agent se používají pro různé prohlížeče a pro jiné aplikace, které nejsou prohlížečem. Obvykle všechny požadavky z aplikace používají stejnou hodnotu User-Agent, kterou rekordér specifikuje jako nastavení doby běhu. I v rámci běžné relace prohlížeče však mohou existovat komponenty, které nejsou součástí prohlížeče (například Active-X), které interagují přímo se serverem a obvykle mají jiný řetězec User-Agent než prohlížeč.
zadání uživatelského agenta znamená, že se jedná o takový požadavek, který není prohlížečem. Zadaný řetězec se používá v hlavičce HTTP“ User–Agent: „a ovlivňuje chování přehrávání v některých bodech, například tím, že nepoužívá mezipaměť prohlížeče, za předpokladu, že zadané adresy URL jsou zdroje atd. Neprovádí se žádná kontrola, aby se ověřilo, že zadaná hodnota je jiná než hodnota prohlížeče.
pomocí binárního kódu
můžete použít následující formát pro zahrnutí binárního kódu do tělesného parametru webu.funkce customRequest:
\x
to představuje hexadecimální hodnotu, která je reprezentována .
například: \x24 je 16*2+4=36, což je znak$; \x2B je znaménko+.
sekvence, které nepředstavují platné 2-znakové hexadecimální sekvence, jsou vugenem považovány za text ASCII. Nepoužívejte 1-znakové hexadecimální sekvence. Například „\x2 “ není platná 2-znaková hexadecimální sekvence. Místo toho použijte „\x02“.
Všimněte si, že binární hodnoty se ve skriptu zobrazují jako \\x, tj. Při generování webu.funkce customRequest pomocí VuGen musíte zadat pouze jedno zpětné lomítko.
pokud používáte parametrizaci v rámci webu.funkce customRequest obsahuje pouze jedno zpětné lomítko v rámci definice parametru.
příklad
web.customRequest ({ name: 'click_for_next.gif', url: 'http://kalimanjaro/Correlation_ASP_Project/click_for_next.gif', metoda: 'GET', zdroj: 1, recContentType : 'image / gif', referer: 'http://kalimanjaro/Correlation_ASP_Project/Correlation_ASP_business_process.asp?first_field_is=param1&change_first_sessionid_each=three_times&links_forms_usage=links_only&step=1&form_method=GET&sessionid_in_cookie=&use_frameset=&frame_target_is=mainframe&first_sessionid_is_large=&type_of_frame=use_frameset&second_field_is=praram2&change_second_sessionid_each=three_times&second_sessionid_is_large=', snapshot: 't9.inf'});