Este documento visa fornecer um guia passo a passo para o processo de implantação do TOTVS Automação de Testes. 


A solução é composta por três elementos essenciais:

1. Host (Website)

O Website é a

interface principal da ferramenta, permitindo que os usuários realizem diversas ações, tais como:

  • Criação e gerenciamento de testes;
  • Solicitação de execução de atividades e testes;
  • Exportação de relatórios;
  • Criação de agendamentos de testes;
  • Visualização de dashboards com informações sobre execuções realizadas.

2. Agent

O Agent é responsável pela execução dos testes solicitados pelo Website. Suas principais funções incluem:

  • Execução de testes no servidor;
  • Realização de testes de requisições;
  • Comunicação com o RM para a gravação dos passos de aplicações WinForms;
  • Envio de informações sobre os testes executados de volta ao Website.

3. Servidor de Banco de Dados (SQL)

O Servidor de Banco de Dados armazena todas as informações essenciais para o funcionamento da ferramenta e do CorporeRM. Ele é responsável por:

  • Hospedar o banco de dados da ferramenta e do CorporeRM;
  • Armazenar informações sobre testes, execuções e agendamentos;
  • Permitir a restauração das bases do CorporeRM quando necessário.

Fluxo de Interação

  1. O Website solicita a execução de testes ao Agent.
  2. O Agent processa os testes e executa as requisições necessárias.
  3. O Agent envia os resultados das execuções ao Website.
  4. O Banco de Dados armazena as informações e permite a restauração das bases do CorporeRM caso necessário.

Esse fluxo garante a automação e o gerenciamento eficiente dos testes dentro da ferramenta.

Ambiente recomendado

Para uso, segue especificações recomendadas das máquinas para hospedar o Host e o Agent da ferramenta.

  • VM Host: Neste ambiente será hospedado o host (website) do TOTVS Automação de Testes.
    • SO: Windows Server 2016+ 
    • 2VCPU
    • 4GB RAM
    • 60GB Disco.
  • VM Banco de Dados: Base de dados do TOTVS Automação de Testes e as bases de testes do cliente
    • SQL Server 2019+
    • 2VCPU
    • 4GB RAM
    • 60GB de disco (Windows + Base TOTVS Automação de Testes) + disco suficiente para 2x tamanho da base de testes do cliente.
  • VM de Agent: Nesse ambiente será hospedado o Agent do TOTVS Automação de Testes.
    • 2VCPU
    • 4GB de ram
    • 60GB de disco.
    • Ambiente do RM

Ambientes alternativos

É possível também criar topologias alternativas considerando a capacidade de criação de VMs do cliente.

Um exemplo seria utilizar apenas uma VM, conforme exemplo a seguir:

  • VM com ambiente completo: Neste ambiente será hospedado todos os componentes referentes ao TOTVS Automação de Testes.
    • SO: Windows Server 2016+ 
    • SQL Server 2019+
    • Ambiente do RM
    • 4VCPU
    • 12GB RAM
    • 120GB disco (Windows + Base TOTVS Automação de Testes) + disco suficiente para 2x tamanho da base de testes do cliente



Para a utilização do TOTVS Automação de Testes é necessário fazer algumas liberações de rede entre os ambientes e localmente no firewall dos servidores.

Entre os ambientes

  • Verificar a conectividade entre as redes da máquina Host e da máquina Agent
    • Descubra qual o IPV4 dos servidores

      • Abra o prompt de comando (cmd) em ambas as máquinas.

      • Digite o comando 'ipconfig' e pressione Enter.

      • Verifique no seu adaptador de internet o seu endereço de IPV4

Para determinar se dois endereços IP estão na mesma rede, utiliza-se a máscara de sub-rede. Esta máscara é utilizada para distinguir a parte de rede da parte de host em um endereço IP.

Em resumo, se todos os números antes do último ponto resultantes do comando 'ipconfig' forem idênticos, isso indica que as máquinas estão conectadas na mesma rede. Por exemplo:

    10.171.32.200 e 10.171.32.201

    10.31.7.13 e 10.31.7.14

    192.168.0.1 e 192.168.0.

