Automação de testes funcionais com o Selenium
|
|
- Beatriz Garrido Camilo
- 8 Há anos
- Visualizações:
Transcrição
1 Capítulo 2 Automação de testes funcionais com o Selenium Ismayle de Sousa Santos, Pedro de Alcântara dos Santos Neto Abstract The software testing is fundamental in software quality assurance. The testing can be split according with its objective. An important testing objective is the check of the product behavior. This kind of test is known as functional testing. However, the systematic execution of testing requires time and effort. Many times this activity is ignored. It is important the use os testing tools in order to automate this activity. Selenium is an example of this. It is free of charge and it can export the generated tests for a great variety of technologies, like PHP, Java and Ruby. This work presents the basic concept related to functional testing and describes how to use Selenium integrated to Java. The work also presents good practices related to software testing that can increase productivity and reusability. Resumo O teste de software é um elemento fundamental na garantia da qualidade. Os testes podem ser divididos de acordo com seu objetivo. O teste funcional, por exemplo, tem por objetivo verificar o comportamento do produto desenvolvido. Contudo, a realização do teste, de forma sistemática, exige tempo e recursos, sendo por muitas vezes desconsiderado. Assim, é importante que os testadores utilizem ferramentas que automatizem de alguma forma essa atividade. O Selenium é um exemplo de ferramenta que auxilia essa atividade. Ela tem se destacado atualmente por ser gratuita e pela possibilidade de exportação dos testes criados a partir do seu uso para as mais variadas tecnologias, como PHP, Ruby ou Java. Este trabalho apresenta conceitos básicos do teste funcional, além de descrever como utilizar o Selenium integrado à linguagem Java. A partir dessa integração serão apresentados boas práticas que podem ser aplicadas ao desenvolvimento de testes funcionais, favorecendo produtividade e reusabilidade dos testes Introdução No cenário atual, em que softwares estão presentes nas diversas atividades do cotidiano e no qual os sistemas estão cada vez mais voltados para web, a qualidade exigida pelos
2 clientes sobre os softwares desenvolvidos se torna cada vez maior. Uma das formas mais utilizadas e recomendadas para se garantir a qualidade de software se dá a partir da realização de testes, visto que testes podem ser usados para revelar a presença de defeitos [Myers 2004]. O teste de software pode ser definido como a verificação dinâmica do funcionamento de um programa, utilizando um conjunto finito de casos de teste, adequadamente escolhido dentro de um domínio de execução, em geral infinito, contra seu comportamento esperado [Abran et al. 2004]. Assim, um teste, de maneira geral, envolve a execução de um programa com a aplicação de certos dados de entrada, examinando suas saídas, verificando se elas combinam com o esperado e estabelecido nas suas especificações. É importante ressaltar que os testes não garantem que o software não contém erros, pois para isso seria necessário testar todas as entradas válidas, o que geralmente é impossível. Ao realizarmos testes durante o desenvolvimento de software adicionamos valor ao produto, uma vez que o teste corretamente executado tende a descobrir defeitos, que devem ser corrigidos, aumentando assim a qualidade e confiabilidade de um sistema [Pressman 2006]. A falta de testes pode fazer com que o software desenvolvido seja entregue com defeitos, o que pode trazer muitos problemas, como por exemplo, prejuízos financeiros, danos físicos e até perda de vidas humanas, além de prejudicar a imagem da equipe desenvolvedora perante a empresa e desta para com o cliente. Além disso, o custo de não testar é muito maior, já que a identificação de erros se torna mais difícil e onerosa nos estágios finais do projeto e os custos para reparação crescem em uma escala elevada com o passar do tempo [Patton 2006]. Existem vários tipos de testes, cada um voltado para um determinado objetivo. Testes podem ser criados para verificar se as especificações funcionais estão corretamente implementadas (teste funcional), podendo ser executados diretamente pelos usuários finais para decidir sobre a aceitação do produto desenvolvido (teste de aceitação); podem verificar se o desempenho do software está dentro do aceitável (teste de desempenho); se ele funciona sob condições anormais de demanda (teste de estresse); se o software é adequado ao uso (teste de usabilidade); testes podem ter como objetivo mostrar que o software continua funcionando após alguma alteração (teste de regressão); se os procedimentos de instalação são corretos e bem documentados (teste de instalação); para verificar o seu nível de segurança (teste de segurança); ou para verificar seu funcionamento, a partir da liberação do produto para pequenos grupos de usuários trabalhando em um ambiente controlado (teste alfa) ou em um ambiente não controlado (teste beta) [Neto et al. 2007]. Os testes, entretanto, requerem tempo, conhecimento, planejamento, infraestrutura e pessoal especializado, sendo, portanto, uma atividade onerosa [Myers 2004]. Dependendo do tipo de sistema a ser desenvolvido, ela pode ser responsável por mais de 50% dos custos [Pressman 2006]. Para se ter uma idéia dos custos envolvidos, de acordo com um relatório publicado pelo NIST [NIST 2002], U$ ,00 é o valor relativo ao custo de falhas em softwares desenvolvidos nos Estados Unidos, apenas em Esse mesmo relatório estima que mais de 37% desse custo (U$ ,00) poderia ter sido eliminado se a infraestrutura para teste fosse melhorada. Uma forma de reduzir os custos da atividade de testes é a partir da automação dos testes usando alguma ferramenta apropriada. No caso dos testes funcionais, a maioria
3 das ferramentas disponíveis se baseia na gravação de todas as ações executadas por um usuário, gerando um script 1 com os passos realizados. Dessa forma, as ações gravadas podem ser facilmente re-executadas, permitindo assim a automação do teste. Além disso, o script gerado pode ser facilmente alterado, permitindo modificações nos testes gravados sem a necessidade de re-execução do software e nova captura [Neto et al. 2007]. Como exemplo desse tipo de ferramenta temos o Selenium-IDE [OpenQA b], que pode ser usado para automatizar testes funcionais em aplicações web. Neste capítulo serão apresentados alguns conceitos relacionados aos testes de softwares, em especial aos testes funcionais. Também serão apresentados os princípios gerais acerca dos testes e a utilização da ferramenta Selenium integrado com a linguagem de programação Java, a partir do uso do framework JUnit [Gamma and Beck ]. Além disso, será apresentada a ferramenta Bromine [OpenQA a], que foi criada para o gerenciamento de testes feitos com o Selenium Conceitos Básicos Antes de tudo, é preciso diferenciar três termos muito ligados aos testes de sofwtare: erro, defeito (bug) e falha. Um erro ocorre devido a uma ação humana que produz um resultado incorreto [IEEE 1990]; um defeito em um componente ou sistema pode fazer este falhar na execução na execução de alguma funcionalidade; e uma falha corresponde a uma discrepância entre o resultado ou comportamento atual (identificado durante a execução dos testes) e o comportamento ou resultado esperado (definido nas especificações ou requisitos)[spillner et al. 2006]. Ou seja, o ser humano está sujeito a cometer um erro (engano), que produz um defeito no código. Se um defeito no código for executado, o sistema falhará ao tentar fazer o que deveria (ou o que não deveria), causando possivelmente uma falha [Müller et al. 2007]. Também é importante diferenciar teste de depuração. Testes podem demonstrar falhas que são causadas por defeitos. Depuração é a tarefa de localizar e corrigir os defeitos [Spillner et al. 2006]. Assim, as responsabilidades de cada atividade são bem distintas: testadores testam e desenvolvedores depuram. Um caso de teste é uma especificação de como um software deve ser testado. Essa especificação inclui os dados de teste, ou seja, as entradas e as saídas esperadas, e as condições sob as quais o teste deve ocorrer. O projeto de casos de teste é um dos grandes desafios do processo de teste de software, e pode ser tão desafiador quanto o projeto do próprio software [Pressman 2006]. Como geralmente é impossível testar um programa exaustivamente, ou seja, testar todos os possíveis casos, o conjunto de casos de teste deve ser o mais abrangente possível levando em conta qual o sub-conjunto dos casos possíveis tem maior probabilidade de exibir falhas. Um procedimento de teste é uma especificação de uma seqüência de ações para execução de um determinado teste. Alguns exemplos são um conjunto de passos a serem seguidos em uma interface gráfica, um conjunto de funções a serem chamadas ou uma seqüência de requisições de página para um sistema web. Quanto a construção dos testes, existem basicamente dois métodos que podem ser 1 Conjunto de instruções para um programa.
4 utilizados [Filho 2003]: (i) método da caixa branca, que objetiva determinar defeitos na estrutura interna do produto, por meio do desenho de testes que exercitem suficientemente os possíveis caminhos de execução; e (ii) método da caixa preta, que tem por objetivo determinar se os requisitos foram total ou parcialmente satisfeitos pelo produto sem levar em conta como ocorre o processamento Princípios dos testes Burnstein [Burnstein 2003] define princípios, considerando o domínio da engenharia de sofwtare, como sendo leis, regras ou doutrinas relativas a softwares, a maneira como são construídos e como eles se comportam. Assim, sempre que for implementar testes, o testador deve ter em mente os princípios gerais dos testes [Spillner et al. 2006]: Princípio 1: Testes demonstram a presença de defeitos, não a ausência. O teste pode demonstrar a presença de defeitos, mas não pode provar que eles não existem. O teste reduz a probabilidade que os defeitos permaneçam em um software, mas mesmo se nenhum defeito for encontrado, não prova que ele esteja perfeito. Princípio 2: Teste exaustivo é impossível. Testar todos os valores possíveis para todas as entradas, efetuando todas as formas de combinação e levando em conta diferentes precondições é geralmente impossível. Na prática, na maioria das vezes os softwares requerem números astronomicamente altos de casos de testes. Assim, em vez do teste exaustivo, o testador deve levar em conta os riscos e prioridades do sistema sob teste para focar os casos dos testes. Princípio 3: A atividade de teste deve começar o mais cedo possível. A atividade de teste deve começar o mais breve possível no ciclo de desenvolvimento do software e deve ser focado em objetivos definidos. Princípio 4: Defeitos tendem a estar agrupados. Geralmente a maioria dos defeitos são encontrados em algumas partes do software sob teste, ou seja, é muito pouco provável que os defeitos estejam uniformemente distribuídos pelo sofwtare. Princípio 5: O paradoxo do perticida. Pode ocorrer de um mesmo conjunto de testes que são repetidos várias vezes não encontrarem novos defeitos após um determinado momento. Para superar este paradoxo do pesticida, os casos de testes necessitam ser freqüentemente revisados e atualizados. Um conjunto de testes novo e diferente precisa ser escrito para exercitar diferentes partes do software ou sistema com objetivo de aumentar a possibilidade de encontrar mais falhas. Princípio 6: Testes dependem do contexto. Os testes devem ser adaptados aos riscos e ambientes inerentes da aplicação. Softwares de segurança crítica, como por exemplo o do computador de bordo de aeronaves, são testados diferentemente de softwares do comércio eletrônico Princípio 7: A ilusão da ausência de falhas. Encontrar e consertar defeitos não ajuda se o sistema construído não atende às expectativas e necessidades dos usuários.
5 2.4. Testes funcionais de software O teste funcional é um teste para avaliar o quanto o comportamento observado do software está em conformidade com as especificações [Abran et al. 2004]. Isso significa que esse teste é baseado na análise da especificação de funcionalidades do software testado [Spillner et al. 2006]. Assim, o teste funcional é feito para verificar, por exemplo, se o cadastro de um novo usuário em um sítio Web funciona conforme o esperado. Para implementar os testes de forma eficiente e evitar a construção de casos de testes desnecessários é necessário utilizar técnicas específicas para projetar os casos de testes. A seguir serão apresentadas as duas principais técnicas usadas para o desenho de testes funcionais: a particação de equivalência e a análise do valor limite. A partição de equivalência é um método que divide o domínio de entrada em categorias de dados. Cada categoria agrupa dados que possuem as memas características e revelam uma classe de erros, permitindo assim, que casos de teste na mesma categoria sejam eliminados sem que se prejudique a cobertura dos testes [Filho 2003]. Em um programa de cadastro de um usuário, por exemplo, o mês do nascimento do usuário deve estar entre 1 e 12. Com isso, as possíveis classes de equivalência para essa entrada são: i) todos os valores inteiros menores que 1; ii) valores inteiros entre 1 e 12; e iii) valores inteiros maiores que 12. Para cada uma dessas classes, qualquer valor tem, potencialmente, a mesma capacidade de detectar erros, sendo dispensável a execução de vários testes para valores pertencentes à mesma classe de equivalência. Não é necessário, portanto, testar vários números negativos para verificar como a aplicação se comporta. Assim, um bom conjunto de teste para esse caso seria termos um valor menor que 1, um valor entre 1 e 12, e um valor maior que 12. O uso de outros valores seria desnecessário, uma vez que todos os valores em uma classe de equivalência deveriam ter o mesmo comportamento. Na Análise de Valor-Limite os casos de teste são escolhidos próximo ou nas fronteiras dos domínios de entrada, uma vez que boa parte das falhas tendem a se concentrar próximo a esses valores. O emprego dessa técnica deve ser complementar ao uso da partição de equivalência. Assim, em vez de selecionar um elemento aleatório de cada classe de equivalência, selecionam-se os casos de teste nas extremidades de cada classe [Filho 2003]. Para utilizar a técnica do Valor-Limite no exemplo anterior, devemos selecionar como valores representantes das partições, os valores que estão no limite entre uma classe e outra. Assim, para representar a partição de valores abaixo de 1 (um) utilizaríamos 0 (zero); para representar valores entre 1 e 12 utilizaríamos os números 1 e 12; e o número 13 seria o escolhido para representar valores na partição acima de Testes manuais versus Testes automatizados Um teste manual é aquele em que o testador executa o software manualmente com base nas especificações dos testes, as quais detalham os casos e procedimentos de testes. Os testes realizados dessa forma, em geral, são cansativos e de difícil repetição. Já os testes automatizados, são aqueles feitos com auxilio de alguma ferramenta apropriada. Eles exigem mais tempo para implementar os testes, mas provêem mais segurança na manutenção e permitem que os testes sejam executados a qualquer instante.
6 Antes de decidir em automatizar ou não os testes, é preciso analisar a aplicação testada e quais testes serão contruídos. A principal razão para automação dos testes é a necessidade de re-execução dos mesmos. Supondo, por exemplo, que um testador projetou centenas de testes e optou por executá-los manualmente. Se em algum momento da execução da bateria de testes 2 for descoberto uma falha, então os desenvolvedores deverão ser avisados. Além disso, dependendo da falha, a execução dos testes restantes deverá ser suspensa até que a mesma seja corrigida. Após a correção, como existem grandes chances de que outras partes do software sejam afetadas, o testador terá que executar todos os testes novamente e novas falhas podem ser encontradas repedindo o ciclo. Em um caso típico, existe a necessidade de se executar testes centenas e até milhares de vezes. Isso normalmente justifica a automação dos testes. A automação de um conjunto de testes geralmente demanda bem mais esforço que sua execução manual, mas quando automatizado, sua execução é bastante simples, se atendo a execução de um script ou o clique de alguns botões [Neto et al. 2007]. Assim, em situações como a descrita, automatizar os testes é a melhor maneira de economizar tempo e dinheiro. Contudo, nem sempre é vantajoso automatizar os testes. Existem situações em que realizar os testes manualmente é mais adequado. Se a interface de usuário da aplicação for mudar consideravelmente em um futuro próximo, por exemplo, então qualquer automação que for feita vai precisar ser refeita. Além disso, quando o software for simples e não houver tempo suficiente, ou se for improvável o reuso dos testes, então o teste manual continua sendo uma opção a ser considerada A ferramenta Selenium O Selenium é um conjunto de ferramentas OpenSource 3 que pode ser usada para criação de testes funcionais automatizados para aplicações Web. Uma das suas vantagens é a possibilidade de executar os testes em qualquer navegador com suporte a JavaScript 4. Além disso, as ferramentas que compõem o Selenium provêem um rico conjunto de funções específicas para a implementação de testes, tais como: open: abre uma página usando uma URL 5 que é fornecida como parâmetro; click/clickandwait: executa o clique em um botão, link ou imagem; verifytextpresent/asserttextpresent: verifica a presença de um texto em qualquer lugar da página; verifytext/asserttext: verifica se um texto aparece em um determinado local; waitforpagetoload : pausa uma execução do teste até que uma nova página seja carregada. Esse comando é chamado automaticamente pelos comandos com terminação AndWait ; 2 Conjunto de testes. 3 Software de código aberto. 4 Linguagem de criação de scripts desenvolvida pela Netscape em Acrônimo para Uniform Resource Locator.
7 type: entra com um valor em um determinado campo da página; select: seleciona um elemento dentre uma lista de opções. Atualmente as principais ferramentas que compõem o Selenium são: Selenium- IDE, Selenium-RC e Selenium-GRID. O Selenium-IDE é um ambiente de desenvolvimento integrado para construção de casos de testes. Ele opera como plug-in do FireFox e provê interfaces amigáveis para o desenvolvimento e execução de suites de testes (conjunto de testes). O Selenium-IDE é uma ferramenta do tipo record-and-playback, ou seja, ela captura as ações executadas pelo testador e gera um script que permite a re-execução das ações feitas, automatizando assim, o teste. Sua instalação é simples: basta abrir o arquivo de instalação pelo Firefox. Apesar da facilidade de automação dos testes com o Selenium-IDE, algumas tarefas ainda não são simples para se executar com essa ferramenta. Ele não oferece, por exemplo, suporte para testes com interação ou que devem ser executados com base em uma determinadas condições. Para esses casos deve-se utilizar o Selenium RC (Remote- Control). Este possiblita uma maior flexibilidade ao testador, permitindo a construção de lógicas de teste mais complexas, a partir do uso de uma linguagem de programação. Para isso, ele provê uma API (Application Programming Interface) 6 e bibliotecas para cada uma das linguagens suportadas: HTML, Java, C#, Perl, PHP, Python, e Ruby. O Selenium-Grid permite distribuir os testes em múltiplas máquinas, reduzindo assim o tempo gasto na execução de uma suite de testes. Ele é ideal para escalonar grandes suites de testes ou suites de testes que devem ser executadas em múltiplos ambientes. O Selenium-Grid atua executando múltiplas instâncias do Selenium-RC em paralelo de forma transparente, fazendo com que os testes não precisem se preocupar com a infraestrutura utilizada. Como mencionado anteriormente, o conjunto de comandos do Selenium permite realizar uma série de ações necessárias para execução de testes em páginas web, tais como, entrar com valores em campos da página, selecionar itens de uma lista de opções, clicar em botões, clicar em links e realizar asserções com base nos resultados exibidos da página. Os comandos que realizam essas ações são divididas em três grupos: Actions: são comandos que geralmente causam uma mudança no estado da aplicação. Eles representam operações realizadas pelo usuário durante a execução de um sistema web, tais como o comando click que indica um clique em um determinado botão ou link. A maioria desses comandos pode conter o sufixo AndWait, o que indica que a ação fez uma chamada ao servidor e que o Selenium deve esperar a página carregar para executar o próximo passo. Accessors: examinam o estado da aplicação e armazenam o resultado em variáveis, como o comando storetitle que armazena o titulo da página em uma variável determinada por parâmetro. Vale notar que as variáveis criadas no Selenium podem ser acessadas de duas formas: ${nomedavariável} ou javascriptstored- Vars[ nomedavariável ]. 6 Um conjunto de rotinas e padrões estabelecidos para a utilização das suas funcionalidades.
8 Assertions: são como os Accessors, mas verificam se o estado da aplicação está conforme o esperado. Todas as asserções do Selenium podem ser usadas de três modos: assert, verify e waitfor. Para verificar a presença de um certo texto em um determinado local, por exemplo, pode-se usar o comando asserttext, verifytext ou waitfortext. Com o assert, se a verificação falhar o teste pára, enquanto que com o verify a ferramenta acusa a falha mas o teste continua executando. Já no modo waitfor, que é muito útil para testar aplicações com Ajax 7, o Selenium espera o texto aparecer para prosseguir a execução. Quanto aos parâmetros utilizados pelos comandos do Selenium, eles tipicamente são: i) uma identificação para algum elemento da página; ii) um texto para verificar se ele aparece na página ou para colocá-lo em algum campo da página. O número de parâmetros usados varia de acordo com o comando. Alguns exigem dois parâmetros, outros exigem somente um, e existem aqueles que não utilizam parâmetros. A Figura 2.1 ilustra um script de teste no formato HTML 8 feito com o Selenium- IDE. Nele pode-se perceber que no formato HTML cada comando é representado como uma linha de uma tabela. Cada linha é por sua vez dividida em três células representando o comando, o alvo e o valor, nessa ordem. O script ilustrado nesta figura, por exemplo, é formado por três comandos: o comando open com apenas um parâmetro, que representa a URL a ser acessada (alvo); o comando type, com dois parâmetros, o primeiro representando o nome do campo a ter uma informação digitada (alvo) e o segundo contendo o texto que será entrado no campo (valor); e o comando asserttextpresent, com um parâmetro, indicando o texto (alvo) a ser procurado na página. Figura 2.1. Script de teste do Selenium em HTML. Nas próximas sub-seções serão apresentados o Selenium-IDE e a criação de testes automatizados com o Selenium-RC usando a linguagem Java e o framework JUnit. A Figura 2.2 ilustra a página web que será utilizada como base para a maior parte dos scripts 7 Acrônimo de Asynchronous Javascript And XML. 8 Acrônimo para HyperText Markup Language.
9 de testes que serão apresentados no decorrer do capítulo. Essa página é responsável pelo cadastro de usuários e faz parte de um sistema de administração de um sítio que segue um modelo específico da UFPI. Figura 2.2. Página Web que servirá de base para os scripts de testes apresentados neste capítulo Uma breve introdução ao Selenium-IDE O Selenium-IDE, ilustrado na Figura 2.3, é um plug-in do FireFox que permite ao testador desenvolver e executar casos de testes sem a necessidade de conhecimentos em programação. Ele possui uma interface amigável e exibe o script de teste como uma tabela, se tornando assim, ideal para aprender a sintaxe e o funcionamento do Selenium. Figura 2.3. A ferramenta Selenium-IDE.
10 O menu Arquivo permite ao usuário criar, abrir ou salvar testes e suites de testes. O menu Editar contém as operações para editar os casos de testes e o menu Opções permite mudar as configurações da ferramenta, como por exemplo, o testador pode especificar o timeout (tempo limite que a ferramenta deve esperar por uma resposta) e qual linguagem (Html, Java, Ruby, etc.) será usada para salvar os casos de testes. Logo abaixo do menu principal, pode ser especificada a UrlBase, que será compartilhada por todos os testes, e também existem opções para controlar a execução dos casos de testes, como por exemplo, a velocidade e a forma de execução. A ferramenta contém um menu que é exibido após o clique ou seleção de um algum elemento da página atual. A Figura 2.4 exibe o resultado de um clique com o botão direito do mouse, sobre o texto Inserir Usuário, da página ilustrada na Figura 2.2. Nesse caso é exibido um menu mostrando alguns comandos do Selenium, a maioria com o parâmetro alvo pré-definido de acordo com o elemento selecionado (clicado). Figura 2.4. Menu exibido ao clicar em algum elemento da página. Começar a construir testes com o Selenium-IDE é muito simples: basta abrir a ferramenta por meio da aba Ferramentas do FireFox e o Selenium-IDE já começa a gravar as ações que forem feitas. A Figura 2.5 ilustra o funcionamento da ferramenta, que monta o script de teste à medida que ações vão sendo feitas pelo testador. Para encerrar a gravação basta clicar no botão situado nas proximidades no canto superior direito. O Selenium-IDE também provê flexibilidade ao construir os testes. Conforme exibido na Figura 2.6 o testador pode modificar o comando (digitando ou selecionando algum dentre os exibidos por meio do drop-down destacado na figura), o alvo, o valor, e
11 Figura 2.5. Gravando testes com o Selenium-IDE. no caso de dúvidas ele pode consultar a API do Selenium na aba Reference, na qual a sintaxe do comando selecionado é descrito. Além disso, a ferramenta permite inserir comentários, copiar/excluir/remover comandos, executar um único comando por vez, definir onde deve começar e parar a execução. Figura 2.6. A) Visualização da descrição dos comandos. B) Opções disponíveis para alterar o script de teste. A localização dos elementos na página web, necessária para utilizar muitos dos comandos do Selenium (como o type ), pode ser feita a partir de algum identificador,
12 do XPath 9 do elemento, ou a partir do DOM 10. No caso de um campo ou formulário, o elemento pode ser identificado por meio do seu nome ou identificador (id). Quando não há o atributo name ou id para o elemento desejado, este pode ser localizado usando-se xpath que inicia com //. A expressão //form[1], por exemplo, refere-se ao segundo formulário da página (pois a identificação inicia do zero). Por fim, os elementos da página também podem ser localizados a partir de expressões do tipo document.forms[0].elements[3], a qual se refere ao quarto elemento presente no primeiro formulário da página. O Selenium-IDE também fornece meios para tornar os testes mais fáceis de entender e manter. Supondo, por exemplo, que foram implementados 100 casos de testes, e que em todos eles é necessário fazer o login para acessar o sistema, então, se para logar for preciso preencher os campos login e senha, todos os casos de testes irão se referir a esses dois elementos (identificados na página por login e senha ). Agora, supondo que por algum motivo, como o uso de algum framework, o nome dos campos tenha que ser alterado para form:login e form:senha. Nesse caso, todas as referências aos campos login e senha devem ser alterados para form:login e form:senha, respectivamente. Fazer essa alteração manualmente certamente exigiria muito tempo e toda vez que a referência a um elemento da página fosse alterada todos os testes deveriam ser atualizados. Agora supondo que um testador que não tenha implementado os 100 testes, mencionados acima, tenha que entendê-los para saber quais funcionalidade foram testadas, então, dependendo de como for feita a referência aos elementos da página, ele poderia perder muito tempo tentanto identificá-los. É bom lembrar que nem sempre será possível se referir a um elemento usando algum termo que permita a sua fácil identificação. Algumas vezes (e não são poucas) os elementos da página testada deverão ser localizados pelo Selenium a partir de expressões XPath do tipo //table[@width=100]//tr[3]/td[2]//a, o que dificulta a leitura do teste. Assim, para tornar os testes mais legíveis e fáceis de atualizar, o testador pode usar mapeamentos utilizando JSON 11 entre nomes e os elementos da página sob teste. Isso é possível a partir do UI-Element que é um recurso suportado tanto pelo Selenium- IDE quanto pelo Selenium-RC. A Figura 2.7 ilustra à esquerda um teste feito para a página de cadastro de usuários (ilustrado na Figura 2.2) feito no Selenium-IDE sem utilizar UI-Element e à direita o mesmo teste utilizando o UI-Element. Com base nela, podemos observar que utilizando o mapeamento o teste fica muito mais legível e fácil de entender. Com o script da parte B da figura é fácil perceber que o teste é feito sobre a página de cadastro de usuário, que após a preenchimento dos campos foi pressionado o botão Cadastrar e que o resultado esperado é uma mensagem com o texto Usuário Cadastrado. Outra vantagem da utilização do UI-Element é a fácil visualização da descrição dos elementos. Esta é especificada a partir do mapeamento e é visível na aba Reference após clicar em algum comando que utilize um elemento previamente mapeado. 9 Acrônimo de XML Path Language. 10 Acrônimo de Document Object Model. 11 Acrônimo de JavaScript Object Notation
13 Figura 2.7. A) Exemplo de teste sem UI-Element. B) Mesmo teste da esquerda com UI-Element. Essas descrições tornam o teste ainda mais claro, permitindo que o mesmo seja rapidamente compreendido. A Figura 2.8 ilustra a descrição associada ao elemento cadastrousuario::mensagemexibida, localizado no terceiro div da página (pois seu locator é //div[2] ). Para construir o mapeamento entre nomes e elementos basta usar um editor de textos e criar um arquivo no formato.js com mapeamento feito usando os comandos reconhecidos pelo UI-Element. Em seguida, esse arquivo deve ser submetido como extensão do Selenium Core 12 a partir do menu Opções do Selenium-IDE. Os comandos que podem ser utilizados para criar o mapeamento através do UI- Element são: addpageset: para adicionar uma página ou conjunto de páginas que contém os elementos que serão usados no teste. Para cada conjunto deve ser especificado o nome e a descrição. Também existem outros atributos que podem ser definidos, como por exemplo, pode-se especificar uma expressão regular para indicar o path das páginas que pertencem ao grupo em questão a partir do atributo pathregex. addelement: para adicionar os elementos (campos, botões, links, imagens, dentre outros) das páginas. Deve ser definido o nome, a descrição e a localização do elemento, a qual é definida no parâmetro locator. A primeira linha do mapeamento deve seguir a estrutura var nomedavariavel = new UIMap(). Mais comandos podem ser encontrados através do menu Ajuda do 12 Componente do Selenium responsável por executar os comandos do Selenium no browser
14 Figura 2.8. Visualização da descrição dos campos por meio do UI-Element. Selenium-IDE. A Figura 2.9 ilustra o mapeamento que foi utilizado no teste exibido na parte B da Figura 2.7. Observe que se a localização (ou forma de identificação) dos elementos for alterada, basta atualizar o atributo locator para que todos os testes estejam atualizados. Se o endereço da página de inserção de usuário for alterado, por exemplo, então basta atualizar o atributo pathregex do conjunto de página (Pageset) nomeado de cadastrousuario e o atributo locator do elemento linkusuario para que todos os testes da página de cadastro de usuário sejam atualizados. Por fim, muitas vezes existem sequências de comandos que são executadas mais de uma vez em um mesmo teste. Também existem sequências de comando que são executadas em mais de teste, usando os mesmos parâmetros ou não, que podem pertencer ou não a uma mesma suite de testes. Assim, é interessante usar algum meio para agrupar tais sequências, possibilitando a invocação de toda a sequência com um único comando. Com Selenium-RC, o agrupamento de comandos pode ser facilmente feito a partir de blocos. Já para o Selenium-IDE é preciso usar o Rollup. A partir da definição das regras de agrupamento (Rollup rules), o testador pode reunir comandos em grupos possibilitando que eles sejam invocados com o comando rollup. A parte A da Figura 2.10 ilustra a definição de regras de agrupamento para reunir uma sequência de comandos em grupo identificado por login, que efetua o login em uma página web. A parte B da Figura 2.10 ilustra um teste que utiliza o comando rollup para efetuar a sequência de comandos do grupo identificado por login.
15 Figura 2.9. Mapeamento feito para os elementos da página exibida na Figura 2.2. A criação dos arquivos com os Rollup rules é feita da mesma forma que a definição do mapeamento descrito acima, ou seja, a partir da criação de um arquivo no formato.js e da submissão desse arquivo como extensão do Selenium Core a partir do menu Opções do Selenium-IDE. Porém, nesse caso a primeira linha deve seguir a estrutura var nomedavariavel = new RollupManager() e o único comando disponível é comando addrollup, usado para adicionar uma nova regra. Existem vários atributos que podem ser definidos. No script ilustrado, o principal atributo é o getexpandedcommands o qual especifica quais serão os comandos a serem executados Escrevendo testes com o Selenium RC e a linguagem Java Como mencionado anteriormente, com o Selenium-RC o testador pode construir testes utilizando todo o poder fornecido pela linguagem de programação utilizada. Ele pode, por exemplo, trabalhar com iterações, expressões condicionais, ler e escrever em arquivos, além de poder tratar dinamicamente os resultados dos testes.
16 Figura A) Definição das Rollup rules. B) Teste usando o comando rollup. O Selenium-RC é constituído de dois componentes principais: Selenium Server, ponte para o navegador, a partir do qual os comandos acionados são transmitidos e executados no navegador selecionado; Bibliotecas, conjunto de instruções que são acionadas e que causam uma comunicação com o Selenium Server. Assim, para executar testes feitos com o Selenium e alguma linguagem de programação é preciso iniciar o servidor ( selenim-server.jar ) e para que os comandos do Selenium sejam reconhecidos é necessário acrescentar a biblioteca referente a esta linguagem ao projeto que contém o teste. A maneira mais fácil de iniciar a criação de testes funcionais automatizados utilizando Selenium e Java é criando primeiro um script (com a estrutura geral do teste) utilizando o Selenium-IDE. A Figura 2.11 exibe um script de teste no formato HTML feito com o Selenium-IDE para o cadastro de usuários da página exibida na Figura 2.2. Observe que as cinco primeiras linhas do script exibido na figura - da abertura da página /modelo/admin/index.php até a verificação do texto Sair - estão associadas ao login no sistema. Isso porque para cadastrar um usuário é preciso fazer antes o login no sistema. Logo, as ações necessárias para efetuar o login também devem ser inseridas no script de teste para que ao executar a sequência de comandos do teste se tenha acesso a página de cadastro de usuário. É bom lembrar que o Selenium simula um usuário acessando a aplicação, e como o usuário deve logar para ter acesso as funções administrativas do sistema, o teste com o Selenium também deve realizar os procedimentos necessários para efetuar o login.
17 Figura Script de teste feito com o Selenium-IDE. O próximo passo é converter script do formato HTML para Java, ou seja, converter os comandos do script nas funções disponíveis na API para a linguagem Java. Isso é feito a partir do menu Opções > Formato > Java (JUnit) SeleniumRC. Caso o testador queira executar os testes no TesteNG ele deve usar a opção Opções > Formato > Java (TestNG) SeleniumRC. O resultado da exportação, para o framework JUnit, do script ilustrado na Figura 2.11 é exibido na Figura Figura Script de teste da Figura 2.11 exportado para Java (JUnit). Após termos o arquivo Java, podemos utilizá-lo a partir do conjunto Eclipse+JUnit para concluir a automação dos testes. Como o teste utiliza a API do Selenium para o Java é preciso adicionar a biblioteca da API Java (selenium-java-client-driver.jar) ao projeto
18 com o teste para que os comandos sejam reconhecidos, caso contrário, eles ficarão em destaque conforme exibido na Figura Esse destaque indica que o comando não foi reconhecido, gerando assim erro de compilação no teste. Figura Visualização do teste exportado no Eclipse. O passo seguinte consiste na construção dos procedimentos de testes parametrizados. Para isso basta criar funções específicas reunindo os comandos de acordo com as ações deles e substituir os valores utilizados por variáveis. Assim, para o script da Figura 2.13, podem ser criados duas funções: login (que efetua o login na página) e cadastrousuario (que cadastra um usuário no sistema). Vale lembrar que é preciso instanciar uma variável do tipo Selenium para ter acesso as suas funções. Para que a instanciação do Selenium seja feita somente na classe com os casos de testes, podemos passar a variável Selenium por parâmetro. Com isso, nossa classe com os procedimentos de teste fica como exibido na Figura Em seguida, deve-se concluir a implementação dos procedimentos de testes, de forma que eles também sejam utilizados para verificar se as operações vão falhar quando deveriam. Se no login, por exemplo, os campos login e senha não forem corretamente preenchidos aparecerá na tela do sistema considerado uma mensagem de alerta (alert) indicando o erro. Assim, podemos concluir a implementação da função login acrescentando mais uma variável que armazenará o erro (mensagem do alerta) esperado. Considerando que a mesma situação ocorre durante o cadastro de um usuário, teremos os procedimentos escritos conforme a Figura Por fim, resta implementar os casos de teste utilizando para isso os procedimentos de testes que foram implementados e as especificações de testes 13. Na Figura 2.16 apresentamos alguns casos de teste criados para verificar o login e o cadastro de usuários do sistema. 13 Documentos que descrevem os casos e procedimentos de testes.
19 Figura Classe com o procedimento de teste parametrizado. Os testes criados com o Selenium são testes que utilizam o JUnit, de forma similar aos testes de unidade. Sua execução acontece da mesma forma que os testes de unidade, clicando com o botão direito do mouse em cima da classe e solicitando sua execução via JUnit. No entanto, existe uma diferença: para que o teste execute, é necessário que exista uma instância do Selenium Server executando na mesma máquina que contém os testes que serão executados. Assim, antes de executar os testes é preciso executar o arquivo selenium-server.jar 14. Sua execução pode ser feita via comando java -jar seleniumserver.jar". A Figura 2.17 exibe o resultado da execução dos testes apresentados neste capítulo. O lado A da figura apresenta a primeira execução dos testes, e no lado B a reexecução dos mesmos. Observe que no lado A da figura, a barra de execução ficou verde, indicando que nenhuma falha foi detectada, ou seja, o teste passou. Enquanto que no lado B, a barra de execução ficou vermelha pois o execução do último teste encontrou uma falha. Isso porque no último teste, no qual é feito o cadastro de um novo usuário, o resultado esperado é a mensagem Usuário Cadastrado. Na primeira execução da suite de testes, eles passaram porque não havia o usuário Usuário de teste 15 cadastrado no sistema. Contudo, com a re-execução da mesma suite de teste, sem restaurar o banco de dados para o estado original, o sistema não permitiu o cadastro do mesmo usuário, não resultando, portanto, no resultado esperado pelo teste. 14 Servidor do Selenium, que pode ser baixado no site do Selenium. 15 Nome do usuário contido no script de teste.
20 Figura Classe com o procedimento de teste completo. Vale salientar que também é possível implementar e executar casos de teste escritos com o Selenium utilizando a linguagem Java a partir do framework TestNG. Este por sua vez ofecere características próprias que podem ser utilizadas para facilitar a implementação dos testes. A escolha do framework a ser utilizado deve ser baseado nos conhecimentos da equipe de teste e nos recursos que tais ferramentas oferecem. Assim como no Selenium-IDE, o mapeamento feito com o UI-Element também pode ser usado com o Selenium-RC, porém neste só é possível adicionar um arquivo de mapeamento e ele deve ser chamado de user-extensions.js e deve estar no mesmo diretório do selenium-server.jar. Com isso, basta executar o servidor com o comando java -jar selenium-server.jar -userextensions user-extensions.js para que o mapeamento seja reconhecido e dessa forma o procedimento de cadastro de usuário, por exemplo, pode ser escrito conforme exibido na Figura 2.18.
SELENIUM 28/03/2011. Márcio Delamaro Harry Trinta
1 SELENIUM 28/03/2011 Márcio Delamaro Harry Trinta O que é a Selenium? Selenium é uma ferramenta desenvolvida para a automação de testes em aplicações Web Suporta diversos browsers: Firefox Internet Explorer
Leia maisManual SAGe Versão 1.2 (a partir da versão 12.08.01)
Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação
Leia mais1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.
1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2. Editando um Artigo 4.3. Excluindo um Artigo 4.4. Publicar
Leia maisManual do Visualizador NF e KEY BEST
Manual do Visualizador NF e KEY BEST Versão 1.0 Maio/2011 INDICE SOBRE O VISUALIZADOR...................................................... 02 RISCOS POSSÍVEIS PARA O EMITENTE DA NOTA FISCAL ELETRÔNICA.................
Leia mais02 - Usando o SiteMaster - Informações importantes
01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,
Leia maisGuia Site Empresarial
Guia Site Empresarial Índice 1 - Fazer Fatura... 2 1.1 - Fazer uma nova fatura por valores de crédito... 2 1.2 - Fazer fatura alterando limites dos cartões... 6 1.3 - Fazer fatura repetindo última solicitação
Leia maisPORTAL DE COMPRAS SÃO JOSÉ DO RIO PRETO
Compra Direta - Guia do Fornecedor PORTAL DE COMPRAS SÃO JOSÉ DO RIO PRETO Página As informações contidas neste documento, incluindo quaisquer URLs e outras possíveis referências a web sites, estão sujeitas
Leia maisCONSTRUÇÃO DE BLOG COM O BLOGGER
CONSTRUÇÃO DE BLOG COM O BLOGGER Blog é uma abreviação de weblog, qualquer registro frequênte de informações pode ser considerado um blog (últimas notícias de um jornal online por exemplo). A maioria das
Leia maisProjeto SIGA-EPT. Manual do usuário Módulo Requisição de Almoxarifado SISTEMA INTEGRADO DE GESTÃO ACADÊMICA
Projeto SIGA-EPT Manual do usuário Módulo Requisição de Almoxarifado SISTEMA INTEGRADO DE GESTÃO ACADÊMICA Versão setembro/2010 Requisição de Almoxarifado Introdução Requisição é uma solicitação feita
Leia maisManual Captura S_Line
Sumário 1. Introdução... 2 2. Configuração Inicial... 2 2.1. Requisitos... 2 2.2. Downloads... 2 2.3. Instalação/Abrir... 3 3. Sistema... 4 3.1. Abrir Usuário... 4 3.2. Nova Senha... 4 3.3. Propriedades
Leia maisDOCUMENTAÇÃO DO FRAMEWORK - versão 2.0
DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando
Leia maisGERENCIADOR DE CONTEÚDO
1/1313 MANUAL DO USUÁRIO GERENCIADOR DE CONTEÚDO CRISTAL 2/13 ÍNDICE 1. OBJETIVO......3 2. OPERAÇÃO DOS MÓDULOS......3 2.1 GERENCIADOR DE CONTEÚDO......3 2.2 ADMINISTRAÇÃO......4 Perfil de Acesso:... 4
Leia maisProcedimentos para Reinstalação do Sisloc
Procedimentos para Reinstalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Criação de backups importantes... 3 3. Reinstalação do Sisloc... 4 Passo a passo... 4 4. Instalação da base de dados Sisloc...
Leia maisUNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO UNIVASF SECRETARIA DE TECNOLOGIA DA INFORMAÇÃO STI DEPARTAMENTO DE SISTEMAS DE INFORMAÇÕES
UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO UNIVASF SECRETARIA DE TECNOLOGIA DA INFORMAÇÃO STI DEPARTAMENTO DE SISTEMAS DE INFORMAÇÕES MANUAL DO USUÁRIO SISTEMA DE SUPORTE DA PREFEITURA UNIVERSITÁRIA
Leia maisÍNDICE MANUAL SITE ADMINISTRÁVEL TV. 1. Introdução 2. Acessando o site administrável/webtv SITE ADMINISTRÁVEL 3. CONFIGURAÇÕES
MANUAL SITE ADMINISTRÁVEL TV ÍNDICE 1. Introdução 2. Acessando o site administrável/webtv SITE ADMINISTRÁVEL 3. CONFIGURAÇÕES 3.1 - Dados Cadastrais 3.2 - Noticias 3.3 Redes Sociais 3.4 - Player 4. DESIGN
Leia maisOmega Tecnologia Manual Omega Hosting
Omega Tecnologia Manual Omega Hosting 1 2 Índice Sobre o Omega Hosting... 3 1 Primeiro Acesso... 4 2 Tela Inicial...5 2.1 Área de menu... 5 2.2 Área de navegação... 7 3 Itens do painel de Controle... 8
Leia maisGUIA RÁPIDO DE UTILIZAÇÃO DO PORTAL DO AFRAFEP SAÚDE
GUIA RÁPIDO DE UTILIZAÇÃO DO PORTAL DO AFRAFEP SAÚDE INTRODUÇÃO O portal do Afrafep Saúde é um sistema WEB integrado ao sistema HEALTH*Tools. O site consiste em uma área onde os Usuários e a Rede Credenciada,
Leia maisINTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8
ÍNDICE INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8 ACESSO ÀS FERRAMENTAS 9 FUNÇÕES 12 MENSAGENS 14 CAMPOS OBRIGATÓRIOS
Leia maisTUTORIAL DO ALUNO. Olá, bem vindo à plataforma de cursos a distância da Uniapae!!!
TUTORIAL DO ALUNO Olá, bem vindo à plataforma de cursos a distância da Uniapae!!! O Moodle é a plataforma de ensino a distância utilizada pela Uniapae sendo a unidade de ensino para rápida capacitação
Leia maisAtualizaça o do Maker
Atualizaça o do Maker Prezados Clientes, Nós da Playlist Software Solutions empresa líder de mercado no desenvolvimento de software para automação de rádios - primamos pela qualidade de nossos produtos,
Leia maisConstrutor de sites SoftPixel GUIA RÁPIDO - 1 -
GUIA RÁPIDO - 1 - Sumário Introdução...3 Por que utilizar o Construtor de Sites?...3 Vantagens do Construtor de Sites...3 Conceitos básicos...3 Configuração básica do site...5 Definindo o layout/template
Leia maisMANUAL DE UTILIZAÇÃO SISTEMA DE CADASTRO INTRANET
MANUAL DE UTILIZAÇÃO SISTEMA DE CADASTRO INTRANET I Sumário 1. Objetivo do Documento... 1 2. Início... 1 3. Cadastro de Pessoa Física... 3 3.1. Preenchimentos Obrigatórios.... 4 3.2. Acesso aos Campos
Leia maisVamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.
3.5 Páginas: Ao clicar em Páginas, são exibidas todas as páginas criadas para o Blog. No nosso exemplo já existirá uma página com o Título Página de Exemplo, criada quando o WorPress foi instalado. Ao
Leia maisBem- Vindo ao manual de instruções do ECO Editor de COnteúdo.
Manual de Instruções ECO Editor de Conteúdo Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo. O ECO é um sistema amigável e intui?vo, mas abaixo você pode?rar eventuais dúvidas e aproveitar
Leia maisSumário INSTALAÇÃO DO SIATRON CONDOMÍNIO ATIVAÇÃO DA LICENÇA PRESTADORES DE SERVIÇOS PARÂMETROS DO SISTEMA
Sumário INSTALAÇÃO DO SIATRON CONDOMÍNIO ATIVAÇÃO DA LICENÇA SIATRON SÍNDICO LOGIN NO SISTEMA FAMÍLIA MORADORES VEÍCULOS FUNÇÃO PÂNICO PRESTADORES DE SERVIÇOS PARÂMETROS DO SISTEMA CONFIGURAÇÕES ACORDA
Leia maisManual de configuração do sistema
Manual de configuração do sistema (v.1.5.x Beta) Rua México, 119 Sala 2004 Centro Rio de Janeiro, RJ www.doctors-solution.com.br www.simdoctor.com.br contato@simdoctor.com.br Sumário 1. Fazendo seu primeiro
Leia maisFluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção
Este procedimento corresponde ao fluxo de trabalho de Indexação de OCR com separação de código de correção no programa de treinamento do Capture Pro Software. As etapas do procedimento encontram-se na
Leia maisEsse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5.
Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5. Ele considera que você já tem o Joomla! instalado no seu computador. Caso você queira utilizá lo em um servidor na web,
Leia maisEstá apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet.
1. Descrição Geral Este manual descreve as operações disponíveis no módulo VTWEB Client, cuja finalidade é gerenciar cadastros de funcionários, realização de pedidos e controle financeiro dos pedidos.
Leia maisSumário. Apresentação O que é o Centro de Gerenciamento de Serviços (CGS) NTI? Terminologia Status do seu chamado Utilização do Portal Web
Sumário Apresentação O que é o Centro de Gerenciamento de Serviços (CGS) NTI? Terminologia Status do seu chamado Utilização do Portal Web Fazendo Login no Sistema Tela inicial do Portal WEB Criando um
Leia maisManual de Utilização ZENDESK. Instruções Básicas
Manual de Utilização ZENDESK Instruções Básicas Novembro/2013 SUMÁRIO 1 Acesso à ferramenta... 3 2 A Ferramenta... 4 3 Tickets... 8 3.1 Novo Ticket... 8 3.2 Acompanhamentos de Tickets já existentes...
Leia maisMANUAL DE UTILIZAÇÃO DO SISTEMA GLPI
MANUAL DE UTILIZAÇÃO DO SISTEMA GLPI PERFIL TÉCNICO Versão 2.0 DEPARTAMENTO DE INFORMÁTICA E TELECOMUNICAÇÕES PREFEITURA DE GUARULHOS SP 1 Objetivo: Esse manual tem como objetivo principal instruir os
Leia maisMANUAL DE UTILIZAÇÃO
MANUAL DE UTILIZAÇÃO Módulo de operação Ativo Bem vindo à Vorage CRM! Nas próximas paginas apresentaremos o funcionamento da plataforma e ensinaremos como iniciar uma operação básica através do nosso sistema,
Leia maisMANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão 2.0 - Atualização 26/01/2009 Depto de TI - FASUL Página 1
MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento Toledo PR Página 1 INDICE 1. O QUE É O SORE...3 2. COMO ACESSAR O SORE... 4 2.1. Obtendo um Usuário e Senha... 4 2.2. Acessando o SORE pelo
Leia maisManual de Operação do Sistema de Tickets Support Suite
Manual de Operação do Sistema de Tickets Support Suite Sumário Acessando a página do HelpDesk helpdesk.virtuem.com.br... 3 Criando um Ticket... 6 Visualizando Tickets Existentes... 9 Respondendo um Ticket...
Leia maisUniversidade Federal do Mato Grosso - STI-CAE. Índice
CAPA Universidade Federal do Mato Grosso - STI-CAE Índice 1. Página da área administrativa... 1.1 Botões e campo iniciais... 2. Explicar como funcionam as seções... 2.1. Seções dinâmicos... 2.1.1 Como
Leia maisMANUAL EXPORTAÇÃO IMPORTAÇÃO
MANUAL EXPORTAÇÃO IMPORTAÇÃO Diretoria de Vigilância Epidemiológica/SES/SC 2006 1 Módulo 04 - Exportação e Importação de Dados Manual do SINASC Módulo Exportador Importador Introdução O Sistema SINASC
Leia maisSUAP Módulo Protocolo Manual do Usuário DTI DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SEÇÃO DE PROJETOS, SISTEMAS E PROCESSOS DE NEGÓCIO
SUAP Módulo Protocolo Manual do Usuário DTI DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SEÇÃO DE PROJETOS, SISTEMAS E PROCESSOS DE NEGÓCIO SUMÁRIO 1. APRESENTAÇÃO... 1 1.1. ACESSO AO SISTEMA... 1 1.2. TELA INICIAL
Leia maisManual de Utilização das Funções Básicas do Sistema ClinicWeb
Manual de Utilização das Funções Básicas do Sistema ClinicWeb Dezembro/2012 2 Manual de Utilização das Funções Básicas do Sistema ClinicWeb Sumário de Informações do Documento Título do Documento: Resumo:
Leia maisManual de Utilização
Manual de Utilização Versão 1.0 18/01/2013 Sempre consulte por atualizações deste manual em nossa página. O Cotação Web está em constante desenvolvimento, podendo ter novas funcionalidades adicionadas
Leia maisTutorial WEB CONTENT MANAGEMENT [WCM] Obtenha benefícios a partir das aplicações customizadas da ADMT.
Tutorial WEB CONTENT MANAGEMENT [WCM] Obtenha benefícios a partir das aplicações customizadas da ADMT. PÁGINA: 2 de 21 Nenhuma parte deste documento pode ser utilizado ou reproduzido, em qualquer meio
Leia maisFollow-Up Acompanhamento Eletrônico de Processos (versão 3.0) Manual do Sistema. 1. Como acessar o sistema Requisitos mínimos e compatibilidade
do Sistema Índice Página 1. Como acessar o sistema 1.1 Requisitos mínimos e compatibilidade 03 2. Como configurar o Sistema 2.1 Painel de Controle 2.2 Informando o nome da Comissária 2.3 Escolhendo a Cor
Leia maisProgramação Web Prof. Wladimir
Programação Web Prof. Wladimir Linguagem de Script e PHP @wre2008 1 Sumário Introdução; PHP: Introdução. Enviando dados para o servidor HTTP; PHP: Instalação; Formato básico de um programa PHP; Manipulação
Leia mais4 O Workflow e a Máquina de Regras
4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu
Leia maisSistema de Digitalização e Gerenciamento de Arquivos On-Line
Sistema de Digitalização e Gerenciamento de Arquivos On-Line O aplicativo Aplicativo com quase 3 anos de mercado, onde gerencia atualmente mais de 500.000 arquivos sendo eles entre digitalizados ou anexados
Leia maisNovell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR
Novell Teaming - Guia de início rápido Novell Teaming 1.0 Julho de 2007 INTRODUÇÃO RÁPIDA www.novell.com Novell Teaming O termo Novell Teaming neste documento se aplica a todas as versões do Novell Teaming,
Leia maisManual do Painel Administrativo
Manual do Painel Administrativo versão 1.0 Autores César A Miggiolaro Marcos J Lazarin Índice Índice... 2 Figuras... 3 Inicio... 5 Funcionalidades... 7 Analytics... 9 Cidades... 9 Conteúdo... 10 Referência...
Leia maisManual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica
Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica I Vida Controle de Contatos Conteúdo Part I Introdução 2 1 Vida Controle... de Contatos Pessoais 2 Part II Configuração 2 1 Configuração...
Leia maisDesenvolvendo Websites com PHP
Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.
Leia maisQualiQuantiSoft Versão 1.3c
QualiQuantiSoft Versão 1.3c Qualiquantisoft v1.3c Pág.: 1/15 Índice Apresentação do programa... 3 Funções operacionais do programa... 3 Itens de menu... 6 Teclas de atalho... 6 Instrumento de Análise de
Leia mais"Manual de Acesso ao Moodle - Discente" 2014
"Manual de Acesso ao Moodle - Discente" 2014 Para acessar a plataforma, acesse: http://www.fem.com.br/moodle. A página inicial da plataforma é a que segue abaixo: Para fazer o login, clique no link Acesso
Leia maisW o r d p r e s s 1- TELA DE LOGIN
S U M Á R I O 1Tela de Login...2 2 Painel......3 3 Post...4 4 Ferramentas de Post...10 5 Páginas...14 6 Ferramentas de páginas...21 7 Mídias...25 8 Links......30 1 1- TELA DE LOGIN Para ter acesso ao wordpress
Leia maisGoogle Drive. Passos. Configurando o Google Drive
Google Drive um sistema de armazenagem de arquivos ligado à sua conta Google e acessível via Internet, desta forma você pode acessar seus arquivos a partir de qualquer dispositivo que tenha acesso à Internet.
Leia maisFigura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?
Índice BlueControl... 3 1 - Efetuando o logon no Windows... 4 2 - Efetuando o login no BlueControl... 5 3 - A grade de horários... 9 3.1 - Trabalhando com o calendário... 9 3.2 - Cancelando uma atividade
Leia maisDespachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1
DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 1 Sumário 1 - Instalação Normal do Despachante Express... 3 2 - Instalação do Despachante Express em Rede... 5 3 - Registrando o Despachante Express...
Leia maisUNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO UNIVASF SECRETARIA DE TECNOLOGIA DA INFORMAÇÃO STI COORDENAÇÃO DE DESENVOLVIMENTO DE SISTEMAS
UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO UNIVASF SECRETARIA DE TECNOLOGIA DA INFORMAÇÃO STI COORDENAÇÃO DE DESENVOLVIMENTO DE SISTEMAS MANUAL DO USUÁRIO SISTEMA DE SUPORTE Versão 1.0 24/01/2012 1
Leia maisMenus Personalizados
Menus Personalizados Conceitos básicos do Painel Logando no Painel de Controle Para acessar o painel de controle do Wordpress do seu servidor siga o exemplo abaixo: http://www.seusite.com.br/wp-admin Entrando
Leia maisGestão inteligente de documentos eletrônicos
Gestão inteligente de documentos eletrônicos MANUAL DE UTILIZAÇÃO VISÃO DE EMPRESAS VISÃO EMPRESAS - USUÁRIOS (OVERVIEW) No ELDOC, o perfil de EMPRESA refere-se aos usuários com papel operacional. São
Leia maisTutorial Plone 4. Manutenção de Sites. Universidade Federal de São Carlos Departamento de Sistemas Web Todos os direitos reservados
Tutorial Plone 4 Manutenção de Sites Universidade Federal de São Carlos Departamento de Sistemas Web Todos os direitos reservados Sumário Introdução 1 Como fazer a autenticação do usuário 1.1 Através do
Leia maisDi gitação de Eventos Versão 2.0 - Fevereiro/2015
Digitação de Eventos Versão 2.0 - Fevereiro/2015 Índice 1 PLATAFORMA SAGE... 3 1.1 Primeiro Acesso... 4 1.2 Conhecendo a Plataforma... 5 1.3 Seleção da Empresa de Trabalho... 5 1.4 Sair do Sistema... 6
Leia maisManual de Atualização Versão 3.6.4.
Manual de Atualização Versão 3.6.4. Sumário 1. AVISO... 1 2. INTRODUÇÃO... 2 3. PREPARAÇÃO PARA ATUALIZAÇÃO... 3 4. ATUALIZANDO GVCOLLEGE E BASE DE DADOS... 7 5. HABILITANDO NOVAS VERSÕES DO SISTEMA....
Leia maisManual do sistema SMARsa Web
Manual do sistema SMARsa Web Módulo Gestão de atividades RS/OS Requisição de serviço/ordem de serviço 1 Sumário INTRODUÇÃO...3 OBJETIVO...3 Bem-vindo ao sistema SMARsa WEB: Módulo gestão de atividades...4
Leia maisManual do Publicador. Wordpress FATEA Sistema de Gerenciamento de Conteúdo Web
Manual do Publicador Wordpress FATEA Sistema de Gerenciamento de Conteúdo Web Sumário Painel de Administração... 3 1 - Inserção de post... 5 2 Publicação de post com notícia na área headline (galeria de
Leia maisSistema de Gerenciamento Remoto www.pevermelho.art.br
Sistema de Gerenciamento Remoto www.pevermelho.art.br 1 - SOBRE O SGR Este manual irá lhe ajudar a entender o funcionamento do SGR (Sistema de Gerenciamento Remoto) permitindo assim que você possa atualizar
Leia maisVamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.
3.5 Páginas: Ao clicar em Páginas, são exibidas todas as páginas criadas para o Blog. No nosso exemplo já existirá uma página com o Título Página de Exemplo, criada quando o WorPress foi instalado. Ao
Leia maisCriando Quiz com BrOffice.impress
Criando Quiz com BrOfficeimpress A ferramenta de apresentação possibilita o desenvolvimento de várias atividades interativas como: Sete erros Quiz (Perguntas/Respostas), Colocar em ordem objetos, alfabeto,
Leia maisRational Quality Manager. Nome: Raphael Castellano Campus: AKXE Matrícula: 200601124831
Rational Quality Manager Nome: Raphael Castellano Campus: AKXE Matrícula: 200601124831 1 Informações Gerais Informações Gerais sobre o RQM http://www-01.ibm.com/software/awdtools/rqm/ Link para o RQM https://rqmtreina.mvrec.local:9443/jazz/web/console
Leia maisManual Xerox capture EMBRATEL
Manual Xerox capture EMBRATEL Versão 2 Junho/2011 Tópicos 1) Instalação do Xerox Capture 2) Utilização do Xerox Capture 2.1) Capturar pacotes de imagens pelo scanner 2.2) Importar pacote de imagens a partir
Leia maisFCT Faculdade de Ciências e Tecnologia Serviço Técnico de Informática STI SGCD Sistema Gerenciador de Conteúdos Dinâmicos
FCT Faculdade de Ciências e Tecnologia Serviço Técnico de Informática STI SGCD Sistema Gerenciador de Conteúdos Dinâmicos Manual do Usuário Presidente Prudente, outubro de 2010 Índice 1. Introdução e Instruções
Leia maisSumário. 1 Tutorial: Blogs no Clickideia
1 Tutorial: Blogs no Clickideia Sumário Introdução... 2 Objetivos... 2 Instruções para utilização do Tutorial... 2 Acesso ao Portal e a Home Blog... 3 Página Inicial da área do Blog... 4 Apresentação da
Leia maisQUALIDATA Soluções em Informática. Módulo CIEE com convênio empresas
FM-0 1/21 ÍNDICE 1. MÓDULO DESKTOP(SISTEMA INSTALADO NO CIEE)... 2 Cadastro de Ofertas de Empregos:... 2 Cadastro de Eventos:... 3 Cadastro de Instituições do Curriculum:... 5 Cadastro de Cursos do Curriculum:...
Leia maisSISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO
SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO AGOSTO DE 2013 SUMÁRIO STI/UFF - Sistema de Gerenciamento de Projetos do PDI SUMÁRIO... 2 1 Introdução... 3 1.1 O que é e qual a finalidade
Leia maisManual do Aplicativo - Rastreamento Veicular
Manual do Aplicativo - Rastreamento Veicular Sumário Apresentação... 2 Instalação do Aplicativo... 2 Localizando o aplicativo no smartphone... 5 Inserindo o link da aplicação... 6 Acessando o sistema...
Leia maisTUTORIAL COLEGIADOS EM REDE
TUTORIAL COLEGIADOS EM REDE Brasília/DF Agosto/2015 Sumário Introdução... 2 1 Sistema de Gestão Estratégica... 3 2 Colegiados Em Rede... 5 2.1 Menu Cadastro... 6 2.1.1 Dados do Colegiado... 7 2.1.2 Composição
Leia maisArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02
ArpPrintServer Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 1 Sumário INTRODUÇÃO... 3 CARACTERÍSTICAS PRINCIPAIS DO SISTEMA... 3 REQUISITOS DE SISTEMA... 4 INSTALAÇÃO
Leia maisManual de Instalação. SafeSign Standard 3.0.77. (Para MAC OS 10.7)
SafeSign Standard 3.0.77 (Para MAC OS 10.7) 2/23 Sumário 1 Introdução... 3 2 Pré-Requisitos Para Instalação... 3 3 Ambientes Homologados... 4 4 Hardware Homologado... 4 5 Instruções de Instalação... 5
Leia maisVoltado para novos usuários, este capítulo fornece uma instrução para edição de Leiaute do SILAS e suas funções.
13. Editor de leiautes Voltado para novos usuários, este capítulo fornece uma instrução para edição de Leiaute do SILAS e suas funções. Neste capítulo uma breve explicação será apresentada sobre a organização
Leia maisManual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania
Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania Sumário Objetivos do Blog... 2 Log-in... 3 Esqueci minha senha... 4 Utilizando o Blog... 5 Encontrando seu Blog... 5 Conhecendo o
Leia maisO programa Mysql acompanha o pacote de instalação padrão e será instalado juntamente com a execução do instalador.
INTRODUÇÃO O Programa pode ser instalado em qualquer equipamento que utilize o sistema operacional Windows 95 ou superior, e seu banco de dados foi desenvolvido em MySQL, sendo necessário sua pré-instalação
Leia maisGUIA INTEGRA SERVICES E STATUS MONITOR
GUIA INTEGRA SERVICES E STATUS MONITOR 1 - Integra Services Atenção: o Integra Services está disponível a partir da versão 2.0 do software Urano Integra. O Integra Services é um aplicativo que faz parte
Leia maisSECRETARIA DE ESTADO DA FAZENDA. Documento de Arrecadação Estadual DAE. Manual do Usuário. Versão 1.0.0 SECRETARIA DE ESTADO DA FAZENDA
1 SECRETARIA DE ESTADO DA FAZENDA Documento de Arrecadação Estadual DAE Manual do Usuário Versão 1.0.0 SECRETARIA DE ESTADO DA FAZENDA 66.053-000 Av. Visconde de Souza Franco, 110 Reduto Belém PA Tel.:(091)
Leia maisMDaemon GroupWare. Versão 1 Manual do Usuário. plugin para o Microsoft Outlook. Trabalhe em Equipe Usando o Outlook e o MDaemon
MDaemon GroupWare plugin para o Microsoft Outlook Trabalhe em Equipe Usando o Outlook e o MDaemon Versão 1 Manual do Usuário MDaemon GroupWare Plugin for Microsoft Outlook Conteúdo 2003 Alt-N Technologies.
Leia maisMANUAL DE INSTALAÇÃO DO ODONTO TECHNOLOGY
MANUAL DE INSTALAÇÃO DO ODONTO TECHNOLOGY 1 Índice I - Prefácio...3 II - Instalação do tipo servidor...4 III Obter o nome do computador servidor...17 IV Instalação do tipo cliente...19 V Como inserir a
Leia maisComm5 Tecnologia Manual de utilização da família MI. Manual de Utilização. Família MI
Manual de Utilização Família MI ÍNDICE 1.0 COMO LIGAR O MÓDULO... pág 03 e 04 2.0 OBJETIVO... pág 05 3.0 COMO CONFIGURAR O MÓDULO MI... pág 06, 07, 08 e 09 4.0 COMO TESTAR A REDE... pág 10 5.0 COMO CONFIGURAR
Leia maisSCPI 8.0. Novas funcionalidades. Conciliação Bancária Automática:
SCPI 8.0 Novas funcionalidades A partir de agora o SCPI conta com algumas novas funcionalidades que valem a pena serem comentadas, e dar uma breve introdução de seu funcionamento. Entre elas podemos destacar:
Leia maisManual Integra S_Line
1 Introdução O é uma ferramenta que permite a transmissão Eletrônica de Resultado de Exames, possibilitando aos Prestadores de Serviços (Rede Credenciada), integrarem seus sistemas com os das Operadoras
Leia maisSCIM 1.0. Guia Rápido. Instalando, Parametrizando e Utilizando o Sistema de Controle Interno Municipal. Introdução
SCIM 1.0 Guia Rápido Instalando, Parametrizando e Utilizando o Sistema de Controle Interno Municipal Introdução Nesta Edição O sistema de Controle Interno administra o questionário que será usado no chek-list
Leia maisSumário 1. SOBRE O NFGoiana DESKTOP... 3 1.1. Apresentação... 3 1.2. Informações do sistema... 3 1.3. Acessando o NFGoiana Desktop... 3 1.4.
1 Sumário 1. SOBRE O NFGoiana DESKTOP... 3 1.1. Apresentação... 3 1.2. Informações do sistema... 3 1.3. Acessando o NFGoiana Desktop... 3 1.4. Interface do sistema... 4 1.4.1. Janela Principal... 4 1.5.
Leia maisSMS Corporativo Manual do Usuário
NEXTEL SMS Corporativo Manual do Usuário Conteúdo 2 CAPÍTU LO 1 Introdução 3 CAPÍTU LO 2 Funcionalidades 1 Copyright Curupira S/A TakeNET INTRODUÇÃO A FERRAMENTA O SMS Corporativo é um serviço criado para
Leia maise-ouv Passo-a-passo Sistema de Ouvidorias do Poder Executivo Federal Junho, 2015 Controladoria-Geral da União
e-ouv Passo-a-passo Sistema de Ouvidorias do Poder Executivo Federal Junho, 2015 Sumário 1. Acesso ao sistema... 3 2. Funcionalidades do sistema... 5 3. Como tratar manifestações... 14 3.1 Detalhar...
Leia maisAnálise de Dados do Financeiro
Análise de Dados do Financeiro Introdução Para reunir em um só local as informações de contas a pagar e receber cadastradas e/ou geradas no sistema TTransp existe a interface de análise de dados do financeiro.
Leia maisCONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS
MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE MODERNIZAÇÃO E INFORMÁTICA CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MANUAL
Leia maisManual UNICURITIBA VIRTUAL para Professores
Manual UNICURITIBA VIRTUAL para Professores 1 2 2015 Sumário 1 Texto introdutório... 3 2 Como Acessar o UNICURITIBA VIRTUAL... 3 3 Tela inicial após login... 3 3.1) Foto do perfil... 4 3.2) Campo de busca...
Leia maisSatélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br
Satélite Manual de instalação e configuração CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Índice Índice 1.Informações gerais 1.1.Sobre este manual 1.2.Visão geral do sistema 1.3.História
Leia maisMANUAL GDS TOUCH. Versão: 1.0 Direitos reservados.
MANUAL GDS TOUCH Versão: 1.0 Direitos reservados. GDS TOUCH PAINEL TOUCH-SCREEN CONTROLE RESIDENCIAL INTERATIVO O GDS Touch é um painel wireless touch-screen de controle residencial, com design totalmente
Leia maisNewAgent enterprise-brain
Manual NewAgent enterprise-brain Configuração Manual NewAgent enterprise-brain Configuração Este manual de uso irá ajudá-lo na utilização de todas as funções administrativas que a NewAgent possui e assim,
Leia maisPROCEDIMENTOS PARA A UTILIZAÇÃO DO SISTEMA DE SOLICITAÇÃO DE ORDEM DE SERVIÇO (SOSI) STI Unesp - Campus Experimental de Ourinhos
PROCEDIMENTOS PARA A UTILIZAÇÃO DO SISTEMA DE SOLICITAÇÃO DE ORDEM DE SERVIÇO (SOSI) STI Unesp - Campus Experimental de Ourinhos 1 SISTEMA DE ORDEM DE SERVIÇO DE INFORMÁTICA Este documento tem o objeto
Leia mais