Cenário de Teste

Feature: Controle de ferramenta

Cenário: Cadastrar Ferramenta com dados preenchidos corretamente

Dado que estou na página de cadastro de ferramenta

Quando digito o nome e link

E clico em cadastrar

Então recebo uma notificação de “Ferramenta cadastrada com sucesso”

E sou redirecionado para a página ferramentas

Esquema do cenário: Cadastrar Ferramenta com algum campo em branco

Dado que estou na página de cadastro de ferramenta

Quando digito <nome> e <link>

E clico em cadastrar

Então recebo uma mensagem de erro no campo não preenchido.

<nome> <link>
GitHub
www.drive.google.com

Esquema do cenário: Cadastrar Ferramenta com algum campo inválido

Dado que estou na página de cadastro de ferramenta

Quando digito <nome> e <link>

E clico em cadastrar

Então recebo uma mensagem de erro informando que o campo link é inválido

<nome> <link>
GitHub chorumelas
Google Drive 123#$%$#

Feature: Controle de Usuário

Background:

Dado que eu clico no botão cadastre-se da tela de Login

Cenário: Cadastrar Usuário com sucesso

Quando digito o nome, e-mail, matricula e informo minhas credenciais nas ferramentas

E clico em cadastrar

Então recebo uma notificação de “Usuário cadastrado com sucesso”

E sou redirecionado para a página de login.

Esquema do Cenário: Cadastrar Usuário sem informar algum campo

Quando não preencho o <nome> ou <e-mail> ou <matrícula> ou <ferramenta_nome> ou <ferramenta_usuario> ou <ferramenta_senha>

E clico em cadastrar

Então recebo uma notificação de erro no campo não preenchido.

Exemplos: Não informar nome,email e matrícula.

<nome> <e-mail> <matrícula>
[email protected] 11111BSI5587
nome2 11111BSI5587
11111BSI5587
nome3 [email protected] 11111BSI55872

Exemplos: Não informar ferramentas.

<ferramenta_nome> <ferramenta_usuario> <ferramenta_senha>
Github fulano
sicrano 123123444
11123223

Feature: Controle de Projeto

Background:

Dado que estou logado no sistema.

Quando clico no botão cadastrar novo projeto.

Cenário: Cadastrar projeto com sucesso

E informo todos os campos corretamente

Então recebo uma notificação de que o projeto foi salvo com sucesso

E sou redirecionado para a página principal.

E o projeto será criado em cada uma das ferramentas escolhidas.

Esquema de Cenário: Cadastrar projeto sem informar algum campo

E não o <nome> ou <cliente> ou <equipe> ou <ferramenta>.

Então recebo uma notificação de que faltou o preenchimento daquele campo

E o projeto não é criado.

Exemplos:

<nome> <cliente> <equipe> <ferramenta>
Fulano [{nome: “”, função: Desenvolvedor,,},{nome: “fulano”, função: “”}] [{nome: “”},{nome: “Github”}]
sicrano [{nome: “sicrano”, função: Desenvolvedor},{nome: “fulano”, função: “”}] [{nome: “Drive”},{nome: “Github”}]

Os testes acima não foram implementados pois após a primeira entrega ficou decidido que iríamos utilizar o django admin para fazer as operações de CRUD.

Feature: Integração Github

Background:

Dado que estou logado no sistema.

e possuo projetos cadastrados

Cenário: Cadastrar projeto no Github

Quando clico no botão cadastrar projeto

Então Sou redirecionado para a página principal de projetos

E um repositório é criado no github com o nome do projeto

E os participantes são incluídos como colaboradores do projeto

Cenário: adicionar colaboradores ao projeto

Quando clico no botão atualizar participantes

Então Sou redirecionado para a página principal de projetos

E os participantes que forem selecionados no projeto serão adicionados como colaboradores no repositório

Cenário: remover colaboradores do projeto

Quando clico no botão atualizar participantes

Então Sou redirecionado para a página principal de projetos

E os participantes que forem deselecionado não serão mais colaboradores do repositório do projeto

O primeiro passo para que os testes de integração funcionem é ter um objeto contendo um usuário logado com o github. Porém, ao tentar logar o usuário o behave exibe o seguinte erro no console: “selenium.common.exceptions.WebDriverException: Message: {"errorMessage":"Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: \"script-src assets-cdn.github.com\".\n","request":{"objectName":"","statusCode":200,"headers":{"Cache":"no-cache","Content-Type":"application/json;charset=UTF-8"}}}”.

Após pesquisar sobre o erro apresentado, achamos um link onde a pessoa teve exatamente o mesmo problema. Neste link, um usuário diz que isso seria resolvido com o “Ghostdriver” na versão 2.0, porém a última versão do Phantomjs, que é o responsável pelo problema, contém o “Ghostdriver” na versão 1.2.0. Aparentemente a versão do Phantomjs que contará com a versão 2.0 do “Ghostdriver” será a 2.5 que ainda está em desenvolvimento. Sendo assim, ficamos impossibilitados de realizar a implementação dos testes.

Na última entrega, foi sugerido criar um usuário e utilizar o token como seu password para poder realizar os testes. Conforme explicado na seção 3.8.4, mesmo colocando o token na mão não foi possível autenticar o usuário. Não conseguimos descobrir o porque que o mesmo não era autenticado mesmo passando usuário e senha na mão. Acreditamos ser alguma restrição imposta pelo Django Admin. Sendo assim, os testes continuaram passando com o comando “pass”.

results matching ""

    No results matching ""