TOTVS Interface Robot (TIR), Automatizando testes no Protheus

TIR - TOTVS Interface Robot

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?

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 CERTIFICADO

Invista 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

Tags: | |

Sobre o Autor

Programador Viking
Programador Viking

DICA EXTRA: Algumas pessoas estão me perguntando qual é o curso que recomendo para quem deseja aprender programação, mesmo sem ter qualquer conhecimento sobre o assunto. Minha recomendação, tanto para quem está iniciando, como para quem já possui mais experiência, é essa AQUI...

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

plugins premium WordPress