• Nenhum resultado encontrado

Comandos Para Simulac~ao de Ac~oes do Usuario

S11 Portabilidade dos Casos de Testes Em geral, o uso do protocolo HTTP traz esta capacidade as ferramentas de teste Entretanto, caracter sticas como a capa-

2.3.3 Comandos Para Simulac~ao de Ac~oes do Usuario

Para a utilizac~ao da linguagem JXWeb e necessario conhecer seus comandos para simu- lac~ao de ac~oes do usuario. O objetivo desta sec~ao e apresentar alguns destes comandos atraves de uma breve descric~ao e exemplos de seu uso.

Varios comandos mostrados a seguir trocam informac~oes entre si, armazenando ob- jetos, inst^ancias de classes Java, em par^ametros. Estes objetos podem ser simples textos (objetos do tipoString), ou objetos que s~ao inst^ancias de classes denidas na API Htt- pUnit 18], base de implementac~ao da ferramenta JXWeb. De forma geral, os comandos utilizam nomes padr~oes para os par^ametros a serem utilizados, permitindo porem que o testador dena, quando desejado, outros nomes para os mesmos. A API HttpUnit pos- sui um conjunto de classes capazes de representar conex~oes HTTP, requisic~oes, retornos e componentes de paginas HTML, comolinks, formularios, tabelas, etc.

HttpGet.

Outro importante comando da linguagem, HttpGet e utilizado para rea- lizar o download de arquivos atraves de URLs, submiss~ao de formularios e links de paginas HTML segundo o protocolo HTTP. Uma vez realizado o download, o arquivo ca dispon vel para manipulac~ao por outros comandos atraves de par^ametros de sa da. Exemplos do uso deste comando podem ser vistos abaixo.

<httpGet />

<httpGet request="requisicao" responseText="retorno" />

O primeiro exemplo mostrado realiza o download de um arquivo atraves do par^ametro req. Este par^ametro pode conter uma string com a URL da pagina, ou um objeto repre- sentando um formulario HTML a ser submetido ou umlink HTML a ser clicado (objetos do tipoWebFormou WebLink, respectivamente). O conteudo do arquivo retornado e sal- vo como texto no par^ametro respTexte como um objeto (do tipo WebResponse) que representa um arquivo HTML, no par^ametrowebResponse.

O segundo exemplo indica o nome dos par^ametros a serem utilizados pelo comando. Ao ser executado, o comando realiza o download de uma pagina atraves do par^ametro requisicao, salvando seu conteudo em forma de texto no par^ametro de nomeretorno.

GetForm.

Este comando e utilizado para acessar formularios HTML no objeto do tipo WebResponse, retornados atraves de comandos HttpGet. Formularios HTML po- dem ser identicados pelo nome ou por um  ndice. Estas duas formas de acesso s~ao respectivamente mostradas nos exemplos abaixo.

<getForm form="busca" /> <getForm index="0"/>

O formulario acessado ca armazenado atraves de um objeto (do tipo WebForm) para uso de comandos posteriores.

GetFormParameter.

Usado posteriormente a um comando getForm, este comando permite o acesso aos valores de par^ametros de formularios HTML. Alem de informar o nome do par^ametro do formulario, como mostrado no primeiro exemplo visto abaixo, e poss vel informar o nome do par^ametro JXWeb que contem o formulario, como mostrado no segundo exemplo.

<getFormParameter name="nome" />

<getFormParameter formName="formCliente" name="nome" />

O nome do par^ametro JXWeb que armazenara um objeto (do tipo String) representando o valor do par^ametro do formulario HTML e igual ao nome do par^ametro do formulario em quest~ao.

SetFormParameter.

Complementar ao comando GetFormParameter, este comando permite atribuir valores aos par^ametros de formularios HTML. Da mesma forma que o comando GetFormParameter, alem de informar o nome e o valor para o par^ametro do formulario, como mostrado no primeiro exemplo visto abaixo, tambem e poss vel informar o nome do proprio formulario, como mostrado no segundo exemplo.

<setFormParameter name="nome" value="Joao Francisco" /> <setFormParameter name="nome" value="Joao Francisco"

form="formCliente" />

GetLink.

Este comando permite o acesso a links contidos em paginas HTML. Para utilizar este comando, e necessario indicar o nome dolink, atraves do atributolinkName, ou o texto que esta sobre atuac~ao do link, atraves do atributo text. As duas formas citadas s~ao respectivamente mostradas nos exemplos abaixo.

<getLink linkName="cliente" /> <getLink text="Joao Francisco" />

Links HTML s~ao representados internamente em JXWeb por objetos do tipo WebLink, da API HttpUnit.

GetImageLink.

Este comando permite o acesso alinkscontidos em imagens de paginas HTML. Para utilizar este comando, e necessario indicar o nome da imagem (atributo name do marcador HTML<img>), atraves do atributoimageName, como mostrado no

exemplo abaixo.

<getImageLink imageName="cliente" />

GetFrameLink.

Este comando permite o acesso alinkscontidos emframesde paginas HTML. Para utilizar este comando, e necessario indicar o nome do frame desejado, atraves do atributo frameName, como mostrado no exemplo abaixo.

<getFrameLink frameName="principal" />

Na execuc~ao do exemplo acima, quando o frame existir na pagina HTML, o comando ira atribuir ao par^ametro requm objeto (do tipo WebLink) representando o link para a pagina referenciada pelo framede nomeprincipal.

GetPageCode.

Permite o acesso ao codigo do retorno de uma pagina HTML. O exemplo abaixo armazena o codigo de retorno de uma pagina retornada pelo ultimo comando HttpGet.

<getPageCode />

O codigo de retorno encontrado e atribu do ao par^ametropageCode, podendo o mesmo ser acessado por comandos utilizados posteriormente a este.