Caso não estejam na mesma rede ou ainda não seja possível fazer a conexão, é necessário garantir as seguintes liberações de rede:

          Origem        Destino Protocolo

         Porta

               Motivo

HostAgentTCP

5010, 5011, 5012, 445

Compartilhamento de arquivo e Conexão do Host com Agent.

AgentHostTCP

6060, 445

Compartilhamento de arquivo e Conexão do Agent com Host.

AgentServidor de Banco SQLTCP

1433

Conexão do Agent com o Banco.

AgentServidor de Banco SQLUDP

1434

Conexão do Agent com o Banco.

Máquina local do usuário (Opcional caso tenha)HostTCP

6060

Conexão do computador local com o Host do TOTVS Automação de Testes. 

Máquina local do usuário (Opcional caso tenha)Host, AgentTCP

3389

Conexão remota com a VM do Host e do Agent.

Para testar a conexão entre duas máquinas (por exemplo, entre a máquina do Agent e o servidor de banco de dados), abra o PowerShell como Administrador e execute o seguinte comando:

Test-NetConnection -ComputerName <hostname> -Port <porta>

Firewall

Localmente nos servidores do Agent e do Host é necessário fazer as mesmas liberações de rede para a utilização do TOTVS Automação de Testes. Para isso, dê acesso ao firewall às portas listadas na tabela acima, tanto para entrada, quanto para a saída das portas.

Liberações de rede em topologias alternativas

Caso utilize ambientes alternativos, é necessário adaptar as liberações de rede conforme a topologia configurada. 

Para a utilização do TOTVS Automação de Testes é necessário configurar ou utilizar usuários que tenham permissões específicas conforme descrição a seguir.


O TOTVS Automação de Testes necessita de um usuário com permissões para envio de email.

Ele será utilizado para envio de e-mails de agendamentos e geração de relatórios.

Para isso, é necessário preparar algumas configurações de SMTP para a implantação, são elas:

  • Endereço de email do remetente;
  • Porta do servidor;
  • Host do servidor;
  • Nome de usuário;
  • Senha do usuário;
  • Domínio;
  • Se deve habilitar o SSL;

A sugestão é criar um usuário específico apenas com as permissões necessárias

O TOTVS Automação de Testes necessita de um usuário com permissões para criar, remover e acessar as bases de dados da ferramenta e CorporeRM.

Ele será utilizado durante as restaurações de base da automação e também para gravação de dados internos do serviço.

A sugestão é criar um usuário específico apenas com as permissões necessárias

A partir desse passo, é necessário que esses itens estejam configurados e disponíveis.

  • Servidores do Agent, Host e banco disponíveis para a implantação;
  • Liberações de rede entre os servidores do Agent, Host e banco já consolidadas;
  • Dados SMTP para envio de e-mails;
  • Dados de um usuário de banco com permissão de criar, remover e acessar as bases de dados da ferramenta e CorporeRM
  • Ambiente RM instalado na VM onde será instalado o Agent
  • Base CorporeRM que será utilizada na automação já restaurada no ambiente

É necessário após a criação do ambiente de automação a solicitação para a TOTVS para que o cadastro do Fluig Identity seja realizado.

Deve ser enviado as seguintes informações:

  • Nome completo do Host do TOTVS Automação de Testes acessível pela máquina no Agent, exemplo: meu-servidor.br01.local;
  • Email e nome dos usuários que irão utilizar a ferramenta;

Após o cadastro será enviado a Url de redirecionamento do Fluig Identity e o Secret JWT que serão utilizados posteriormente para a implantação.

Instalando o IIS

1) Abra o Dashboard do Server Manager e clique em “Add roles and features”

2) Next -> Next -> Next.

3) Em server Roles selecione a “Web Server (IIS)” → Add Features → Next
Obs:
Caso o Web Server ISS já vier previamente marcado, pule para o passo 5 e depois retorne para a 4.

4) Em Features, selecione a opção "IIS Hostable Web Core" → Next → Next.

Obs: Caso tenha vindo do passo 5, pule para o passo 6.

5) Em Role Services, selecione a opção “Web Server (IIS) → Common HTTP Features → HTTP Redirection”, "Security → Basic Authentication e Windows Authentication" e "Managment ToolsIIS 6 Management Compatibility (Marcar todos os itens)".



6) Next -> Install.

Instalando o URL Rewrite

1) Acesse o link https://www.iis.net/downloads/microsoft/url-rewrite e selecione a opção English: x64 installer

2) Após o download execute o instalador como administrador e clique na opção Next

3) Selecione a opção Install

4) Aguarde e selecione a opção Finish para finalizar a instalação

Para instalação, deverá ser executado o instalador específico TOTVSAutomacao.exe, que fará algumas validações e automações, simplificando o processo de implantação.

O instalador está disponível no link https://testflowstorage.blob.core.windows.net/latest/TOTVSAutomacao.exe.

Ao iniciar, será validada a existência do IIS e seus componentes, bem como a do URLRewrite na máquina.

Caso passe pela validação, irá realizar a instalação de:

  • Componentes .Net necessários (framework .NET Core 2.2.x na versão Hosting Bundle e framework .NET Core 8.0.x na versão Runtime)
  • Arquivos do TOTVSAutomação
  • Base de dados inicial
  • Criação do Site no IIS

Base de dados

Após o download, é necessário restaurá-la no servidor de banco de dados, pois a ferramenta depende dessa base para armazenar suas próprias informações.

Deve existir no ambiente a liberação de rede para a comunicação do Host com o servidor de banco.

O primeiro usuário a realizar login no TOTVS Automação de Testes em uma base será automaticamente cadastrado como 'Administrador' no grupo geral 'Todos'. Esse usuário poderá cadastrar, gerenciar e conceder permissões aos próximos usuários do sistema.

Passo a passo de instalação

A instalação pode ser feita de forma silenciosa, executando o comando TOTVSAutomacao.exe /s 

Ela pode também ser completa ou customizada, selecionando apenas o TOTVS Automação ou apenas a Base de dados


Após utilizar o instalador é necessário criar e configurar o arquivo appsettings.json do Host.

O Arquivo de configuração deve ser criado e preenchido conforme as informações do ambiente e enviadas durante a implantação. 

O formato JSON deve respeitar algumas formatações, restrições e caracteres de escape, para a configuração no formato correto, é importante consultar a documentação oficial através do link https://www.json.org/json-en.html.

1) Entre no diretório C:\inetpub\wwwroot\TotvsAutomacao e crie um arquivo appsettings.json com o conteúdo a seguir:

{
    "Jwt": {
        "Secret": "",
        "RedirectUrl": ""
    },
    "ConnectionStrings": {
        "default": ""
    },
    "smtp": {
        "From": {
            "Address": "",
            "DisplayName": "TOTVS Automação de Testes"
        },
        "Port": 0,
        "Host": "",
        "Username": "",
        "Password": "",
        "Domain": "",
        "EnableSsl": true
    },
    "Endpoint": ""
}

Exemplo do arquivo criado:

Valide se o arquivo criado está com a extensão .json e é reconhecido pelo Sistema Operacional como Arquivo JSON, como na imagem acima. 
Exemplo de arquivo certo e errado: 

Obs: Essa validação é necessária pois dependendo da forma que criamos o arquivo, o arquivo pode parecer ser um JSON, mas possui duas extensões que geralmente não é visível facilmente.

2) Preencha cada campo conforme as orientações a seguir:

CampoTipo do campoO que deve ser informadoTemplateExemplo
Jwt.SecretTextoSegredo informado durante a implantação
83f7df92-9c05-4f17-a848-c12e9c6cfb92
Jwt.RedirectUrlTexto

Url de retorno do Fluig informada durante a implantação


https://testflow.fluigidentity.com/cloudpass/launchpad/launchApp/2575eb568asudhaushdue/080aadasdfuhfaab6
ConnectionStrings.defaultTexto

A connection string do banco de dados da ferramenta

