Skip to content

PDV

Sistema de Ponto de Venda (Desktop)

Informações do Produto

CampoValor
Statusativo
TipoDesktop (Windows)
Stack de AutomaçãoRobot Framework + Python + FlaUI
Repositório de Automação[Link](https://github.com/sua-empresa/pdv-automacao)

Ambientes

AmbienteDescrição
DesenvolvimentoMáquina local / VM Dev
StagingVM Staging
ProduçãoMá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

IDRoteiroMóduloPrioridade
RT001Login de UsuárioAutenticaçãoAlta
RT002Cadastro de UsuárioAutenticaçãoAlta

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-flaui

Variáveis de Ambiente

env
PDV_PATH=C:\Program Files\PDV\pdv.exe
TEST_USER=operador
TEST_PASSWORD=123456

Exemplo 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"]'
}

Documentação de Testes