terça-feira, 4 de novembro de 2014

Phyton para Testers 2 - Configurando o ambiente I


Dando sequência à série Phyton para Testers, hoje iremos ver como montar o ambiente para programar em Phyton.

Instalando o Phyton
O primeiro passo é fazer o download Do Phyton. Acesse o endereço abaixo e faça o download da versão 2.7.3:

Feito o download execute o passo a passo da instalação:

1-      Escolha a opção de instalar para todos os usuários:



1-      Escolha o diretório de instalação:


 
 
1-      Selecionar todos os componentes do Python para instalação (opção padrão). Clicar em “Next” e aguardar a conclusão da instalação:


1-      Clique em Finish para concluir a instalação:


 
1-      Concluída a instalação, serão criados atalhos no menu iniciar, incluindo uma interface para programar: o Python Shell.
f
 



1-      Para que seja possível executar scripts através da linha de comando (cmd) é  necessário configurar a variável de ambiente Path o diretório de instalação.  Para isso siga os seguintes passos:

 -  Abrir o “Painel de Controle” do Windows:

·          Entrar em “Sistema” e clicar na opção “Configurações avançadas do sistema”
·          Na aba “Avançado”, clicar no botão “Variáveis de  Ambiente”
·          Selecionar a variável do sistema “Path” e clicar no botão “Editar...”
·          Adicionar o diretório de instalação do Python na  caixa de texto


1-      Para testar a instalação, acesse o pront de comando:
·         Clicar em “Iniciar” e digitar “cmd” na caixa de pesquisa
·         Digitar python na linha de comando. O comando deve ser reconhecido e o programa executado

No próximo post configuraremos um IDE para começar a programar.


E como a ideia desta série é ser um caderno de notas, eis a:

Bibliografia:
 








terça-feira, 7 de outubro de 2014

Python para Testers




Desde que comecei a usar o Sikuli a vontade de aprender Python cresceu. Ela já era uma velha conhecida mais ganhou força depois de ver algumas pessoas melhorando seus scripts de teste com a linguagem. Então decidi criar esta série de postagem.
O Foco aqui será passar pelo basicão da linguagem para dar base para nós, testes, que não estamos lá muito familiarizados com programação. Não é intuito ensinar ninguém a se tornar um senhor (ou senhora) programador (programadora).
Para não reinventar a roda, vou usar os tutoriais que a comunidade de Python espalhou por essa terra da internet (tem tanta coisa boa por aí). O que pretendo é postar meus resumos sobre o assunto de cada post. Algo como notas de um caderno de estudante. Todos os post serão referenciados com os materiais originais. Vamos dar a César o que é de César, hehe. Assim, sem mais delongas, iniciemos.

Conhecendo Python
Segundo a WikiPédia “Python é uma linguagem de programação de alto nível , interpretada, imperativa, orientada a objetos, funcional, de tipagem dinâmica e forte. Foi lançada por Guido van Rossum em 1991.1 Atualmente possui um modelo de desenvolvimento comunitário, aberto e gerenciado pela organização sem fins lucrativos Python Software Foundation”.
Ih! Já leu esse tanto de nome bonito e desanimou? Lembra vagamente desses termos lá da da faculdade? Não lembra! Não se desespere. Vamos por partes. Olhemos o “glossário”
Linguagem de programação de alto nível: é como se chama, na Ciência da Computação de linguagens de programação, uma linguagem com um nível de abstração relativamente elevado, longe do código de máquina e mais próximo à linguagem humana. O programador de uma linguagem de alto nível não precisa conhecer características do processador, como instruções e registradores. Essas características são abstraídas na linguagem de alto nível. Linguagens de programação funcionais, especialmente as puramente funcionais, tem sido mais usadas academicamente que no desenvolvimento comercial de software.
Interpretada: Linguagem interpretada é uma linguagem de programação, onde o código fonte nessa linguagem é executado por um programa de computador chamado interpretador, que em seguida é executado pelo sistema operacional ou processador.1 2 Mesmo que um código em uma linguagem passe pelo processo de compilação, a linguagem pode ser considerada interpretada, se o programa resultante não for executado diretamente pelo sistema operacional ou processador. Um exemplo disso é o Bytecode, que é um tipo de linguagem interpretada, que passa pelo processo de compilação e, em seguida, é executado por uma máquina virtual, cuja sintaxe é similar a código de máquina e, cada comando ocupa 1 byte. Existem também, as linguagens de script, que são linguagens interpretadas, executadas do interior de programas e/ou de outras linguagens de programação.Teoricamente, qualquer linguagem pode ser compilada ou interpretada e, por causa disso, há algumas linguagens que possuem ambas implementações.
Imperativa: nome do paradigma, Imperativo, está ligado ao tempo verbal imperativo, onde o programador diz ao computador: faça isso, depois isso, depois aquilo... Este paradigma de programação se destaca pela simplicidade, uma vez que todo ser humano, ao se programar, o faz imperativamente, baseado na ideia de ações e estados, quase como um programa de computador.
Orientada a Objetos: A orientação a objetos é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos. Na programação orientada a objetos, implementa-se um conjunto de classes que definem os objetos presentes no sistema de software. Cada classe determina o comportamento (definido nos métodos) e estados possíveis (atributos) de seus objetos, assim como o relacionamento com outros objetos.
Funcional: é um paradigma de programação que trata a computação como uma avaliação de funções matemáticas e que evita estados ou dados mutáveis. Ela enfatiza a aplicação de funções, em contraste da programação imperativa, que enfatiza mudanças no estado do programa .
Tipagem: Linguagem tipada, ou linguagem tipificada, é uma linguagem de programação que usa variáveis com tipos específicos. A verificação do tipo de um dado é feita de forma estática em tempo de compilação ou de forma dinâmica em tempo de execução. Linguagens implementadas com tipificação forte (linguagem fortemente tipificada), tais como Java e Pascal, exigem que o tipo de dado de um valor seja do mesmo tipo da variável ao qual este valor será atribuído. Em linguagens com tipos de dados fracos, tais como PHP e VBScript, a conversão não se faz necessária, sendo realizada implicitamente pelo compilador ou interpretador.
E de onde veio esse nome: Python?
O nome Python teve a sua origem no grupo humorístico britânico Monty Python,5 criador do programaMonty Python's Flying Circus, embora muitas pessoas façam associação com o réptil do mesmo nome (em português, píton ou pitão)
Já li isso tudo e agora?
Agora podemos prosseguir! No próximo post iremos “montar” o ambiente.