Data Source={seu-servidor-de-banco};User Id={usuário};Password={senha};Initial Catalog=TotvsAutomacao;Data Source=TotvsAutomacaoServer;User Id=sa;Password=123456789;Initial Catalog=TotvsAutomacao;
smtp.From.AddressTextoEmail do usuário SMTP
[email protected]
smtp.PortNuméricoPorta do servidor SMTP
587
smtp.HostTextoEndereço do servidor SMTP
smtp.gmail.com
smtp.UsernameTextoNome do usuário SMTP
totvsautomacao
smtp.PasswordTextoSenha do usuário SMTP
123456789
smtp.DomainTextoDomínio do servidor SMTP
br01
smtp.EnableSslBooleanoHabilitar Ssl
true
EndpointTextoUrl do hosthttp://{host}:6060http://servidor-totvs-automacao:6060

3) Exemplo de um arquivo criado

{
    "Jwt": {
        "Secret": "83f7df92-9c05-4f17-a848-c12e9c6cfb92",
        "RedirectUrl": "https://testflow.fluigidentity.com/cloudpass/launchpad/launchApp/2575eb568asudhaushdue/080aadasdfuhfaab6"
    },
    "ConnectionStrings": {
        "default": "Data Source=TotvsAutomacaoServer;User Id=sa;Password=123456789;Initial Catalog=TotvsAutomacao;"
    },
    "smtp": {
        "From": {
            "Address": "[email protected]",
            "DisplayName": "TOTVS Automação de Testes"
        },
        "Port": 587,
        "Host": "smtp.gmail.com",
        "Username": "totvsautomacao",
        "Password": "123456789",
        "Domain": "br01",
        "EnableSsl": true
    },
    "Endpoint": "http://servidor-totvs-automacao:6060"
}
Validação

Após esse passo, reinicie o computador e na sequência, dê um start no IIS. Com isso, já será possível acessar o TOTVS Automação de Testes pela URL configurada.

Proceda da seguinte forma:

  • Acesse a URL correspondente ao host do TOTVS Automação de Testes configurado anteriormente em um navegador da web.
  • Em seguida, proceda com o download do Agent.

Isso fará com que seja baixado um arquivo .exe. Esse é o instalador do Agent que deverá ser executado.

Após baixar o arquivo .exe, basta executá-lo e seguir o guia a seguir.


Caso apareça esse alerta do windows, clique em "Mais informações":

E depois em "Executar assim mesmo":

Uma vez que esse arquivo foi executado, uma janela com o instalador irá aparecer:

Na próxima etapa, será necessário selecionar um caminho preferido para os arquivos. É recomendável utilizar a configuração padrão "c:\TOTVS\Agent".

Obs.: É necessário possuir ao menos 189,9MB disponíveis no disco.


Ao prosseguir, deverá inserir a URL do servidor onde está o TOTVS Automação:

Obs.: Essa configuração foi feita nos passos anteriores da instalação do TOTVS Automação, o Agent deverá apenas apontar para aquela mesma URL.

Exemplo: "http://NomedoHost.local:6060"


Com tudo isso feito, agora basta confirmar as informações, clicar no botão "Instalar" e aguardar até a instalação ser finalizada.

Ao fim da instalação, basta clicar em "Concluir" e o Agent do TOTVS Automação de Testes será executado.

Para garantir que tudo funcionou com sucesso, acesse o cadastro de servidores, cadastre o HostName da máquina onde o Agent do TOTVS Automação está sendo executado e valide se está online.

Utilização de um usuário de serviço

A recomendação é que seja utilizado um usuário de serviço para iniciar o Agent. Assim, é possível garantir que ele nunca estará offline, mesmo quando um usuário seja desconectado do servidor.

Validações após instalações

Após a instalação e configuração dos ambientes é interessante validar se os cadastros e execuções estão funcionando conforme esperado.


Vá no cadastro de Servidores e clique no botão da coluna "Online" do seu servidor.


Caso ocorra o Erro 500 (Internal Server Error), significa que o servidor encontrou um problema inesperado ao processar a requisição.

Para investigar a causa do problema, execute o comando abaixo no Prompt de Comando (CMD), utilizando o caminho C:\inetpub\wwwroot\TotvsAutomacao
Esse comando exibirá informações que podem ajudar a identificar os possíveis caminhos para a resolução do erro.

dotnet TestFlow.Host.dll

Uso do sistema somente após a vínculo do usuário em um grupo

Após o usuário ser adicionado em um grupo, será possível para o mesmo criar, editar, visualizar e executar atividades no TOTVS Automação de Testes.