Nesse tópico vamos abordar cada um deles.
Settings
A seção Settings (*** Settings ***) é uma seção opcional. Nela podemos importar bibliotecas (internas ou externas), arquivos de recursos, e arquivos de variáveis, assim como definir Metadados que auxiliem na documentação do arquivo onde ele foi inserido. Essa seção pode ser incluída tanto em arquivos de recursos quanto em arquivos de casos de testes.
Abaixo algumas das possibilidades da seção Settings:
- Documentation: Permite definir uma documentação geral para a suíte de testes.
- Library: Permite importar um biblioteca. Seja uma biblioteca terceira, built-in ou uma biblioteca customizada para o projeto.
- Metadata: Permite definir metadados sobre a suíte de testes, como autor, data, versão, entre outros.
- Resource: Permite incluir recursos externos que podem ser utilizados durante a execução dos testes, como arquivos de keywords, arquivos de dados, entre outros.
- Variables: Permite definir variáveis globais que podem ser utilizadas em todo o escopo da suíte de testes.
- Test Setup: Permite definir uma ou mais keywords que serão executadas antes de cada cenário de teste.
- Test Teardown: Permite definir uma ou mais keywords que serão executadas após a execução de cada cenário de teste.
- Suite Setup: Permite definir uma ou mais keywords que serão executadas uma única vez antes da execução de todos os cenários de teste da suíte.
- Suite Teardown: Permite definir uma ou mais palavras-chave que serão executadas uma única vez após a execução de todos os cenários de teste da suíte.
- Test Timeout: Permite definir um limite de tempo para a execução de cada cenário de teste.
- Test Template: Permite definir um modelo de keyword que será utilizado como base para todos os cenários de teste da suíte.
- Test Tag: Permite definir uma tag para toda os cenário de teste de uma mesma suíte de testes.
No exemplo abaixo, vemos a seção Settings preenchida com algumas das possíveis opções:
Variables
A seção Variables é usada para definir variáveis globais que podem ser usadas em toda suíte de teste ou em todo arquivo de keywords ou arquivo de variáveis. As variáveis podem ser de qualquer tipo suportado pelo Python, como strings, números, listas, dicionários, etc.
Como essas variáveis possuem um escopo Global, é necessário ter cuidado com a sua utilização, pois qualquer alteração no valor das variáveis será refletida em todos os cenários de teste ou keywords que utilizam essas variáveis. Portanto, é necessário ter cautela na utilização dessas variáveis.
No exemplo abaixo, vemos como podemos utilizar a seção Variables:
Test Cases
A seção Test Case é onde os cenários de testes são definidos. Para o Robot Framework um arquivo é identificado como um arquivo de suíte de teste a partir do momento em que a seção Teste Cases é identificada.
Nessa seção serão definidas os nomes dos cenários de testes além de configurações exclusivas(opcionais)para cada cenário de testes. E também as ações que serão executadas pelos cenários, podendo ser Keywords (para os casos e Keyword-Driven ou Gherkin) ou Dados (para os caso de Data-Driven).
As configurações opcionais que podem estar associadas à um cenário são:
- [Documentation] – Permiti definir uma documentação para um cenário de teste específico.
- [Tags] – Permite definir uma ou mais tags para um cenário de teste específico.
- [Setup] – Permite definir uma ou mais keywords para serem executadas antes de um cenário de teste específico.
- [Teardown] – Permite definir uma ou mais keywords para serem executadas depois da execução de um cenário de teste específico.
- [Template] – Permite definir uma keyword que servirá de modelo para um cenário de teste específico.
- [Timeout] – Permite definir um limite de tempo para a execução de um cenário específico.
No exemplo abaixo, vemos como podemos utilizar a seção Test Cases:
Keywords
A seção Keywords é onde são definidas as User Keywords. As User Keyword, como o próprio nome propõe, são keywords criadas pelo usuário, e tem como princípio encapsular grandes fluxos que precisam ser repetidos inúmeras vezes, ou ações complexas. A ideia é deixar toda a complexidade para a seção Keywords e usar as User Keywords criadas na seção Test Case.
Assim como a seção Test Case, a seção Keywords também possui configurações que pode ser aplicadas para keywords de forma isoladas, sendo todas elas opcionais.
As configurações podem ser:
- [Documentation] – Permiti definir uma documentação para um keyword específica.
- [Tags] – Permite definir uma ou mais tags para uma keyword especifica.
- [Arguments] – Permite definir um ou mais argumentos para uma keyword especifica.
- [Returns] – Permite definir um ou mais retornos para uma keyword especifica.
- [Teardown] – Permite definir uma keyword para ser executada ao fim da execução de uma keyword especifica.
No exemplo abaixo, vemos como podermos utilizar a seção Keywords: