Uso do SIKULI para automação

Documentos relacionados
Minicurso - Automatização de teste de software utilizando a ferramenta SikuliX. Vanilton Pinheiro

Manual para App Android e Software Windows

Pimenta Advocacia Sistema Online Departamento de Informática. Spark MANUAL DO USUÁRIO

Executar uma macro clicando em um botão da Barra de Ferramentas de Acesso Rápido

Fixo (41) Vivo (41) Tim (41) Claro (41) OI (41) Sistema Descomplicado CNPJ

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias

Manual do usuário. Tradezone Desktop

MANUAL DE INSTALAÇÃO ProGRAB - Programação em Gestão por Resultados da Atenção Básica

AULA 2 VISÃO BÁSICA DE CLASSES EM PHP

Disciplina de Lógica e Linguagem de Programação Desenvolvido pelo professor Danilo Giacobo Ferramenta Code::Blocks

Manual Sistema de Automação de Pedidos Data C

Ferramenta: Spider-APF. Manual do Usuário. Versão da Ferramenta:

TECLAS DE ATALHO POWER POINT 2010

Gerando um programa executável a partir de um módulo Python

1. Execute o instalador do ambiente. Será exibida a tela do assistente para instalação.

Manual de Instalação e Configuração

Execute o instalador atiecli5 clicando duas vezes sobre o mesmo e será apresentada a tela inicial:

O teclado Expandido é hoje o teclado mais simples, pois cada vez mais, novas funcionalidades são adicionadas aos teclados tornando-os verdadeiras

Cartilha de Instalação do OpenVPN Client Community para Windows

Manual de Instalação do Módulo de Segurança MMA SISGEN

JAWS 14. Guia Rápido de Combinações de Teclas

WINTHOR UPGRADE VERSÃO 2

Procedimentos para Instalação do Sisloc (Estação de Trabalho) versão

Manual do usuário. Protrader Web Desktop

Instrução de Trabalho: Instalar Client


Prof. Sergio Koch. Sistema Operacional. Aula 02

Processo MITAVVIC Manual MITAVVIC

MIDISUL (48) (48) CEP CNPJ:

Sistema de Importação de Avaliações PAINT (Integrador)

Manual de Instalação do Portal Reinf - versão 8 MANUAL DE INSTALAÇÃO DO PORTAL REINF VERSÃO 8

Desenvolvimento Web II

Manual Técnico. Instalação e Configuração do Reporting Services

Instalação ou Atualização do Aplicativo GigaERP (procedimento via instaladores)

Plataforma Biométrica Aplicativo para capturar biometria

Manual do Usuário Linux Educacional 6.0 C3SL

TUTORIAL SAT DIMEP. Apresentação. Tabela de Alterações

Na seqüência, será aberta uma página de login de acesso ao ambiente de gerenciamento do portal, conforme ilustrado na figura 01, abaixo: Figura 01

MÓDULO FISCAL ELETRÔNICO MFE MANUAL DE INSTALAÇÃO

Como abrir um gráfico? Para abrir um gráfico, clique no ícone referente a gráficos no canto superior esquerdo da tela, no menu da plataforma.

Informática Básica Eletrotécnica/Mecânica

VÍDEO-TUTORIAL: SAIBA COMO SER AVISADO TODA VEZ QUE NOVOS S CHEGAREM EM SUA CAIXA DE ENTRADA DO G- MAIL

Ferramenta: Spider-UCP. Manual do Usuário. Versão da Ferramenta: 1.0.

WINTHOR UPGRADE VERSÃO 2

DEPARTAMENTO DE RECURSOS DA TECNOLOGIA DA INFORMAÇÃO DRTI DIVISÃO DE DESENVOLVIMENTO E PROGRAMAÇÃO - DIDP

Manual do Usuário. Uma plataforma:

BEMATECH LOJA PRACTICO PASSO A PASSO PARA UTILIZAÇÃO AMBIENTE DE CADASTROS

TUTORIAL UTILIZAÇÃO XOOPS UEFS. AEI - Gerência de Suporte

Guia prático do. Passo a passo

MANUAL DE INSTALAÇÃO

Manual Versão Desktop 2.0

Instalação e Operação do Leitor de Tracer do SAO WEB

Informática Básica. Aula 13 Macros e introdução a programação

Configuração do GIGAERP Integrado ao GIGA e-doc.

1. Requisitos de Instalação Procedimentos Iniciais Instalação do WinThor Anywhere (Padrão)... 3

Fundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores

Para abrir um documento deve utilizar uma das abordagens seguintes.

SGCD 2.0 Sistema Gerenciador de Conteúdo Dinâmico

Virtual Magnifying Glass 3.3.1

QUANTUM SERVER vs. DISPOSITIVOS MÓVEIS PARA RAFFINATO.

Ferramenta 1 -NetBeans 8.0

Configuração do GIGAERP Integrado ao GIGA e-doc.

MANUAL DE PROCEDIMENTOS

