Substituir parâmetros em uma solicitação de URL
Quando você captura um aplicativo Web usando o Editor de Aplicativos Web, ele pode incluir informações exclusivas em uma ou mais solicitações que são alteradas sempre que você se conecta ao aplicativo. Essas informações geralmente são incluídas na resposta a uma solicitação e, em seguida, usadas por uma ou mais solicitações subsequentes.
Por exemplo, um aplicativo pode criar uma ID de sessão exclusiva quando um usuário entra. Essa ID de sessão deve ser incluída em cada solicitação após o processo de entrada. Sem a ID de sessão correta, cada uma dessas solicitações falha. Como você não sabe qual é esse valor até que a primeira solicitação seja executada, ele não pode ser incluído explicitamente na configuração da solicitação. Se você criar o aplicativo Web gravando uma sessão do navegador, o ID da sessão será coletado na URL de cada solicitação. No entanto, quando o aplicativo é executado, as solicitações falham porque a ID da sessão terá um valor diferente da ID da sessão registrada.
Para configurar esse aplicativo, você pode extrair um parâmetro de contexto do corpo da resposta de uma solicitação e usar o valor desse parâmetro em uma ou mais solicitações subsequentes. Em seguida, você substitui o valor explícito nas solicitações subsequentes por uma variável que representa o parâmetro. Cada vez que a transação sintética é executada, o parâmetro é preenchido na solicitação em que ele é definido. Quando a variável é usada nas solicitações subsequentes, ela é substituída pelo valor coletado antes que a solicitação seja enviada ao aplicativo.
Um único aplicativo pode usar qualquer número de parâmetros de contexto. Qualquer número de solicitações pode usar um único parâmetro, mas deve ser executado após a solicitação em que o parâmetro é definido.
Exemplo de ID de sessão
Considere o exemplo em que um aplicativo cria uma ID de sessão quando um usuário entra. Essa ID de sessão é necessária em cada solicitação após a página de entrada. Para implementar esse cenário, você precisa capturar a ID da sessão quando ela for gerada pela primeira vez e, em seguida, usar esse valor em cada solicitação subsequente.
Comece usando o processo descrito em Como capturar a gravação de aplicativo Web para capturar a entrada e as ações subsequentes. A sessão gravada para entrar no aplicativo e executar algumas ações pode ser semelhante ao exemplo a seguir.
http://www.myapp.com/home.aspx
http://www.myapp.com/search.aspx?query=testing&sessionid=32793279321721
http://www.myapp.com/results.aspx?sessionid=32793279321721
http://www.myapp.com/submit.aspx?sessionid=32793279321721
Nessa sequência de solicitação, o ID da sessão é criado pela primeira solicitação e usado na segunda, terceira e quarta solicitações. Quando você executa esse monitor, ele falha porque a primeira solicitação gera uma nova ID de sessão que não pode corresponder à ID de sessão usada quando a sessão foi capturada.
Para configurar essa sequência de solicitação com substituição de parâmetro, você precisa criar uma regra de extração na primeira solicitação para criar um parâmetro de contexto para a ID da sessão. A regra de extração inspeciona o corpo da solicitação para localizar o valor da variável sessionid. Em seguida, você modificaria as solicitações subsequentes para usar esse parâmetro em vez do valor da ID da sessão.
As solicitações modificadas são semelhantes ao exemplo a seguir.
http://www.myapp.com/home.aspx
http://www.myapp.com/search.aspx?query=testing&sessionid=$ParametersContext/sessionID$
http://www.myapp.com/results.aspx?sessionid=$ParametersContext/sessionID$
http://www.myapp.com/submit.aspx?sessionid=$ParametersContext/sessionID$
Criar uma regra de extração
Os parâmetros de contexto são coletados por uma regra de extração, e cada regra de extração coleta um único parâmetro de contexto. Você cria uma regra de extração na caixa de diálogo Propriedades da solicitação que inicialmente gera os dados necessários. Para identificar o valor a ser extraído, você deve exibir o corpo da resposta retornada da solicitação específica. Você pode exibir a origem da página retornada no navegador ou usar uma ferramenta que permite inspecionar os detalhes das respostas HTTP. Você não pode exibir o texto usando o Editor de Aplicativo Web.
Depois de identificar a solicitação que contém as informações que você precisa extrair, exiba a guia Regras de Extração nas propriedades dessa solicitação e crie uma ou mais regras de extração. Os detalhes de cada regra de extração são mostrados na tabela a seguir.
Opção | Descrição |
---|---|
Nome do parâmetro de contexto | Insira o nome para fornecer o parâmetro de contexto. |
Começa com | Insira o texto no corpo da resposta que identifica o início do valor do parâmetro. Você deve especificar caracteres suficientes para garantir que a cadeia de caracteres seja exclusiva. O valor do parâmetro começa imediatamente após o último caractere especificado. |
Termina com | Insira o texto no corpo da resposta que identifica o final do valor do parâmetro. O valor do parâmetro termina imediatamente antes do primeiro caractere especificado. |
Índice | Se o texto na caixa Começa com aparecer mais de uma vez, esse valor indica qual valor deve ser usado. Se o texto aparecer apenas uma vez, ou a primeira ocorrência dele mostrar o texto a ser extraído, o valor deverá ser 0. Se o segundo valor deve ser extraído, o valor deve ser 1 e assim por diante. |
Ignorar maiúsculas e minúsculas durante a pesquisa de texto correspondente | Especifica se é preciso ignorar as maiúsculas e minúsculas dos caracteres a pesquisar nas caixas Começa com e Termina com. |
Executar a codificação de URI de cadeias de caracteres extraídas | Especifica se a cadeia de caracteres extraída deve ser codificada depois que ela for coletada. |
Inserir um parâmetro em uma solicitação
Você usa um parâmetro em uma solicitação substituindo o valor explícito por uma variável que representa o parâmetro. O formato da variável é $ParametersContext/<ContextParameterName>$. Quando a solicitação é executada, a variável é substituída pelos dados extraídos pelo parâmetro.
Você pode inserir a variável na solicitação usando um dos dois métodos a seguir:
- Na caixa de diálogo Propriedades da Solicitação , selecione a guia Geral e, em seguida, selecione URL da Solicitação para modificar a URL da solicitação.
- Na caixa de diálogo Propriedades da solicitação , selecione a guia Geral e, em seguida, selecione o botão Inserir parâmetro . Use a caixa de diálogo Inserir parâmetro para a solicitação. Isso é acessado a partir do botão Inserir parâmetro na guia Geral na caixa de diálogo Propriedades da solicitação para a solicitação.
Aplicativo Web de exemplo Usando a extração de parâmetro
O procedimento a seguir fornece um exemplo de como usar a extração de parâmetros em um aplicativo Web. Este exemplo executa uma consulta na primeira entrada na seção Populares Agora da página inicial do Bing. Como esse valor muda regularmente, você precisa primeiro se conectar à página principal e coletar o termo de pesquisa do corpo da resposta. Em seguida, você usa esse termo para criar a solicitação para executar a pesquisa real.
A página principal do Bing é exibida abaixo, com a seção Populares Agora realçada.
Para determinar onde o termo de pesquisa aparece no corpo da resposta, você pode exibir a origem da página. Uma parte da fonte é mostrada abaixo com o código HTML da seção Populares Agora. Neste código HTML, você só precisa da cadeia de caracteres de pesquisa, que é realçada na ilustração a seguir. A solicitação é formada a partir de seguida por essa cadeia de https://www.bing.com caracteres.
Você pode simplesmente retirar o termo em si, mas é mais simples incluir a string inteira no parâmetro. Essa cadeia de caracteres é precedida pelos caracteres <h3>Populares agora</h3><ul><li><a href=> e termina com a próxima ocorrência de ". Esses são os valores que você usará ao definir a extração de parâmetros.
Gravar um aplicativo Web de exemplo
- Use o procedimento em Como capturar a gravação de aplicativos Web para gravar um aplicativo Web.
- Durante a gravação, conecte-se a https://www.bing.com.
- Ou use a opção em seu navegador para exibir a fonte da página inicial do Bing e localize a seção Populares Agora no código HTML.
- Selecione o primeiro termo de pesquisa em Popular agora.
- Salve a gravação no aplicativo da web.
- Remova a última solicitação porque isso não é necessário. Para remover a última solicitação, selecione a solicitação e, em seguida, selecione Excluir no painel Ações . As solicitações resultantes devem ser semelhantes às seguintes URLs:
Criar uma regra de extração
Selecione a primeira solicitação e, em seguida, selecione Propriedades no painel Ações .
Selecione a guia Regras de Extração.
Selecione Adicionar. A caixa de diálogo Adicionar regra de extração é aberta.
Na caixa de diálogo Adicionar Regra de Extração, na caixa Nome do parâmetro de contexto, insira SearchString.
Na caixa Começa com, insira< h3>Popular agora</h3><ul><li><a href=>.
Na caixa Termina com, insira ". A regra de extração deve ser semelhante à ilustração a seguir.
Selecione OK para salvar e fechar a regra de extração.
Selecione OK para salvar e fechar a solicitação.
Inserir um parâmetro em uma solicitação
Selecione a segunda solicitação e, em seguida, selecione Propriedades no painel Ações .
Na guia Geral , selecione Inserir parâmetro.
Na caixa Cadeia de caracteres, exclua todo o texto após www.bing.com/.
Com o cursor posicionado no final da URL, logo após www.bing.com, selecione SearchString na caixa Parâmetros e, em seguida, selecione Inserir. Isso insere a variável $ParametersContext/SearchString$. A solicitação final é semelhante à ilustração a seguir.
Selecione OK para fechar a caixa de diálogo.
Selecione OK para salvar e fechar a solicitação. A sequência de solicitação modificada deve ser semelhante à ilustração a seguir.
Selecione Aplicar para aplicar as alterações e feche o Editor de Aplicativo Web.