domingo, 21 de setembro de 2014

Resolvendo o erro java.lang.IllegalArgumentException: Invalid key code no Sikuli

Começou a automatizar alguns testes e no primeiro contato esbarrou no erro do título do post. Não se desespere. É super simples de solucionar.
No script abaixo, simulei o erro no momento em que se digita o endereço de algum site:


O script abre o navegador Internet Explorer, espera o botão de pesquisa do site do google aparecer (para este caso o google.com.br é a página inicial definida do navegador),  digita o endereço do blog, pressiona a tecla ENTER  e espera o título do blog aparecer.
No exemplo, o erro ocorre no momento de digitar o endereço do blog, atente para a mensagem:


Problema identificado, passemos a resolução: Basta trocar o idioma do computador para Inglês:


Feito a Troca, rode novamente o script e o problema estará solucionado.


quinta-feira, 7 de agosto de 2014

Sikuli

Precisando automatizar alguns teste em ambiente desktop e o Projeto está sem recursos  para pagar uma licença de uma ferramenta mais robusta? O Sikuli pode lhe auxiliar!

O que é?

É uma ferramenta visual para automatizar e testar interfaces gráficas utilizando screenshots.
O Sikuli é um projeto sob a licença MIT, desenvolvido pelo User Interface Design Group e o MIT Computer Science and Artificial Intelligence Laboratory (CSAIL)
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.

Como Funciona?


Quando usamos Sikuli IDE , criamos um script python e  salvando as imagens que tiramos o screenshot.
O script python já importa  o Sikuli Script, que é quem  reconhece as  imagens.
Ao rodamos o script  ele é interpretado pelo Jython sobre a JVM.

Instalando

Agora é uma boa hora para contar que na nova versão -  a 1.16-  o Sikuli passou a se chamar SikuliX.
Primeiramente,  verifique se você possui  Java 6 ou 7 instalado (JRE ou  JDK).  Caso não tenha, faça o download (aqui- https://java.com/download) e  instale seguindo os passos  de instalação (daqui -https://www.java.com/pt_BR/.../help/windows_manual_download.xml).
Em seguida faça o download do  sikuli-setup.jar em  https://launchpad.net/sikuli/sikulix/1.0.1.

Feito o download siga os seguintes passos:

⦁    Coloque o .jar em um pasta, que possuía propriedades de escrita ( que não seja somente leitura);
⦁    Não o coloque em uma pasta que já possua coisas do Sikuli;
⦁    Não o coloque nas pastas “Arquivos de Programas”
⦁    Dê um duplo clique no arquivo sikuli-setup.jar.
⦁    A primeira tela a ser exibida é a seguinte:



⦁    Marque a opção desejada, segue  a explicação de cada uma delas

Opção 1: Seu setup será o  sikulix.jar que contém o Sikuli IDE  que pode ser usado para rodar scripts através da linha de comando. Como sub  opção, apresenta a possibilidade de escolher qual linguagem você deseja utilizar. É possível também escolher as duas.
Opção 2: Seu setup será o sikulixapi.jar que que se destina a ser usado com a programação Java. Escolha se você quiser escrever seus scripts usando NetBeans, Eclipse ou qualquer outra IDE.
Opção 3: Pode ser marcado se você pretende usar  OCR features. Não é recomendado para iniciantes. Se  ficou interessado, pesquise e volte para instalar essa opção em outra oportunidade.
Opção 4: Vai instalar as duas opções (1 e 2) que contém os sikulix.jar e  sikulixapi.jar que serão suportados em todos os sistemas operacionais.
Opção 5:  Instala a versão experimental do Sikuli  Remote.  Pesquise a respeito para obter mais informações.

Ficou na dúvida? Marque a opção 1  que ela já lhe atenderá.

⦁    Clique em Setup Now.

⦁    Ao final você terá os seguintes arquivos em sua pasta do Sikuli:




Se houver algum problema durante a instalação, consulte o arquivo  SikuliX-1.1.0-Beta1-SetupLog.txt

⦁    Clique em sikulix.jar  e Have Fun!

 Hello Word



O exemplo abaixo abre o bloco de notas:



Mais informações na documentação oficial em http://sikuli.org/documentation.shtml