As variáveis desempenham um papel crucial no Robot Framework, permitindo armazenar e manipular dados de forma flexível durante a execução dos testes. Com o uso de variáveis, é possível criar testes mais dinâmicos e reutilizáveis, adaptando-se a diferentes cenários e facilitando a manutenção dos cenários de teste. Neste tópico, exploraremos em detalhes o uso e a sintaxe das variáveis no Robot Framework.
Tipos de Variáveis
No Robot Framework, existem três tipos principais de variáveis:
- Escalares
- Listas
- Dicionários
Vamos ver em detalhes cada uma delas.
Escalares
As variáveis escalares, representadas pela sintaxe "${var_name}", são usadas para armazenar valores simples, como números (integers ou floats) e strings.
Vamos criar alguns scripts com esses tipos de variáveis:
- Tipo String
Quando um valor é atribuído a uma variável sem o uso explícito da construção ${}, o Robot Framework assume automaticamente que esse valor deve ser tratado como uma string. Isso significa que o valor será interpretado como texto literal, independentemente de ser um número, ou qualquer outro tipo de dado.
Essa abordagem é adotada para simplificar a sintaxe e facilitar a escrita dos testes. Em vez de exigir a especificação do tipo de cada valor atribuído a uma variável, o Robot Framework assume o padrão de string, a menos que seja indicado o contrário.
Exemplo:
*** Test Cases ***
Escalar tipo String
[Tags] string
${string} Set Variable Hello, World!
${type} Evaluate type($string)
Log To Console ${\n}Tipo da variável é ${type}
No terminal execute o comando "robot -i string ." para executar o script.
==============================================================================
Robot-Courses.Módulo 2.Tópico 2 - Variáveis.Tópico 2.0 - Tipos De Variáveis
==============================================================================
Escalar tipo String ..
A variável é do tipo class 'str'
Escalar tipo String | PASS |
------------------------------------------------------------------------------
- Tipo Inteiro
Como dito anteriormente, as variáveis fora do formato ${} são tratadas como strings por padrão. Porém, o Robot Framework também possui uma capacidade interna de interpretar automaticamente os valores literais e atribuí-los aos tipos adequados a partir do momento que são construídas usando ${}.
Quando definimos uma variável usando a sintaxe ${42}, o valor 42 é considerado um literal inteiro, não uma string, permitindo que você realize operações e comparações numéricas com ele.
Exemplos:
*** Test Cases ***
Escalar tipo Integer
[Tags] integer
${integer} Set Variable ${42}
${type} Evaluate type($integer)
Log To Console ${\n}A variável é do tipo ${type}
No terminal execute o comando "robot -i integer ." para executar o script.
==============================================================================
Robot-Courses.Módulo 2.Tópico 2 - Variáveis.Tópico 2.0 - Tipos De Variáveis
==============================================================================
Escalar tipo Integer ..
A variável é do tipo class 'int'
Escalar tipo Integer | PASS |
------------------------------------------------------------------------------
*** Test Cases ***
Operações com tipo Integer
[Tags] op_int
${result} Evaluate ${42} + 8
Log To Console ${\n}O resultado é igual a ${result}
Should Be Equal As Numbers ${result} 50
*** Test Cases ***
==============================================================================
Robot-Courses.Módulo 2.Tópico 2 - Variáveis.Tópico 2.0 - Tipos De Variáveis
==============================================================================
Operações com tipo Integer .
O resultado é igual a 50
Operações com tipo Integer | PASS |
------------------------------------------------------------------------------
- Tipo Float
O Robot Framework trata as variáveis escalares do tipo Float da mesma forma que as escalares do tipo integer. Ou seja, ao definir uma variável no formato ${x.y}, onde x.y é um valor numérico decimal, o Robot Framework reconhece esse valor como um literal float. E permite que realizemos operações e comparações numéricas com números decimais sem a necessidade de conversões explícitas.
*** Test Cases ***
Escalar tipo Float
[Tags] float
${float} Set Variable ${2.15}
${type} Evaluate type($float)
Log To Console ${\n}A variável é do tipo ${type}
No terminal execute o comando "robot -i float ." para executar o script.
==============================================================================
Robot-Courses.Módulo 2.Tópico 2 - Variáveis.Tópico 2.0 - Tipos De Variáveis
==============================================================================
Escalar tipo Float ..
A variável é do tipo class 'float'
Escalar tipo Float | PASS |
------------------------------------------------------------------------------
Abaixo, um exemplo simples de operações com uma escalar Float:
*** Test Cases ***
Operações com tipo Float
[Tags] op_float
${result} Evaluate ${2.15} * 5
Log To Console ${\n}O resultado é igual a ${result}
Should Be Equal As Numbers ${result} 10.75
No terminal execute o comando "robot -i op_float ." para executar o script.
==============================================================================
Robot-Courses.Módulo 2.Tópico 2 - Variáveis.Tópico 2.0 - Tipos De Variáveis
==============================================================================
Operações com tipo Float .
O resultado é igual a 10.75
Operações com tipo Float | PASS |
------------------------------------------------------------------------------
Listas
As variáveis de lista são usadas para armazenar coleções de valores, permitindo a manipulação de conjuntos de dados relacionados. Com as variáveis de lista, é possível adicionar, remover e acessar elementos individualmente, além de realizar operações como ordenação e filtragem.
*** Test Cases ***
Lista
[Tags] list
@{list_1} Evaluate ['Robot', 'Course', 2023]
${type} Evaluate type($list_1)
Log To Console ${\n}A variável é do tipo ${type}
Log To Console O valor da posição 2 da lista é ${list_1}[2]
No terminal execute o comando "robot -i list ." para executar o script.
==============================================================================
Robot-Courses.Módulo 2.Tópico 2 - Variáveis.Tópico 2.0 - Tipos De Variáveis
==============================================================================
Lista ..
A variável é do tipo <class 'list'>
.O valor da posição 2 da lista é 2023
Lista | PASS |
------------------------------------------------------------------------------
Dicionários
As variáveis de dicionário são usadas para armazenar pares de chave-valor, permitindo a associação de valores a chaves únicas. Os dicionários fornecem uma maneira conveniente de organizar e acessar dados de forma estruturada, usando as chaves para recuperar os valores correspondentes.
*** Test Cases ***
Dicionários
[Tags] dict
&{dictionary_1} Evaluate {'name': 'Robot', 'lastname':'Framework', 'year': '2023'}
${type} Evaluate type($dictionary_1)
Log To Console ${\n}A variável é do tipo ${type}
Log to Console O valor da chabe year é ${dictionary_1}[year]
No terminal execute o comando "robot -i dict ." para executar o script.
==============================================================================
Robot-Courses.Módulo 2.Tópico 2 - Variáveis.Tópico 2.0 - Tipos De Variáveis
==============================================================================
Dicionários ..
A variável é do tipo <class 'robot.utils.dotdict.DotDict'>
.O valor da chabe year é 2023
Dicionários | PASS |
------------------------------------------------------------------------------
Convenções: Booleanos, Nulos e Vazios
- ${EMPTY}: Essa variável representa uma string vazia. É comumente usada para indicar que uma variável não possui um valor definido ou está vazia.
- ${None}: Essa variável representa um valor nulo, equivalente a None em Python. É frequentemente usado para indicar a ausência de um valor válido. Por exemplo, ao obter um valor de uma fonte externa, como um banco de dados, se não houver um valor válido, pode-se atribuir ${None} à variável.
- ${TRUE} e ${FALSE}: Essas variáveis representam valores booleanos True e False, respectivamente. São usadas para expressar condições ou estados lógicos. ${TRUE} é usado quando uma condição é verdadeira ou um estado é verdadeiro, enquanto ${FALSE} é usado quando uma condição é falsa ou um estado é falso. Elas podem ser usadas em comparações, condições de fluxo de controle e expressões booleanas.
É importante lembrar que ${EMPTY}, ${None}, ${TRUE} e ${FALSE} são apenas convenções de nomenclatura. Elas não são variáveis especiais ou predefinidas do framework, mas podem ser definidas pelo usuário para melhorar a legibilidade e expressividade dos testes.
---
No próximo tópico, iremos abordar o Escopo e Prioridade de Variáveis.
0 Comentários