Pesquisar
Projeto exclusivo

QA/Testing/Support utilizando Playwright e Python

ontem às 20:05

Descrição do Projeto:

# Descrição do projeto

Estamos em busca de um(a) profissional experiente em **QA/Testing/Support** para trabalhar na evolução do nosso sistema de monitoramento de serviços (**Status v2**). O projeto atual está disponível em nosso repositório público do GitHub: [status.orango.io](https://github.com/ORANGO-IO/status). A ideia é implementar novas funcionalidades de testes (ativos e passivos) para garantir a qualidade e o correto funcionamento de diversos serviços que mantemos, bem como modelar adequadamente os dados de **serviços** e **tasks** no sistema.

---

## O que precisamos

1. **Modelagem de serviços e tasks**
- **Serviços:**
- Cada serviço terá:
- **UUID** (chave primária)
- **slug** único (usado em rotas e referências)
- **nome e descrição**
- Informações de configuração e metadados (por ex., endpoints, credenciais, etc.)
- Deve permitir cadastrar múltiplas tasks associadas.

- **Tasks:**
- Cada task terá:
- **UUID** (chave primária)
- **tipo** (crawler, request, E2E)
- **parâmetros** específicos (URL, corpo de requisição, script E2E etc.)
- Associação ao serviço correspondente.

- Precisamos de uma estrutura que facilite **cadastrar, atualizar e remover** serviços e suas tasks, seja **manualmente** (via Typer) ou programaticamente.

2. **Cadastro de serviços via Typer (CLI em Python)**
- Criar ou aprimorar comando(s) em **Typer** para **adicionar e gerenciar serviços** (com slug, UUID etc.) e suas tasks (também com UUID).
- Possibilidade de definir quais tipos de tasks cada serviço terá (crawler, request, E2E).
- Cada task deve conter parâmetros específicos, por exemplo:
- **Crawler**: URL alvo, intervalos de verificação etc.
- **Request**: Endpoint da API, parâmetros de autenticação, payload esperado etc.
- **E2E**: Scripts de automação em Playwright, condições de sucesso/falha etc.

3. **Testes E2E em Playwright (Python)**
- Implementar testes de ponta a ponta usando [Playwright para Python](https://playwright.dev/python/).
- Os testes E2E serão acionados **manualmente via Typer** (ou seja, não rodam em todo ciclo automático).
- Foco inicial em dois serviços: **greenbook** e **lithocenter**, cujos requisitos incluem:
- **Crawler** (estar online/offline),
- **Request** (verificar resposta de API),
- **Fluxos de interface** (E2E).

4. **Testes passivos via Webhook**
- Implementar (ou aprimorar) endpoints que recebam **webhooks** de serviços externos para monitoramento passivo, quando operações específicas ocorrerem.
- **Caso de uso**:
- **ITMPR**: Verificar se o cron de backup foi bem-sucedido. O sistema ITMPR enviará um JSON no formato:
```json
{
"service_id": "itmpr-database_backup",
"status": "online",
"description": "some output string"
}
```
- A aplicação deve registrar e exibir esse status, confirmando o backup ou indicando falha.

5. **Rotas e dashboard (visão única e por serviço)**
- Criação de uma **página raiz** (ex.: `/`) para exibir todos os serviços em **lista**, como no desenho do Figma.
- Rota dedicada a cada serviço usando o **slug** (ex.: `/<service_slug>`), exibindo um **dashboard** específico com o status detalhado das suas tasks, registros de execuções etc.
- Utilização de templates **Jinja2** (ou equivalente) para renderizar essas páginas dinamicamente.

6. **Integração e Pull Request**
- O trabalho final deve ser entregue como um **Pull Request** no repositório [https://github.com/ORANGO-IO/status](https://github.com/ORANGO-IO/status).
- Essa contribuição corresponderá à versão **v2** do projeto.

---

## Requisitos técnicos

- **Linguagem:** Python 3.8+
- **Framework de linha de comando:** Typer
- **Biblioteca de teste E2E:** Playwright (Python)
- **Experiência em QA:** Boas práticas de testes (unitários, integração, E2E), incluindo cenários de CI/CD.
- **Framework web:** Flask ou equivalente para gerenciar rotas (`/<service_slug>`) e a página raiz.
- **Templating:** Jinja2 (ou similar) para renderizar dashboards e lista de serviços.
- **Git e GitHub:** Familiaridade com fluxo de trabalho para criação de branches, commits e pull requests.
- **Desenvolvimento de endpoints (webhooks):** Conhecimento de padrões REST, validação de payload JSON, segurança com tokens etc.
- **Modelagem de dados:** Capacidade de projetar e implementar tabelas/estruturas (SQL ou NoSQL) para representar serviços e tasks (com UUIDs).

---

## Perfil desejado

- Experiência consolidada em **QA**, testes de software e automação (Selenium, Playwright, Cypress ou similares).
- Conhecimento sólido em **Python** e ferramentas de CLI (idealmente Typer).
- Familiaridade com a criação de **endpoints** para recepção de webhooks.
- Competência em desenvolvimento web com Flask (ou framework similar) para criar rotas e renderizar templates.

Atividades do cliente nesse projeto:

Última visualização: ontem às 20:42

Tem dúvidas? Faça uma pergunta.

ou

Enviar proposta

Informações adicionais

Categoria: Web, Mobile & Software
Subcategoria: Outra - Web, Mobile & Software
Orçamento: Aberto
Nível de experiência: Intermediário
Visibilidade: Público
Propostas: 0
Interessados: 0
Tempo restante:
Valor Mínimo: R$ 50,00
Propostas (0)

Nenhuma proposta foi encontrada.

Carregando...
Projetos semelhantes no 99Freelas

Criação de instâncias para WhatsApp - Descrição da solicitação de orçamento: Criação de instâncias dinâmicas para conexão com WhatsApp. Estou buscando um profissional...

Plataforma de jogos com apostas - Quero um painel personalizado, com vários jogos de aposta e uma seção de apostas em esportes, tudo integrado em um único painel onde eu possa controlar tudo, incluindo i...

Desenvolvedor para criação de bot para Instagram - O bot seria semelhante ao bot da Holsoft, postando fotos e Stories com pausas programadas. As contas cadastradas teriam a opção de seguir, curtir, comentar, visualizar Stories, curtir...

Desenvolvimento de aplicativo preditor Aviator - Criar um aplicativo preditor Aviator com 100% de assertividade para a plataforma Elephant Bet em Moçambique.

Ajustes em API do Telegram para automação - Tenho um projeto montado, mas mal sucedido. Problemas na API do sistema. O sistema é relacionado a um bot do Telegram. Ele extrai membros de um determinado canal ou grupo e, assim, adiciona...

Carregando...

Carregando...

Pesquisar

FREELANCERS
PROJETOS
Ocorreu um erro inesperado. Caso o erro persista, entre em contato conosco através do e-mail suporte@99freelas.com.br.