


Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
LM 66 | Gerenciamento remoto por Dmitri Popo Utilize imagens para montar scripts intuitivos automaticamente com o ambiente de scripts único do Sikuli. por Dmitri Popo
Tipologia: Notas de estudo
1 / 4
Esta página não é visível na pré-visualização
Não perca as partes importantes!
74 http://www.linuxmagazine.com.br
Utilize imagens para montar scripts intuitivos automaticamente com o ambiente de scripts único do Sikuli. por Dmitri Popov
tilizando as capacidades de scripting do shell do Linux, é possível automatizar qual- quer tarefa no sistema. Mesmo para quem não é um guru da programação, é possível escrever scripts que lidam com inúmeras tarefas corriqueiras – desde montar compartilhamentos remotos até fazer um backup. Apesar de todo esse poder, produzir scripts shell possui uma séria limita- ção: os scripts são bons apenas para controlar e automatizar ferramentas de linha de comando e aplicativos gráficos que suportam argumentos pela linha de comando. Portanto, para automatizar ambientes desktop gráficos, como o Gnome e o KDE,
Sikuli 75 Sikuli | PROGRAMACÃO Linux Magazine #66 | Maio de 2010 ou aplicativos baseados em interfa- ces gráficas, os scripts tradicionais não servem. Eis que chega o Sikuli [1] , um ambiente de scripting único que permite automatizar aplicativos grá- ficos com considerável facilidade. O Sikuli não depende de nenhu- ma API e utiliza como base sim- ples telas com elementos gráficos. Basicamente, em vez de descrever onde clicar ou qual item do menu escolher, basta inserir no Sikuli uma tela da área específica diretamente no script. O Sikuli analisa os padrões da imagem, encontra o elemento apro- priado na interface gráfica e efetua a ação especificada. Nem é necessário dizer que isso simplifica o processo de produção de scripts. Na verda- de, a abordagem do Sikuli é tão intuitiva que é possível começar a produzir scripts em questão de mi- nutos, mesmo sem experiência em programação. Primeiros passos O Sikuli é escrito em Java. Então, a primeira coisa a ser feita é confi- gurar o Java Runtime Environment no sistema. Além disso, será neces- sário instalar alguns outros pacotes. No Ubuntu, isso pode ser feito com o seguinte comando no terminal: sudo apt-get install libcxxtools libcxxtools-dev libhighgui libhighgui-dev libcv Quando tudo estiver pronto, bas- ta pegar a última versão do Sikuli e abrir o arquivo baixado no diretório de sua escolha (por exemplo, o dire- tório home). Em uma janela de ter- minal, vá para o diretório Sikuli-IDE/ , e inicie o IDE Sikuli com o script sikuli-ide.sh. Outra maneira é ini- ciar o Sikuli com um duplo clique no arquivo sikuli-ide.jar , contanto que o arquivo .jar esteja associado ao Java Runtime. A interface do Sikuli ( figura 1 ) é fácil de entender. A barra de ferra- mentas principal oferece vários bo- tões que dão acesso rápido a todas as funções essenciais do programa. Os três botões mais importantes são Capture, Load e Run. O botão Cap- ture permite capturar uma tela do elemento desejado ou da área grá- fica desejada; Load permite inserir uma tela já existente ao script atual. Como se pode supor, o botão Run executa o script aberto. Graças ao suporte a abas, é possível usar o IDE Sikuli para abrir e gerenciar vários scripts ao mesmo tempo. Ao trabalhar com o Sikuli, é bom ter algumas coisas em mente. Pri- meiro, o Sikuli não se dá bem com múltiplos monitores. Então, para ter certeza de que o script funcionará como esperado, desconecte todos os monitores externos da máquina (exceto o principal, é claro). No início, a maioria dos meus scripts se recusou a funcionar cor- retamente. O motivo é que eu havia habilitado a opção do botão esquer- do do mouse, e todas as ações eram interpretadas como cliques com o botão direito. Então, para os usuá- rios canhotos, a correção é simples. Use a ação de clique com o botão direito em vez de clique, e vice-versa. A versão do Sikuli para Linux ainda não suporta atalhos de te- clado. Portanto, é necessário usar o botão Capture para capturar as telas. Como alternativa, é possível usar um utilitário externo como o Shutter para capturar as telas e depois importá-las para seu script usando o botão Load. O uso de uma ferra- menta dedicada à captura de telas oferece maior controle e acelera todo o processo. No entanto, lembre-se de que todas as telas precisam estar no formato PNG. Para começar, criei um script simples que clica no ícone do mi- ni-aplicativo Deskbar no painel e digita “Hello world!” no campo de busca. Obviamente, para esse script funcionar, é preciso antes ins- talar os pacotes do mini-aplicativo Deskbar e adicioná-lo ao painel. Um script do Sikuli consiste em uma série de ações tais como click, wait, type e assim por diante. Cada ação pode usar uma tela que espe- Figura 1 O IDE Sikuli possui apenas o essencial, com vários botões na barra de ferramentas. Figura 2 Script Hello world!.
Sikuli 77 Sikuli | PROGRAMACÃO Linux Magazine #66 | Maio de 2010 lhado coma linguagem Python, o código do script será familiar. Isso não é uma coincidência, pois o Sikuli usa Jython como base. Não há necessidade de habilidades de programação para trabalhar com o Sikuli, mas certo conhecimento de Python pode ajudar no uso mais avançado do programa. Normalmente, o Sikuli faz um bom trabalho de reconhecimento de padrões de imagens nas telas, mas seu IDE oferece um recurso útil que permite ajustar e testar a precisão do reconhecimento dos elementos da tela. Para isso, clique na tela desejada no script, para que o Sikuli abra uma janela de visua- lização, onde as áreas que corres- pondem ao padrão da imagem na tela estão marcadas com retângulos vermelhos. Isso pode ajudar na so- lução de problemas do script, caso as áreas corretas não estejam sendo atingidas na interface especificada. Além disso, é possível usar o Slider Similarity para precisar o reconhe- cimento. Quando o script estiver pronto, ele deverá ser exportado como um pacote executável .skl selecionando o comando Export executable no menu File. Então, ele poderá ser executado sem ser aber- to no IDE Sikuli usando o seguinte comando no terminal: caminho/do/sikuli/sikuli-ide.sh script.skl Substitua /caminho/do/sikuli pelo verdadeiro caminho até o diretório do IDE Sikuli, e script.skl com o nome do script que será executado. Trocando em miúdos O Sikuli é um projeto fascinante e com enorme potencial. O projeto ainda está engatinhando e por isso há espaço para melhorias. Neste aspecto, a documentação dos re- cursos do Sikuli ainda é deficiente. No momento, o melhor método para conhecer o Sikuli é usá-lo e descobrir suas possibilidades es- crevendo scripts. Para começar, é possível usar a seção “Sikuli Script Commands for Jython” [2] na documentação e no blog do projeto [3]. n
Queremos ouvir sua opinião. Fale conosco em cartas@linuxmagazine.com.br Este artigo no nosso site: http://lnm.com.br/article/
[1] Sikuli: http://groups.csail.mit.edu/uid/sikuli/ [2] Comandos do Sikuli para Jython: http://sikuli.org/documentation. shtml#doc/pythondoc-python.edu.mit.csail.uid.Sikuli.html [3] Blog oficial do Sikuli: http://blog.sikuli.org/
Dmitri Popov é formado em letras (idioma russo) e lingüística computacional; há vários anos trabalha como tradutor técnico e colaborador free-lancer. Já publicou mais de 500 artigos sobre software de produtividade, computação móvel, aplicativos web e outros tópicos relacionados à informática. Seus artigos já apareceram em sites e revistas da Dinamarca, Inglaterra, EUA, Ale- manha, Rússia e, agora, do Brasil. Figura 6 Selecionando todas as caixas. Figura 5 ...use a ação type com modificadores de teclado para emular atalhos de teclado.