TOTVS Interface Robot (TIR), Automatizando testes no Protheus
Hoje vamos entender como funciona o TIR – Totvs Interface Robot e analisar como ele pode nos ajudar no dia a dia.
Antes de começar a falar sobre o TIR, você deve ter em mente que esse tipo de automação é feito basicamente com a linguagem Python, ou seja, você precisa de uma noção da linguagem para realizar as automações.
Se você não conhece nada de Python recomendo dar uma conferida neste link aqui.
Bora lá ver como o TIR funciona?
Confira neste artigo:
O que é o TOTVS Interface Robot?
O TIR nada mais é do que um framework de testes automatizados para interface web, desenvolvido de forma colaborativa e de código aberto com foco na flexibilidade e simplicidade.
A arquitetura do TIR foi idealizada para atender a qualquer tecnologia TOTVS WEB. Um dos itens já implementados é uma classe voltada aos componentes do Protheus.
O TIR foi pensando para atuar de forma simples e eficaz aos clientes TOTVS. Utilizando o Selenium que é um dos frameworks mais utilizados da web e a linguagem Python.
Dessa forma, é possível garantir de forma simples o processo de automação End-To-End padrão e testes customizados.
Leia Também: 7 Livros para aprender Python sozinho
Por que devo utilizar o TIR?
Quando utilizamos tecnologias de automação, anulamos a interação humana no sistema em alguns processos.
Pensando em testes automatizados, em muitos casos deixamos de mobilizar as áreas de negócio para realização de testes básicos no sistema.
A grande vantagem é principalmente gerar qualidade e consistência nos principais fluxos de testes em cada processo, gerando autonomia e independência.
Dessa forma, é possível garantir uma maior cobertura do escopo de teste, além de diminuir o tempo e custo da operação no processo de homologação do ambiente.
Tecnologias utilizadas no TIR
Primeiramente, o TOTVS Interface Robot é um framework desenvolvido pela TOTVS utilizando as tecnologias Python e Selenium
O que é Python?
Python é uma linguagem de programação de alto nível, interpretada, de script, imperativa, orientada a objetos, funcional, de tipagem dinâmica e forte.
Ou seja, a linguagem foi projetada com a filosofia de enfatizar a importância do esforço do programador sobre o esforço computacional. Prioriza a legibilidade do código sobre a velocidade ou expressividade.
O que é Selenium?
A tecnologia Selenium é um excelente framework para realização de diversos tipos de tarefas com o browser.
Portanto, podemos realizar diversos tipos de automações em browsers utilizando essa tecnologia.
Leia Também: Como Instalar o Python no Windows, Linux e MacOS
Como funciona na prática?
Primeiramente, para executar processos de automação no Protheus utilizando o TIR, é necessário ter instalado em sua máquina um ambiente Python.
Clique Aqui para fazer o download da última versão do Python.
Após a instalação e configuração do ambiente, é necessário criar um arquivo json chamado config.json no mesmo nível de estrutura de pasta onde estará o seu script de automação TIR.
Modelo de configuração do arquivo json:
{
"Url": "http://localhost:2018",
"Browser": "Firefox",
"Environment": "Environment",
"Language": "pt-br",
"User": "Admin",
"Password": "1234",
"Headless": false
}
Após esse procedimento, basta escrever seu script de automação utilizando o framework TIR
Exemplo de código TIR
from tir import Webapp
import unittest
#------------------------------------------------------------------
#- Teste automatizado para inclusão de produto na rotina MATA010. -
#- Autor: David Alves dos Santos. -
#------------------------------------------------------------------
class MATA010(unittest.TestCase):
@classmethod
def setUpClass(inst):
inst.oHelper = Webapp()
inst.oHelper.Setup('SIGAEST','11/03/2020','99','01','04')
inst.oHelper.SetLateralMenu('Atualizações > Cadastros > Produto > Produtos')
def test_MATA010(self):
codigo = 'TIR001'
descricao = 'PRODUTO TIR 001'
tipo = 'MP'
unidade_medida = 'KG'
armazem = '01'
self.oHelper.SetButton('Incluir')
self.oHelper.ClickFolder('Cadastrais')
self.oHelper.SetValue('B1_COD', codigo)
self.oHelper.SetValue('B1_DESC',descricao)
self.oHelper.SetValue('B1_TIPO',tipo)
self.oHelper.SetValue('B1_UM',unidade_medida)
self.oHelper.SetValue('B1_LOCPAD',armazem)
self.oHelper.SetButton('Salvar')
self.oHelper.SetButton('Fechar')
self.oHelper.AssertTrue()
@classmethod
def tearDownClass(inst):
inst.oHelper.TearDown()
if __name__ == '__main__':
unittest.main()
Ou seja, depois de executar o script de automação, é gerado um arquivo de log no formato .csv dentro da pasta Log/
Dentro deste arquivo é possível visualizar dados como, versão do Protheus, banco de dados, data da rotina que foi automatizada etc.
Caso você queira estudar mais sobre esse tipo de automação, vou deixar aqui em baixo alguns links que vão te ajudar a criar seu primeiro script.
Documentação:
https://totvs.github.io/tir/
Ferramenta:
https://github.com/totvs/tir
Scripts de Exemplo:
https://github.com/totvs/tir-script-samples
Conclusão
Em conclusão, neste artigo entendemos o que é o TOTVS Interface Robot, que nada mais é do que um framework criado pela TOTVS para automação de testes no ERP Protheus utilizando as tecnologias Python e Selenium.
Certamente esse framework irá ajudar muitos programadores Protheus, principalmente os clientes que utilizam esse sistema ERP e desejam automatizar os processos de testes.
Clique no botão abaixo para acessar mais de 1400 cursos completos e com certificado válido.
ACESSAR CURSOS COM CERTIFICADOInvista em você e conquiste uma excelente carreira profissional na área da tecnologia.
Enfim, espero que tenha gostado do conteúdo.
Deixe seu comentário, ele é super importante para analisar se o conteúdo esta realmente te ajudando.
Muito obrigado por acompanhar o blog e lhe desejo muito sucesso em sua jornada!!
IMPORTANTE:
Protheus, AdvPL, TIR e TOTVS são produtos e marca registrada de propriedade da TOTVS S.A.
Por fim, o blog Programador Viking é um projeto independente que visa apenas a disseminação de conhecimento para ajudar a comunidade de desenvolvedores.
Referencias:
https://tdn.totvs.com/display/public/PROT/TIR+-+TOTVS+Interface+Robot
Sobre o Autor
0 Comentários