S11 Portabilidade dos Casos de Testes Em geral, o uso do protocolo HTTP traz esta capacidade as ferramentas de teste Entretanto, caractersticas 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 disponvel para manipulac~ao por outros comandos atraves de par^ametros de sada. 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 possvel 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 possvel 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 noexemplo 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 atribudo ao par^ametropageCode, podendo o mesmo ser acessado por comandos utilizados posteriormente a este.