PDV
Sistema de Ponto de Venda (Desktop)
Informações do Produto
| Campo | Valor |
|---|---|
| Status | ativo |
| Tipo | Desktop (Windows) |
| Stack de Automação | Robot Framework + Python + FlaUI |
| Repositório de Automação | [Link](https://github.com/sua-empresa/pdv-automacao) |
Ambientes
| Ambiente | Descrição |
|---|---|
| Desenvolvimento | Máquina local / VM Dev |
| Staging | VM Staging |
| Produção | Máquinas de produção |
Módulos
- Autenticação - Login, logout, recuperação de senha
- Caixa - Abertura, fechamento, sangria, suprimento
- Vendas - Registro de vendas, descontos, cancelamentos
- Produtos - Consulta, cadastro, estoque
- Clientes - Cadastro, consulta, histórico
Roteiros de Teste
| ID | Roteiro | Módulo | Prioridade |
|---|---|---|---|
| RT001 | Login de Usuário | Autenticação | Alta |
| RT002 | Cadastro de Usuário | Autenticação | Alta |
Notas para Automação
Configuração do Ambiente
bash
# Clone o repositório de automação
git clone https://github.com/sua-empresa/pdv-automacao
# Crie e ative o ambiente virtual
python -m venv venv
venv\Scripts\activate # Windows
# Instale as dependências
pip install -r requirements.txt
# Execute os testes
robot -d results tests/Dependências (requirements.txt)
txt
robotframework
robotframework-flauiVariáveis de Ambiente
env
PDV_PATH=C:\Program Files\PDV\pdv.exe
TEST_USER=operador
TEST_PASSWORD=123456Exemplo de Código Robot Framework
robot
*** Settings ***
Library FlaUI uia=UIA3
Library Collections
*** Variables ***
${PDV_PATH} C:\\Program Files\\PDV\\pdv.exe
*** Test Cases ***
CT001 - Login Com Credenciais Válidas
[Documentation] Verifica login bem-sucedido no PDV
[Tags] login smoke
Launch Application ${PDV_PATH}
Wait Until Element Exists name:txtUsuario
Input Text name:txtUsuario operador
Input Text name:txtSenha 123456
Click name:btnEntrar
Wait Until Element Exists name:Dashboard
Element Should Exist name:lblUsuarioLogado
*** Keywords ***
Input Text
[Arguments] ${locator} ${text}
${element}= Get Element ${locator}
Set Text ${element} ${text}
Click
[Arguments] ${locator}
${element}= Get Element ${locator}
Invoke Click ${element}Locators Comuns (FlaUI)
python
# Tipos de locators suportados pelo FlaUI
locators = {
'por_nome': 'name:NomeDoElemento',
'por_automation_id': 'id:AutomationId',
'por_classe': 'class:NomeClasse',
'por_xpath': 'xpath://Button[@Name="Entrar"]'
}