Dezembro 16, 2021

site.customRequest

permite que você crie uma solicitação HTTP personalizada com qualquer método suportado por HTTP.

Sintaxe

web.customRequest( {objeto} );

Objeto JavaScript

{ 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":}
Nome da Propriedade
Descrição
stepName O nome da etapa.
url O endereço da página da web para carregar. O URL pode ser qualquer um dos seguintes protocolos: HTTP, HTTPS ou FTP. Para fins de autenticação, inclua o nome de usuário e a senha no atributo URL usando o seguinte formato: ftp://username:password@server/dir/path.
método Qualquer método HTTP.
targetFrame o nome do quadro que contém o link ou recurso atual. Consulte targetframe para obter mais informações.
encType o método de codificação. Veja os detalhes abaixo.
recContentType o valor do cabeçalho de resposta “Content-Type” conforme registrado, por exemplo, text/html, application/x–javascript. O valor recContentType é usado quando o atributo resource não é especificado para determinar se o URL de destino é um recurso ou não. Para obter detalhes, consulte reccontentType e resource
referer a página da web que se referia à página atual. Se o local foi explicitamente expresso, esse atributo é omitido.
bodyUnicode O corpo está em Latin1 UTF–16LE (little–endian) Unicode. Veja “corpo” abaixo.
bodyBinary o corpo está em código binário. Veja “corpo” abaixo.
corpo o corpo da solicitação. Veja “corpo” abaixo.
bodyFilePath O caminho para um arquivo a ser transmitido como o corpo da solicitação. bodyFilepath não pode ser usado em conjunto com qualquer outro atributo body.
recurso um de:

  • 0-não é um recurso. Falha de Download é um erro.
  • 1-Recurso. Baixado somente se a configuração de tempo de execução “baixar recursos não HTML” estiver definida. Falha de Download é um aviso. Não analisado como HTML.
resourceByteLimit Veja resourceByteLimit.
snapshot o nome do arquivo do snapshot.
modo o nível de gravação: HTML ou HTTP. Veja Nível / Modo de gravação (Web).
extraResBaseDir o URL base para resolver URLs relativos dentro do grupo extraRes. Para mais informações, veja abaixo.
userAgent o cabeçalho HTTP identificando o aplicativo que representa o usuário na interação com o servidor. Para mais informações, veja abaixo.
contentEncoding Codificação para o corpo da solicitação. Por exemplo, gzip ou desinflar.
rawBody o corpo da solicitação é passado como um ponteiro para os dados.
recursos gerados por mecanismos Não HTML na página da web.

Valores de Retorno

Não aplicável

Parametrização

Todas as propriedades podem ser parametrizados utilizando o padrão de parametrização, exceto o stepName.

Informações Gerais

a web.a função customRequest é uma função de ação que permite criar uma solicitação HTTP personalizada usando qualquer método ou corpo. (Cada função de ação da web em um script faz com que o navegador exiba uma nova página da web ou quadro. Todas as funções de ação da web podem ser gravadas pelo VuGen.) Por padrão, o VuGen gera essa função apenas para solicitações que não puderam ser interpretadas com outras funções da web.

para inserir Esta função manualmente, use a caixa de diálogo Adicionar etapa. Para especificar um cabeçalho HTTP a ser enviado antes da solicitação personalizada, adicione uma web.addHeader ou web.função addAutoHeader.

o cabeçalho HTTP pode ser modificado para passar informações adicionais sobre a solicitação ao servidor. Usando cabeçalhos HTTP, você pode, por exemplo, permitir outros tipos de conteúdo na resposta, como arquivos compactados, ou você pode solicitar uma página da web apenas em determinadas condições. Para modificar o cabeçalho HTTP na solicitação, consulte web.addHeader. Para modificar todas as solicitações subsequentes, consulte web.addAutoHeader.

Body

o corpo de uma solicitação é passado como o valor de um dos argumentos body, bodyBinary ou bodyUnicode, dependendo do conteúdo. Você só pode passar um corpo * argumento.

Exemplos do corpo especificações:

 bodyUnicode:"REPRICE" bodyBinary:"\x08\\x00\\xCC\\x02\\x00\\x00" corpo:".\r\n–dxjjtbw/(.tp?por exemplo:ch/6--\r\n" 

de Todo o corpo de valores de são ASCII, seqüências de terminação nula.

body-indica texto regular e imprimível. Bytes nulos não podem ser representados. Todos os caracteres são especificados com uma barra invertida.

bodyBinary-indica código binário. Caracteres não imprimíveis são codificados em hexadecimal na forma \ \ xHH, onde HH especifica o valor hexadecimal. Os bytes nulos são especificados por “\\00”

bodyUnicode-US-Inglês, especificamente Latin1 UTF–16LE (little-endian) Unicode apenas. O parâmetro real é despojado do byte zero extra anexando cada caractere para permitir uma leitura mais fácil do texto. É re-anexado pela web.customRequest antes de enviar para o servidor web.
para caracteres não imprimíveis, use uma única barra invertida. Bytes nulos não podem ser representados.

para um corpo cujo comprimento é superior a 100K, um nome de variável aparece em vez do atributo. A variável é definida em lrw_custom_body.h.

encType

encType especifica um tipo de Conteúdo, como “text / html”, a ser especificado como o valor do cabeçalho de solicitação” Content–Type ” para a reprodução atual. site.customRequest executa nenhuma codificação do corpo. O argumento body especifica o corpo a ser usado como está (ou depois de aplicar o processamento “binário”), com qualquer codificação já tendo sido aplicada. Portanto, especificar um encType que não corresponda ao corpo pode causar um erro do lado do servidor. Em geral, é recomendável que você não edite o encType conforme registrado.

qualquer especificação encType substitui silenciosamente qualquer web_add_header para o tipo de conteúdo. Se ” encType= “(valor vazio) for especificado, nenhum cabeçalho de solicitação” Content–Type ” será gerado. Se” encType ” for omitido, qualquer web_add_header aplicável será usado. Se não houver cabeçalho e “method=POST”, “application/x–www–form–urlencoded” é usado como padrão. Caso contrário, nenhum cabeçalho de solicitação de tipo de conteúdo é gerado.

extraRes

os atributos de recursos extras são inseridos apenas ao executar a gravação baseada em HTML e a opção de gravação avançada” elementos não gerados em HTML ” está definida para gravar na etapa de script atual. Esta é a configuração padrão. Para obter mais informações, consulte a Central de Ajuda do Virtual User Generator (selecione a versão relevante).

o extraResBaseDir é o URL base para resolver URLs relativos dentro do grupo extraRes. Os URLs podem ser absolutos (como ” http://weather.abc.com/weather/forecast.jsp?loccode=LFPO”) ou relativos (como ” previsão.jsp?loccode=LFPO”). O download real de URLs é sempre realizado usando URLs absolutos, de modo que URLs relativos devem ser resolvidos usando outro URL (absoluto) como uma “base”. Por exemplo, resolvendo a “previsão” relativa.jsp?loccode = LFPO “using” http://weather.abc.com/weather/”as a base will yield”http://weather.abc.com/weather/forecast.jsp?loccode=LFPO”. Por padrão, quando” extraResBaseDir ” não é especificado, o URL principal da função é usado.

userAgent

o UserAgent é o cabeçalho HTTP que identifica o aplicativo, geralmente um navegador, que representa o usuário na interação com o servidor.

Por exemplo, o “cabeçalho User–Agent: Mozilla/4.0 (compatível; MSIE 6.0; Windows NT 5.0)” identifica o Microsoft Internet Explorer 6.0 para Windows NT. Outras cadeias de agente do usuário são usadas para diferentes navegadores e para outros aplicativos que não são do navegador. Normalmente, todas as solicitações de um aplicativo usam o mesmo valor User–Agent, que o gravador especifica como uma configuração de tempo de execução. No entanto, mesmo dentro de uma sessão regular do navegador, pode haver componentes que não sejam do navegador (por exemplo, Active–X) que interagem diretamente com um servidor e geralmente têm uma string de agente do usuário diferente do navegador.

especificar um userAgent indica que esta é uma solicitação que não é do navegador. A string especificada é usada no cabeçalho HTTP” User–Agent: “e afeta o comportamento do Replay em alguns pontos, por exemplo, ao não usar o cache do navegador, assumindo que os URLs especificados são recursos, etc. Nenhuma verificação é feita para verificar se o valor especificado é diferente do do navegador.

usando o código binário

você pode usar o seguinte formato para incluir o código binário no parâmetro body de uma web.função customRequest:

\x

isso representa o valor hexadecimal representado por .

por exemplo: \ x24 é 16*2+4=36, que é um sinal$; \ x2B é + sinal.

sequências que não representam sequências hexadecimais válidas de 2 caracteres são tratadas por VuGen como texto ASCII. Não use sequências hexadecimais de 1 caractere. Por exemplo,” \x2 ” não é uma sequência hexadecimal válida de 2 caracteres. Use “\ x02”, em vez disso.

observe que os valores binários aparecem em um script como \\x, ou seja, o “x” é precedido por duas barras invertidas. No entanto, ao gerar uma web.função customRequest usando VuGen, você precisa digitar apenas uma barra invertida.

se você usar parametrização dentro de uma web.customRequest função, incluir apenas uma barra invertida dentro da definição do parâmetro.

exemplo

 web.customRequest ({nome: 'click_for_next.gif', url: 'http://kalimanjaro/Correlation_ASP_Project/click_for_next.gif', método: 'GET', recurso: 1, recContentType : 'imagem / gif', referenciador: '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=', instantâneo: 't9.inf'}); 

Deixe uma resposta

O seu endereço de email não será publicado.