FIXO (11) Vivo (11) Tim (11) Claro (11) OI (11) Sistema Descomplicado CNPJ

Introdução a Tecnologia da Informação

EXTRANET MANUAL DO USUÁRIO

Instalação do TextPad

Cisco Unified Attendant Console Compact Edition v8.6.5

Estudo da Linguagem C# para realização de Dados Estatísticos

PROCEDIMENTOS PARA ATUALIZAÇÃO DA FERRAMENTA GVCOLLEGE CENSO SUPERIOR¹ 2015

14 truques escondidos no Mac que você possivelmente não conhece

DOWNLOAD. Entre na página download. Escolha o arquivo para download de acordo com o seu sistema operacional;

Manual de Instalação Recuperação Fiscal

Faixa de Opções, Ajuda e outros atalhos de teclado do Microsoft Office. Acesso pelo teclado à Faixa de Opções da Office Fluent

Conceitos avançados de programação. Módulo 8 Programação e Sistemas de Informação Gestão e Programação de Sistemas Informáticos

Aula 02. Prof. Diemesleno Souza Carvalho

PROJEDATA INFORMÁTICA LTDA. IRINEU TEZA NUNES. INSTALAÇÃO DO ORACLE ENTERPRISE LINUX 6.3

A c c e s s B á s i c o

A seguir são apresentadas as funções implementadas na linha de produto Microsiga Protheus, expedidas neste pacote de atualização.

Captura de Processos Programa Captura. Programa Captura Orientações

INSTALAÇÃO PRINTERTUX. Tutorial

M A N U A L D E I N S TR U Ç Õ E S. TradeZone WebCharts

Windows - Definição. Windows (pronuncia-se úindôus) é um sistema operacional.

Manual de Compilação/Execução da Aplicação SmartHome

Manual de Instalação e Configuração EAMICROTERMINAL

SUBIR LISTAS DE S

Usando o VMware Identity Manager Desktop. VMware Identity Manager 2.8 VMware Identity Manager 2.9.1

08. A figura seguinte representa uma tela do Excel XP.

WIN + D WIN + M SHIFT + WIN + M WIN + R WIN + E WIN + PAUSE BREAK

Introdução à Informática. Professor: Francisco Ary

Transcrição:

Uso do SIKULI para automação

Sikuli é uma ferramenta visual para automatizar e testar interfaces gráficas (GUI), utilizando imagens (screenshots). A solução Sikuli inclui: Sikuli Script, um script visual API para Python e Sikuli IDE, um ambiente de desenvolvimento integrado para escrever scripts com imagens visuais. Sikuli script automatiza qualquer coisa que você vê na tela, sem a API de suporte interno. Você pode controlar programaticamente uma página web, uma aplicação de desktop que executam o Windows / Linux / Mac OS X, ou mesmo um aplicativo para iphone rodando em um emulador.

O que é Sikuli? O Sikuli possibilita colocar diretamente a imagem da GUI (interface gráfica do usuário) de seu computador ao invés de comandos, simplificando enormemente sua codificação. Nele você poderá, a partir de agora, criar um script através da imagem. Por exemplo: 3

O que é Sikuli? Outro exemplo: Um comando WinWaitActive que serve para esperar o processamento de uma determinada janela em outras ferramentas de automação geraria uma linha de código, já no Sikuli, o comando é bem mais amigável: 4

O que é o Sikuli? http://groups.csail.mit.edu/uid/projects/sikuli/sikuli-chi2010.pdf 5 Reprodutor de ações em interface Algoritmo de similaridade de imagens Open Source Interface Clean

Página Oficial: www.sikuli.org http://sikuli.org/guide http://sikuli.org/documentation.shtml

Por onde começar??? TRANSFORMANDO QUALIDADE EM RESULTADOS GUI - Graphical User Interfaces Ferramentas de CR Capture-and-Replay Módulo de Captura Interações do usuário com a aplicação Reconhecimento dos elementos GUI \ propriedades \

Processo de Automação 8

Apoio ao processo 1. Manual de Uso do SIKULI Ferramenta inovadora 2. Padrões de desenvolvimento de scripts - Procedimentos 3. Manual de configuração do arquivo de entrada de dados Criação de procedimentos para entrada de dados 9

10 10 Instalação via Instalador

Instalação via versão portável Para utilizar a versão portável, seguir os seguinte passos:http://launchpad.net/sikuli/sikuli-x/x1.0- rc1/+download/sikuli-x-1.0rc1-win32.zip Download do arquivo Sikuli-X-1.0rc1-win32 no site Descompacte o arquivo Sikuli-X-1.0rc1-win32.zip Execute o arquivo Sikuli-IDE.exe 11 11

Funções Básicas Sikuli-IDE, na tela principal como mostra a figura são exibidos alguns botões/funcionalidades. 12 12

Principais funcionalidades As principais funcionalidades são: Capturar a Tela: Captura um screenshot para usar no script; Inserir uma Imagem do Computador: Carregar uma imagem local para usar nos scripts; 13 13

