Biblioteca JTech Robot Framework AI
Uma biblioteca Robot Framework que fornece keywords com recursos de IA para automação de testes usando o Google Generative AI (Gemini Pro).
Funcionalidades
- Integração com o Google Generative AI (Gemini Pro)
- Suporte para operações síncronas e assíncronas
- Gerenciamento de histórico de chat
- Tratamento robusto de erros e tentativas
- Integração com LangChain para operações avançadas de IA
Instalação
- Clone este repositório:
git clone https://gitlab.com/veolia.com/brasil/jtech/framework-jtech/jtech-robotframework-ai.git
cd jtech-robotframework-ai
- Configure o ambiente de desenvolvimento usando o Makefile:
make setup
Este comando irá:
- Criar um ambiente virtual Python
- Instalar todas as dependências necessárias
- Instalar o pacote em modo de desenvolvimento
Desenvolvimento
O projeto inclui um Makefile com vários comandos úteis para desenvolvimento:
# Ver todos os comandos disponíveis
make help
# Configurar ambiente de desenvolvimento
make setup
# Executar testes
make test
# Verificar estilo do código
make lint
# Formatar código
make format
# Limpar arquivos temporários
make clean
# Desinstalar o pacote
make uninstall
Configuração
Chave da API do Google AI
Você precisa de uma chave de API do Google AI para usar esta biblioteca. Você pode obter uma no Google AI Studio.
Você pode configurar a chave da API de uma destas formas:
- Variável de ambiente:
export GOOGLE_API_KEY='sua-chave-api-aqui'
- No seu arquivo de teste Robot Framework:
*** Variables ***
${GOOGLE_API_KEY} sua-chave-api-aqui
- Ao importar a biblioteca:
*** Settings ***
Library JTechRobotFrameworkAI sua-chave-api-aqui
Uso
Uso Básico
*** Settings ***
Library JTechRobotFrameworkAI ${GOOGLE_API_KEY}
*** Test Cases ***
Exemplo de Teste
${resposta}= Enviar Mensagem Para IA Qual é a capital da França?
Should Contain ${resposta} Paris
Uso Assíncrono
*** Test Cases ***
Exemplo Assíncrono
${resposta}= Enviar Mensagem Para IA Async Quanto é 2+2?
Should Contain ${resposta} 4
Gerenciamento de Histórico de Chat
*** Test Cases ***
Exemplo de Histórico de Chat
Reiniciar Chat IA
Enviar Mensagem Para IA Olá
Enviar Mensagem Para IA Como você está?
${historico}= Obter Historia Chat IA
Log ${historico}
Keywords Disponíveis
Enviar Mensagem Para IA: Envia uma mensagem para o modelo de IA e obtém a respostaEnviar Mensagem Para IA Async: Envia uma mensagem de forma assíncronaReiniciar Chat IA: Reinicia o histórico do chatObter Historia Chat IA: Obtém o histórico atual do chat
Tratamento de Erros
A biblioteca inclui tratamento robusto de erros para:
- Erros de autenticação da API
- Timeouts de rede
- Respostas inválidas
- Limitação de taxa
Todas as operações são automaticamente repetidas com backoff exponencial.
Estrutura do Projeto
jtech-robotframework-ai/
├── jtech_robotframework_ai/
│ ├── __init__.py # Interface da biblioteca Robot Framework
│ └── core.py # Implementação do cliente AI
├── tests/
│ └── test_ai_library.robot
├── Makefile # Comandos de desenvolvimento
├── README.md
├── requirements.txt
└── setup.py
Boas Práticas
- Sempre trate a chave da API de forma segura
- Use variáveis de ambiente para dados sensíveis
- Reinicie o histórico do chat ao iniciar novos cenários de teste
- Implemente tratamento adequado de erros em seus testes
- Use operações assíncronas para melhor desempenho quando apropriado
Licença
MIT License
Metadata
Release files for JTechRobotFrameworkAI 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| jtechrobotframeworkai-0.1.0.tar.gz | 13.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jtechrobotframeworkai-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.3 kB
Release files / jtechrobotframeworkai-0.1.0.tar.gz
| Download URL | jtechrobotframeworkai-0.1.0.tar.gz |
|---|---|
| Size | 13.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b4e7b29e191f3373bc3a64400151236ec407fa36c3947a5756e00f35e38f3647
|
|
BLAKE2b-256 checksum How to use checksums |
b854e588eeb60fad4039d68a01b9e1196c1f31b87ef26a99f741d024ddfb6349
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Release files / jtechrobotframeworkai-0.1.0-py3-none-any.whl
| Download URL | jtechrobotframeworkai-0.1.0-py3-none-any.whl |
|---|---|
| Size | 16.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d1446f8e29b4d351517a8edb315ac3d68007fb08aa8264e2eb9dca445227d6df
|
|
BLAKE2b-256 checksum How to use checksums |
c7e30821db9f08ffa706a544a7e7a601b7e7a6843232cda21b9d6b783f6eb37b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Security for JTechRobotFrameworkAI 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.