Season Libraries - Ep. 03: Criando uma library personalizada em Python e usando nos seus testes com o Robot


Olááá Robotizadores!!! Nesse post de hoje vamos falar sobre como você pode criar e usar uma library customizada para atender suas necessidades que não foram atendidas com nenhuma outra library já existente!!!! Vem ver!!!!




01 - Criando uma library em Python

Ah, para criar uma library, sim, você precisa ter um básico de Python, mas se você não sabe Python ainda, assim como eu, pode pedir ajuda para um DEV e criar juntos uma library que atenda as suas necessidades e aí então você pode incluí-la e usá-la nos seus testes do Robot Framework!

OBS.: O exemplo que vou citar é didático, não pesquisei se existe uma library que já atenda esse problema. Se tiver, deixe seu comentário!!!

Precisei de uma keyword que decodificasse uma string em base64 para uma string legível. Então criei a função abaixo:
import base64
def decode_64_to_string(stringEncoded):
print("Deconding [%s] to string." % stringEncoded)
if not stringEncoded.endswith("=="):
stringEncoded = stringEncoded + "=="
stringDecoded = base64.b64decode(stringEncoded)
return stringDecoded.decode('UTF-8')
view raw decode64.py hosted with ❤ by GitHub

O nome da sua função será a sua keyword. O underline representa o espaço em branco, então, lá no seu teste do Robot, você irá chamar a keyword conforme o exemplo abaixo:

${TEXTO} decode 64 to string ${TEXTO_CODIFICADO_BASE64}

E por fim, adicionei esse fonte/arquivo no meu projeto. Para padronizar, criei um diretório "libraries" no meu projeto e coloquei o fonte acima dentro dele.


02 - Referenciando a sua library no Robot Framework

Então, para usar sua library, basta referenciar path da sua library na seção *** Settings *** ! E, pronto!! Agora é só usar as keywords nela disponíveis!!! Segue meu exemplo:
*** Settings ***
Documentation Exemplo de uso de uma Library personalizada e criada por mim em Python
... Essa library irá decodificar uma string em base64 para UTF-8
Library ./libraries/decode64.py
*** Test Cases ***
Teste da minha custom library
Decodificar o texto "TWluaGEgZnJhc2UgZGUgdGVzdGUh"
Conferir se o texto decodificado é "Minha frase de teste!"
*** Keywords ***
Decodificar o texto "${TEXTO_CODIFICADO_BASE64}"
${TEXTO} decode 64 to string ${TEXTO_CODIFICADO_BASE64}
Set Test Variable ${TEXTO}
Log Frase codificada: ${TEXTO_CODIFICADO_BASE64} -- Frase decodificada: ${TEXTO}
Conferir se o texto decodificado é "${FRASE_ESPERADA}"
Should Be Equal ${TEXTO} ${FRASE_ESPERADA}

E aí? Fácil, não? Bora robotizar tudo agora!!!!! Abraço e até a próxima!!!

Comentários

Postagens mais visitadas deste blog

[ATUALIZADO] Season Libraries - Ep. 01: Library Faker para informações aleatórias e fakes

Novo Curso: Robot Framework com Playwright e GitHub Actions

Season WEB Testing - Ep. 03: Open Browser - Chrome Options