|
|
|
a Automatização é dividida em 4 pacotes, que são: objects,tasks,testcases e utils.
|
|
|
|
|
|
|
|
![pacotes](/uploads/2736a713cb510ec4eef37c5b186101b6/pacotes.png)
|
|
|
|
|
|
|
|
Em objects estão mapeados os elementos web que compoem a tela, dentre os quais: botões, textfield, links e etc. Os objetos relativos a cada tela foram categorizados em classes distintas...
|
|
|
|
|
|
|
|
![loguinfields](/uploads/7a5338f64928ddaed561fd3fcca981d5/loguinfields.png)
|
|
|
|
|
|
|
|
Em vermelho: buttom
|
|
|
|
Em azul: link
|
|
|
|
Em verde: textfiled
|
|
|
|
|
|
|
|
objects.png
|
|
|
|
|
|
|
|
Para criar um objeto usamos como exemplo a tela de cadastro de analista:
|
|
|
|
|
|
|
|
objectsCode.png
|
|
|
|
|
|
|
|
Declara-se 2 objetos: o WebDriver e o WebElement.
|
|
|
|
|
|
|
|
o driver é o que vai procurar o elemento na tela e o element vai ler e retornar.
|
|
|
|
|
|
|
|
para isso criamos um metodo static com nome get+elemento que recebe o WebDriver, dentro deste metodo o element recebera o driver que esta procurando o elemento na tela(.findElement), e ele ira procurar por um parametro.
|
|
|
|
|
|
|
|
by.png
|
|
|
|
|
|
|
|
Há muitos parametros para procurar, mas o indicado é o ID(Porque? porque ele é único, ou é pra ser), é aconselhavel procurar por outros parametros só se o elemento não tiver ID.
|
|
|
|
|
|
|
|
mas como eu vou saber o ID ?
|
|
|
|
|
|
|
|
inspect.png
|
|
|
|
|
|
|
|
Simples, clique com o botão direito do mouse no elemento e clique em inspect, abrira uma janela onde tera o elemento que você selecionou destacado, e ali você olha o ID.
|
|
|
|
|
|
|
|
id.png
|
|
|
|
|
|
|
|
depois disto retorna o element.
|
|
|
|
|
|
|
|
As Tasks representam o fluxo funcional do sistema.
|
|
|
|
|
|
|
|
tasks.png
|
|
|
|
|
|
|
|
ela vai ter um método static void que recebe o WebDriver e os dados pré cadastrados em utils/constant e este método ira realizar as ações em ordem, usando .sendKey(atributo) onde tenha que digitar algo e .click() nos botões e links.
|
|
|
|
|
|
|
|
tasksCode.png
|
|
|
|
|
|
|
|
Os testcases são o que vai rodar os testes.
|
|
|
|
|
|
|
|
testcases.png
|
|
|
|
|
|
|
|
estes terão 3 métodos: @before, @test, @after.
|
|
|
|
o @before e o @after serão iguais em todos os casos, pois eles abrem o navegador adicionam os dados pré cadastrados no WebDriver e fecham tudo.
|
|
|
|
|
|
|
|
o @test é onde os métodos criados anteriormente serão chamados, como no exemplo abaixo do cadastrar analista o usuario precisa fazer loguin e depois cadastrar o analista.
|
|
|
|
|
|
|
|
testcasesCode.png
|
|
|
|
|
|
|
|
e por ultimo o pacote utils será onde ficarão o que tiver que ser pré cadastrado ou utilizado como o driver do navegador que será usado para testar.
|
|
|
|
|
|
|
|
utils.png
|
|
|
|
|
|
|
|
constant.png |