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:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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') |
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 o path da sua library na seção *** Settings *** ! E, pronto!! Agora é só usar as keywords nela disponíveis!!! Segue meu exemplo:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
*** 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
Postar um comentário