Principais funcionalidades Restringir Região: Serve para restringir uma região para comparação de tela; Executar: Serve para executar os scripts; Executar visualizando as ações: Ver o passo a passo das ações sendo executadas. 14 14

15 15 Classes e métodos comuns

Classe App openapp( aplicativo ) Abre o aplicativo em questão e traz sua janela para frente. Pode mudar para um aplicativo que já esteja aberto ou abrir uma nova instância desse mesmo aplicativo, dependendo do aplicativo chamado. 16 16

Exemplo prático openapp( ), Wait ( ) e Click ( ) Depois de gravar: 1. Selecione clicando na figura para ter acesso a área de configuração da imagem 2. Na tela de configuração você pode: 1. Alterar a similaridade 2. Desviar o alvo

Classe App closeapp( aplicativo ) Fecha o aplicativo em questão, encerrando seu processo. Esse método não faz nada se o aplicativo em questão não está aberto. focusedwindow() 18 18 Retorna a região, mesmo se não existe uma janela aberta. Nos casos de não ter janela aberta será mais provável retornar a região da barra de tarefas. Faz referência para uso da janela em foco.

Criando uma suíte de testes Suite de teste Agendamento de execução de testes 19 19

Interagindo com o Usuário popup( texto ) Abre uma caixa de diálogo com o texto passado como parâmetro e um botão de Ok. O script espera o usuário pressionar o botão de Ok. input( texto ) 20 Abre uma caixa de diálogo com um campo de preenchimento de texto, um botão de Ok e um botão de Cancel. Se o botão Cancel é pressionado nada será retornado para o script. Se o botão Ok é pressionado, sem preenchimento, uma string vazia é retornada para o script.

System Calls getosversion() Retorna o número da versão do sistema em que os seus scripts estão sendo executados. getclipboard() Retorno o conteúdo do seu clipboard se for texto, senão ele retorna uma string vazia. 21 21

Introdução a Biblioteca MyLib O objetivo da biblioteca mylib é suprir a necessidade de estender métodos e funções, que seriam de uso constante do processo de automação de testes da Webb. A descrição dessa biblioteca encontra-se no item 11.1. do Manual de uso do Sikuli 22 22

Funções da Biblioteca MyLib Tem como objetivo proporcionar a reutilização do código para algumas rotinas, além de facilitar a manutenção do código. Na atual versão possui as funções integradas: 1. Scroll na tela 2. Abre Browser 3. Função para montagem da URL que ira ser utilizada para cadastro do Jira 4. Abre Issue no JIRA 5. Função para geração do log 6. Função para envio de email 7. Função para login no sistema, de acordo com o perfil desejado 8. Função para fechar aplicação Webb 23 23

Instanciando um método Um objetivo comum de instanciar um método próprio pode ser visto, conforme o exemplo abaixo: browser=app("c:\\program Files\\Internet Explorer\\iexplore.exe") browser.open() Sendo assim, para qualquer chamada do browser você não precisará passar o caminho do executável mais de uma vez. Uma vez definido, você fará apenas a chamada ao método da seguinte forma: browser.open(), ou browser.close() 24 24

Instanciando uma função da Biblioteca - mylib Com o mesmo objetivo de reutilização, as funções da bibliotecas foram criadas para otimizar o desenvolvimento do código. Tendo o mesmo objetivo de abertura do browser, utilizando a mylib, deve ser feito: abrebrowser() Ou para utilização do sistema xxx, já efetuando o login, deve ser instanciada outra função, indicando qual perfil será utilizado, e esta função chama a abertura do browser: loginsistema(xxx) 25 25

Geração de issue no Jira Os códigos desenvolvidos que abordam funcionalmente o sistema Webb seguem uma estrutura de validações de teste. A cada teste abordado no cenário proposto, caso um erro seja identificado na aplicação, o script deve ser preparado para chamar a função criada no arquivo de biblioteca que irá cadastrar o defeito no sistema Jira da empresa. (try/except) 26 26

Boas práticas da geração do Script Possa ser mantido Fácil atualização Fácil de entender o que o script está fazendo: Mantenha o script sempre pequeno Foque o teste em apenas um objetivo Confiável Reutilizável No futuro Em outro projeto Por outro testador Design Seqüencial Modular Segmental Roundtrip

Exemplo prático Type ( ) / keydown(), e keyup() miscellanous keys ENTER - TAB - ESC - BACKSPACE - DELETE - INSERT function keys F1 - F2 - F3 - F4 - F5 - F6 - F7 - F8 - F9 - F10 - F11 - F12 - F13 - F14 - F15 navigation keys HOME - END - LEFT - RIGHT - DOWN - UP - PAGE_DOWN - PAGE_UP key modifiers ALT - CMD - CTRL - META - SHIFT - WIN #limpa o campo para digitar o endereço type(key.home) keydown( Key.SHIFT+Key.END ) type(key.delete)

29 29 contato@iteste.com.br / cristalli@iteste.com.br