Não publicar esta página


XFUNVldUni(cAlias, nOrder, cChave, lUpper)

Função de validação da chave única da tabela utilizando EXISTCPO

Parâmetros: cAlias, nOrder, cChave, lUpper


Retorno: lOk - Estrutura


Exemplo:

XFUNVldUni("C9V", 5, FWFLDGET("C9V_CPF") + DTOS(M->C9V_DTALT))


XFUNVldCmp(cAlias , nOrder , cChave , lID , nOrdID , lVldVig , lVldFin , lVldAtv)

Função de validação utilizando EXISTCPO e chamando o HELP do campo

Parâmetros: cAlias , nOrder , cChave , lID , nOrdID , lVldVig , lVldFin , lVldAtv


Retorno: lOk - Estrutura

Exemplo:

XFUNVldCmp("C8N",,,,2,.T.)


XFUNVldIE(cIE , cUF , lHelp)  

Função de validação do dígito verificador da IE

Parâmetros: cIE , cUF , lHelp,


Retorno: lRetorno - Estrutura

Nome

Tipo

Descrição

Default

Obrigatório

cIE

Caractere

Código da Inscrição estadual


X
cUF CaractereUnidade Federativa
X


Exemplo:

XFUNVldIE(M->C1H_IE, FWFLDGET("C1H_UF"))


xFunWizard(aTxtApre, aPaineis, cNomeWizard, cNomeAnt, nTamSay, lBackIni, bFinalExec) 

Função de montagem da Wizard da rotina.

Parâmetros: cIE , cUF , lHelp,


Retorno: lRet - Estrutura


Nome

Tipo

Descrição

Default

Obrigatório

aTxtApre

Array

Array com o cabeçalho da Wizard


X
aPaineis ArrayArray com os painéis da Wizard
X
cNomeWizard CaractereNome do arquivo da Wizard
X
cNomeAnt CaractereNome do arquivo anterior da Wizard, caso tenha mudado de nome

nTamSay NuméricoIndica a largura em pixels do objeto.0
lBackIni Lógico

Indica se deve retornar ao inicio da Wizard

.F.
bFinalExec Bloco de CódigoBloco de código a ser executado ao final da WizardNil

ConvAcento( cString )  

Função que converte os caracteres com acento.


Nome

Tipo

Descrição

Obrigatório

cStringCaractereString a ser convertidaX


 

Exemplo:

 

cRet := ConvAcento( cString)


Conv2Hex( cChar )

Função que converte o caractere em Hexadecimal.


Nome

Tipo

Descrição

Obrigatório

cCharCaractereString a ser convertidaX


Exemplo:

cRet := Conv2Hex( cChar )


DeActivate()

Metodo que irá desativar a classe. 


Exemplo:

oModel:Deactivate()
oHelper:Deactivate()


GetParAuto( cProgram, lCabItem, aHeader )

Função para programas que não estão preparados para receber informações automáticas.  Função retorna Array, que deve ser informado no TestCase.


Nome

Tipo

Descrição

Default

Obrigatório

cProgramCaractereNome do teste case que irá retornar o array
X
lCabItemLógicoPreenchimento de variáveis simulando Enchoice() e GetDados().F.
aHeaderArraySe lCabItem for verdadeiro, é possível informar o array do aHeader da rotina


Exemplo:

Na rotina principal (Rotina do produto padrão):

If FindFunction( "GetParAuto" )
	aRetAuto    := GetParAuto( "FINA667TestCase" )
EndIf


No script (TestCase)

//-----------------------------------------------------------------
/*/{Protheus.doc} SetUpClass

@version 1.0
/*/
//-----------------------------------------------------------------
METHOD SetUpClass() CLASS FINA667TESTCASE

Local	oHelper	:= FWTestHelper():New()
Static aRetAuto	:= {}
	
Return( oHelper )
 
//-----------------------------------------------------------------
/*/{Protheus.doc} FIN667_006

@version 1.0
/*/
//-----------------------------------------------------------------
METHOD FIN667_006() CLASS FINA667TestCase


Local oHelper  	:= FWTestHelper():New()
Local cQuery	:= ""
Local cTable	:= ""

aRetAuto 		:= {}

aRetAuto := { '      ', 'ZZZZZZ', CtoD( '01/11/15' ), CtoD( '31/12/15' ) }
 
//... continuação ...
 
Return( oHelper )
 
//-----------------------------------------------------------------
/*/{Protheus.doc} GetParAuto

Utilizado para retornar o conteúdo aRetAuto
/*/
//-----------------------------------------------------------------
Static Function AutoParDef()

Return( aRetAuto )


GetReleaseRobo()

Método para verificar o conteúdo do arquivo advpr.ini, responsável por identificar qual release o ambiente protheus está.

Observação: Somente a squad de automação terá acesso parar alterar este arquivo.

Exemplo:

METHOD MATA030TestCase() CLASS MATA030TestCase
	Local oHelper		:= FWTestHelper():New()
	
	_Super:FWDefaultTestSuite()


		If oHelper:GetReleaseRobo() >= "12.1.19"
			::AddTestMethod("MAT030_001",,"Caso de teste 001")//OK
		EndIf


SetCsv( cLayout, cTxtFiel, xAlias )

Método utilizado para informar um arquivo CSV


Nome

Tipo

Descrição

Obrigatório

cLayoutCaractere

Nome do Layout no MILE

X
cTxtFielCaractereNome do arquivo CSV a ser carregadoX
xAliasUndefiniedNome da tabela principal ou Array de tabelas a serem limpas durante a cargaX


Exemplo:

//-----------------------------------------------------------------
/*/{Protheus.doc} SetUpSuite

 Prepara o ambiente para execução dos casos de teste 

/*/
//-----------------------------------------------------------------
METHOD SetUpSuite() CLASS CRMA610TestSuite

Local oHelper := FWTestHelper():New()

//-------------------------------------------
// Define Arquivos de dados para importação
//-------------------------------------------
oHelper:SetCSV( "CTBA010", "ctba010.csv", "CTG" ) //Calendário Contábil
oHelper:SetCSV( "CTBA020", "ctba020.csv", "CT1" ) //Plano de Contas
oHelper:SetCSV( "CTBA030", "ctba030.csv", "CTT" ) //Centro de custo
 
//---------------------------
// Ativado Classe Auxiliar
//---------------------------
oHelper:Activate()

Return( oHelper )


SetModel( oModel )

Método utilizado para ativar o modelo que será utilizado nas operações em fontes MVC. 


Nome

Tipo

Descrição

oModelObjeto

Nome do modelo a ser carregado pela classe de teste


Exemplo:

oHelper:SetModel( oModel )


SetXml( cXml ) 

Método utilizado para informar um layout de importação XML.


Nome

Tipo

Descrição

cXMLCaractere

Nome do modelo a ser carregado pela classe de teste


Exemplo:

//-----------------------------------------------------------------
/*/{Protheus.doc} SetUpSuite

 Prepara o ambiente para execução dos casos de teste

/*/
//-----------------------------------------------------------------
METHOD SetUpSuite() CLASS CRMA610TestSuite

Local oHelper := FWTestHelper():New()

//-------------------------------
// Define Layout de importação
//-------------------------------
oHelper:SetXml( "ctba010.xml" ) //Calendário Contábil
oHelper:SetXml( "ctba020.xml" ) //Plano de contas

//-------------------------
// Ativado Classe Auxiliar
//-------------------------
oHelper:Activate()

Return( oHelper )


TabForTxt ( cPath, nExtensao, nTipo, aTables )

Método para converter dados de tabelas para arquivo de texto.


Nome

Tipo

Descrição

Default

Obrigatório

cPathCaractere

Define o caminho onde o arquivo será salvo


X
nExtensaoNumérico

Define a extensão do arquivo ( 1-TXT; 2-CSV)

1
nTipoNumérico

Define o tipo do arquivo a ser gerado (1-Modelo; 2-Teste)

1
aTablesArray

Define as tabelas que serão geradas


X


Exemplo:

TabForTxt( cPath, 2, 2, { "SA1" } )

Txt2Array( cArqTxt, cCond, aReplace )

Método que transforma um arquivo texto em array.


Nome

Tipo

Descrição

Obrigatório

cArqTxtCaractere

Nome do arquivo TXT que será transformado

X
cCondCaractere

Condição de aglutinação

X
aReplaceArray

Retorno do arquivo completo transformado em array



Exemplo:

aArqModel := Txt2Array( cArqModel,"|T001" )


UTAddLine( cModel ) 

Método utilizado para incluir uma linha em um modelo de dados ou em um array.


Nome

Tipo

Descrição

Obrigatório

cModelCaractere

Nome do Array ou Model que deseja inserir uma nova linha.

X


Exemplo:

Adição em array

oHelper:UTSetValue( "aItens", 'N3_VORIG1', 1000 ) 

oHelper:UTAddLine( 'aItens' )

oHelper:UTSetValue( "aItens", "N3_CBASE", "ATF038 ") 


Adição no modelo de dados

oHelper:UTAddLine( "CPIDETAIL" )

oHelper:UTSetValue( "CPIDETAIL", "CPI_CODORG", '000002' ) 
oHelper:UTSetValue( "CPIDETAIL", "CPI_QTDLIC", 3500 )


UTAlterAutoCont( cTable, nOrder, cSeek, aData )

Método para alterar um campo em alguma tabela autocontida por TestCase tendo em vista que as tabelas autocontidas são sempre recriadas nos appends.


Nome

Tipo

Descrição

Obrigatório

cTableCaractere

Nome da Tabela autocontida

X
nOrderNumérico

Índice de busca

X
cSeekCaractere

Chave de pesquisa

 X
aDataArrayValor de preenchimento do campo { campo, valor }


Exemplo:

Local oHelper 	 := FWTestHelper():New()
Local lUpdtAuto  := .F.

oHelper:Activate()

If oHelper:UTAlterAutoCont( 'CC2', 1, "GO" + "14804", { { "CC2_PERMAT", 25 } } )
	lUpdtAuto := .F.
EndIf 
 
//------------------------------------------------------------------------
// Restaura o valor da autocontida para não conflitar com outro TestCase
//------------------------------------------------------------------------
oHelper:UTRestAutoCont()
 
Return( oHelper )

Ao utilizar o método UTAlterAutoCont() é necessário antes de finalizar o caso de testes, restaurar os dados da tabela através do método UTRestAutoCont(), para não conflitar com a execução de casos de testes posteriores.


UTAlterSM0( cAltFil, cCampo, xValue )

Método para alterar um campo  no SIGAMAT do sistema.


Nome

Tipo

Descrição

Obrigatório

cAltFilCaractereGrupo de empresa mais a filial que sera alterada

X

cCampoCaractere

Nome do campo que sera alterado

X
xValueUndefinedConteudo que sera alterado no campoX


Exemplo:

oHelper:UTAlterSM0("T1X TSS02", "M0_ESTCOB", "SP" )


Após utilizar este método é necessário restaurar os valores originais do SIGAMAT através do método UTRestSM0().


UTAppendData( cTable, lExcluir,cFile )

Apenda os dados para a tabela da base utilizada  conforme appServer.ini.


Nome

Tipo

Descrição

Default

Obrigatório

cTableCaractereNome da tabela que será efetuado o append

X

lExcluirLógicoDetermina se deve ser executação a exclusão dos dados da tabela.T.


cFileCaractereNome do arquivo que será utilizado para realizar append dos dados" "
RetornoTipoDescrição
oHelper:lOkLógicoIndica se foi realizada com sucesso o append dos dados com sucesso.


Exemplo:

//-----------------------------------------------------------------
/*/{Protheus.doc} SetUpSuite

 Prepara o ambiente para execução dos casos de teste do módulo de CRM

@version 1.0
/*/
//-----------------------------------------------------------------
METHOD SetUpSuite() CLASS CRMA610TestSuite


Local oHelper := FWTestHelper():New()

//---------------------------------
// Realiza a abertura do ambiente
//---------------------------------
oHelper:UTOpenFilial( "T1", "D MG 01 " ) 
 
//---------------------------
// Ativado Classe Auxiliar
//---------------------------
oHelper:Activate()

//-----------------------------------------------------------------------------------------------
// Realiza o append das tabelas na base, quando as mesmas não possuem ExecAuto e não são em MVC
//-----------------------------------------------------------------------------------------------

oHelper:UTAppendData("TAFST2",,"AdvPR_007")


//-- Append dos dados sem deletar registros
oHelper:UTAppendData("SA1",.F.,"AdvPR_008")

Return( oHelper )


UTArqCompare( cPath, cFileModel, cFileTest, cIdLinha, aReplace )

Método que compara arquivo inteiro ou parcial. 


Nome

Tipo

Descrição

Default

Obrigatório

cPathCaractereCaminho dos arquivos, tanto do modelo, quanto do arquivo gerado pelo Caso de teste StartPath do Protheus
cFileModelCaractereNome do arquivo modeloArquivo_001_Model.txtX
cFileTestCaractereNome do arquivo gerado pelo caso de testeArquivo_001

X

cIdLinhaCaractereEspecífica a linha em que deverá ocorrer o replace" "
aReplaceArrayArray com De/Para de alteração de string{}
lConvAcentLógicoSe deve efetuar a conversão de acentos.T.


Exemplo:

Aadd( aReplace, { "01112016" , "03102016" } )
Aadd( aReplace, { "01092016" , "01102016" } )
Aadd( aReplace, { "000800"   , "000833"   } )
Aadd( aReplace, { "30092016" , "31102016" } )
Aadd( aReplace, { "21092016" , "01102016" } )

oHelper:UTArqCompare( "", cArqTest, cArqModel, "|E350", aReplace )


UTAtzPsw()

Método para atualizar os SIGAPSS.spf, de acordo como o backup da base congelada.


Ver também o método UTDelPsw( )

Exemplo:

//"Copia arquivo SIGAPASS do ambiente"
oHelper:UTAtzPsw() 



UTAuditField( cTable, cField )

Método para auditar um campo específico de uma tabela, utilizando o Audit Trail.

Deve ser colocado imediatamente após a ativação do oHelper. Se necessário configurar mais de um campo a ser auditado, é necessário repetir o método com o novo campo no script.

Deve ser utilizado junto com o método UTCheckAudit, para verificação do resultado esperado por meio de relatório do AuditTrail.

A configuracao no Audit Trail ficara da seguinte forma:

                Empresa - EXCECAO

                Tabela - LIGACAO

                Campo - REGRA

Nome

Tipo

Descrição

Obrigatório

cTableCaractere

Nome da tabela que possui o campo a ser auditado

X
cFieldCaractereNome do campo a ser auditadoX


Exemplo
:

oHelper:Activate()

//-- Desejo auditar somente os campos E1_NUM e E1_TIPO
oHelper:UTAuditField("SE1","E1_NUM")
oHelper:UTAuditField("SE1","E1_TIPO")

//-- Alterar Pergunte
oHelper:UTChangePergunte("FIN040","01",2)
oHelper:UTChangePergunte("FIN040","02",1)
oHelper:UTChangePergunte("FIN040","03",1)
oHelper:UTChangePergunte("FIN040","04",1)

//-- Incluindo Cabecalho	
//-- Preenchimento dos campos
oHelper:UTSetValue("aCab","E1_PREFIXO","AUT")
oHelper:UTSetValue("aCab","E1_NUM",cE1_Num)
oHelper:UTSetValue("aCab","E1_TIPO","NF ")
oHelper:UTSetValue("aCab","E1_NATUREZ",cE1_Naturez)
oHelper:UTSetValue("aCab","E1_CLIENTE",cE1_Cliente)
oHelper:UTSetValue("aCab","E1_LOJA",cE1_Loja)
oHelper:UTSetValue("aCab","E1_MOEDA",1)
oHelper:UTSetValue("aCab","E1_EMISSAO",dDate)
oHelper:UTSetValue("aCab","E1_VENCTO",dDate)
oHelper:UTSetValue("aCab","E1_VENCREA",dDate)
oHelper:UTSetValue("aCab","E1_VALOR",1000)

//-- Teste de Inclusao
oHelper:UTCommitData({|x,y| FINA040(x,y)},oHelper:GetaCab(),3) 

oHelper:UTCheckAudit("FINA040_001")
oHelper:AssertTrue(oHelper:lOk,"")


UTAuditNoField( cTable, cField )

Método para auditar uma tabela inteira, exceto um campo.

Deve ser colocado imediatamente após a ativação do oHelper. Se necessário configurar mais de um campo a ser desconsiderado, é necessário repetir o método com o novo campo no script.

Deve ser utilizado junto com o método UTCheckAudit, para verificação do resultado esperado por meio de relatório do AuditTrail.

A configuracao no Audit Trail ficará da seguinte forma:

                Empresa - EXCECAO

                Tabela - REGRA

                Campo - EXCECAO

Nome

Tipo

Descrição

Obrigatório

cTableCaractere

Nome da tabela a ser auditada

X
cFieldCaractereNome do campo que não deve ser auditadoX


Exemplo
:

oHelper:Activate()

//-- Desejo auditar a tabela SE1 inteira, exceto os campos E1_NUM e E1_TIPO
oHelper:UTAuditNoField("SE1","E1_NUM")
oHelper:UTAuditNoField("SE1","E1_TIPO")

//-- Alterar Pergunte
oHelper:UTChangePergunte("FIN040","01",2)
oHelper:UTChangePergunte("FIN040","02",1)
oHelper:UTChangePergunte("FIN040","03",1)
oHelper:UTChangePergunte("FIN040","04",1)

//-- Incluindo Cabecalho	
//-- Preenchimento dos campos
oHelper:UTSetValue("aCab","E1_PREFIXO","AUT")
oHelper:UTSetValue("aCab","E1_NUM",cE1_Num)
oHelper:UTSetValue("aCab","E1_TIPO","NF ")
oHelper:UTSetValue("aCab","E1_NATUREZ",cE1_Naturez)
oHelper:UTSetValue("aCab","E1_CLIENTE",cE1_Cliente)
oHelper:UTSetValue("aCab","E1_LOJA",cE1_Loja)
oHelper:UTSetValue("aCab","E1_MOEDA",1)
oHelper:UTSetValue("aCab","E1_EMISSAO",dDate)
oHelper:UTSetValue("aCab","E1_VENCTO",dDate)
oHelper:UTSetValue("aCab","E1_VENCREA",dDate)
oHelper:UTSetValue("aCab","E1_VALOR",1000)

//-- Teste de Inclusao
oHelper:UTCommitData({|x,y| FINA040(x,y)},oHelper:GetaCab(),3) 

oHelper:UTCheckAudit("FINA040_001")

oHelper:AssertTrue(oHelper:lOk,"")


UTAuditTable( cTable )

Método para Auditar uma tabela inteira.

Deve ser colocado imediatamente após a ativação do oHelper. Se necessário configurar mais de uma tabela a ser auditada, é necessário repetir o método com a nova tabela no script.

Deve ser utilizado junto com o método UTCheckAudit, para verificação do resultado esperado por meio de relatório do AuditTrail.

A configuracao no Audit Trail ficará da seguinte forma:

                Empresa - EXCECAO

                Tabela - REGRA

                Campo - SEM CONFIGURACAO

Nome

Tipo

Descrição

Obrigatório

cTableCaractere

Nome da tabela a ser auditada

X


Exemplo
:

oHelper:Activate()

//-- Desejo auditar a tabela SE1 e SE2 inteiras
oHelper:UTAuditTable("SE1")
oHelper:UTAuditTable("SE2")

//-- Alterar Pergunte
oHelper:UTChangePergunte("FIN040","01",2)
oHelper:UTChangePergunte("FIN040","02",1)
oHelper:UTChangePergunte("FIN040","03",1)
oHelper:UTChangePergunte("FIN040","04",1)

//-- Incluindo Cabecalho	
//-- Preenchimento dos campos
oHelper:UTSetValue("aCab","E1_PREFIXO","AUT")
oHelper:UTSetValue("aCab","E1_NUM",cE1_Num)
oHelper:UTSetValue("aCab","E1_TIPO","NF ")
oHelper:UTSetValue("aCab","E1_NATUREZ",cE1_Naturez)
oHelper:UTSetValue("aCab","E1_CLIENTE",cE1_Cliente)
oHelper:UTSetValue("aCab","E1_LOJA",cE1_Loja)
oHelper:UTSetValue("aCab","E1_MOEDA",1)
oHelper:UTSetValue("aCab","E1_EMISSAO",dDate)
oHelper:UTSetValue("aCab","E1_VENCTO",dDate)
oHelper:UTSetValue("aCab","E1_VENCREA",dDate)
oHelper:UTSetValue("aCab","E1_VALOR",1000)

//-- Teste de Inclusao
oHelper:UTCommitData({|x,y| FINA040(x,y)},oHelper:GetaCab(),3) 

oHelper:UTCheckAudit("FINA040_001")

oHelper:AssertTrue(oHelper:lOk,"")


UTChangePergunte( cGrupo, cOrdem, xValue )  

Metodo que ira alterar o conteúdo das perguntas do SX1.


Nome

Tipo

Descrição

Obrigatório

cGrupoCaractere

Grupo da rotina a ser alterada a pergunta

X
cOrdemCaractereSequencia da perguntaX
xValueUndefinedValor a ser alterado

X


Exemplo:

oHelper:UTChangePergunte( "AFA010", "01", 2 ) //Mostra Lançamento - N
oHelper:UTChangePergunte( "AFA010", "02", 2 ) //Repete Chapa 	  - S
oHelper:UTChangePergunte( "AFA010", "03", 2 ) //Desc. Estendida   - N
oHelper:UTChangePergunte( "AFA010", "04", 1 ) //Copia valores 	  - TODOS 


UTCheckAudit(cRptName, lUseTxt, lConvAcent, cOrder)

Extrai os dados das tabelas de auditoria e compara com arquivo base.

Deve ser colocado após o Commit. Se utilizado a comparação via Txt, o arquivo base deverá ficar na pasta "baseline" do ambiente. Se comparação via relatório, o arquivo base deverá ficar na pasta "spool".

Recomenda-se a comparação via txt por ser mais rápida.

O método UTCheckAudit deve ser utilizado junto com um dos métodos UTAuditField, UTAuditNoField ou UTAuditTable, pois esses métodos aplicam as configurações do aplicador do Audit Trail, necessários para a comparação funcionar.


Nome

Tipo

Descrição

Default

Obrigatório

cRptNameCaractereNome do relatório
X
lUseTxtLógicoSe a comparação deve ser feita via Txt ou via relatório do Audit Trail. Utilize .T. para Txt, e .F. para relatório..T.
lConvAcentLógicoSe deve ser feita a conversão de acentos..T.
cOrderCaractereChave que será utilizada para ordenação dos registros.TTAT_DTIME,TTAT_RECNO,TTAT_OPERATI,TTAT_FIELD



Exemplo
:

oHelper:Activate()

//-- Desejo auditar a tabela SE1 e SE2 inteiras
oHelper:UTAuditTable("SE1")
oHelper:UTAuditTable("SE2")

//-- Alterar Pergunte
oHelper:UTChangePergunte("FIN040","01",2)
oHelper:UTChangePergunte("FIN040","02",1)
oHelper:UTChangePergunte("FIN040","03",1)
oHelper:UTChangePergunte("FIN040","04",1)

//-- Incluindo Cabecalho	
//-- Preenchimento dos campos
oHelper:UTSetValue("aCab","E1_PREFIXO","AUT")
oHelper:UTSetValue("aCab","E1_NUM",cE1_Num)
oHelper:UTSetValue("aCab","E1_TIPO","NF ")
oHelper:UTSetValue("aCab","E1_NATUREZ",cE1_Naturez)
oHelper:UTSetValue("aCab","E1_CLIENTE",cE1_Cliente)
oHelper:UTSetValue("aCab","E1_LOJA",cE1_Loja)
oHelper:UTSetValue("aCab","E1_MOEDA",1)
oHelper:UTSetValue("aCab","E1_EMISSAO",dDate)
oHelper:UTSetValue("aCab","E1_VENCTO",dDate)
oHelper:UTSetValue("aCab","E1_VENCREA",dDate)
oHelper:UTSetValue("aCab","E1_VALOR",1000)

//-- Teste de Inclusao
oHelper:UTCommitData({|x,y| FINA040(x,y)},oHelper:GetaCab(),3) 

//-- Gera o relatorio do que foi auditado e compara com arquivo base
oHelper:UTCheckAudit("FINA040_001")

oHelper:AssertTrue(oHelper:lOk,"")

UTCheckDB( cAlias, cField, xValue )

Método utilizado para verificações de resultado esperado, valida se o resultado do campo especificado confere com o conteúdo gravado no banco de dados.


Nome

Tipo

Descrição

Obrigatório

cAliasCaractere

Nome da tabela a ser utilizada

X
cFieldCaractereNome do campo a ser verificadoX
xValueUndefiniedConteúdo a ser verificado.X


Exemplo:

//------------------------
// Ponto de verificação 
//------------------------
oHelper:UTCheckDB( "SAH", "AH_UNIMED", cCodigo )
oHelper:AssertTrue( oHelper:lOk, "" ) 

oHelper:UTCheckDB( "SE1", "E1_VALOR", 1000 )
oHelper:AssertTrue( oHelper:lOk, "")  

oHelper:UTCheckDB( "SE1", "E1_MOEDA", 1 )
oHelper:AssertTrue( oHelper:lOk, "" ) 


UTClearDB( aAlias )

Método utilizado para limpar os dados de tableas especificas conforme informado no parâmetro.


Nome

Tipo

Descrição

Obrigatório

aAliasArray

Array de Alias a serem excluídos. 

X


Exemplo:

//-----------------------------------------------------------------
/*/{Protheus.doc} SetUpSuite


Prepara o ambiente para execução dos casos de teste do módulo de CRM


/*/
//-----------------------------------------------------------------
METHOD SetUpSuite() CLASS CRMA610TestSuite

Local oHelper := FWTestHelper():New()


//-----------------------------------
// Realiza a abertura do ambiente
//-----------------------------------
oHelper:UTOpenFilial("T1","D MG01 ")


//---------------------------
// Ativado Classe Auxiliar
//---------------------------
oHelper:Activate()


//--------------------------------------------------------------
// Limpa tabelas que serão populadas pelos os casos de testes
//--------------------------------------------------------------
oHelper:UTClearDB( { "ACG","B44","SEZ","SFQ","SK1","SC5","SC6","SC9","SDA" } )

Return( oHelper )


UTCloseFilial()

Método utilizado para fechar a empresa após a execução dos casos de testes.


Exemplo:

//-----------------------------------------------------------------
/*/{Protheus.doc} TearDownSuite

 Finaliza o ambiente após a execução dos casos de teste

@author 
@since 01/02/2016
@version 1.0

/*/
//-----------------------------------------------------------------
METHOD TearDownSuite() CLASS ATFA010TestSuite

Local oHelper := FWTestHelper():New()

//---------------------------------
// Restaura os parâmetros
//---------------------------------
oHelper:UTRestParam( ::aParam )

//---------------------------------------
// Fecha a filial do sistema
//---------------------------------------
oHelper:UTCloseFilial()

Return( oHelper )


UTCommitData( bExec, xParam1, xParam2… xParam20 ) 

Função que executa o commit de teste e captura o erro, se tiver. 


Nome

Tipo

Descrição

Obrigatório

bExecBloco

Bloco de execução do MsExecAuto

Não
xParamUndefinedArray de Backup com os valore de parâmetros do Protheus a serem restauradosNão


Exemplo:

Rotina automática

 oHelper:UTCommitData( { |x,y,z| ATFA010( x, y, z ) }, oHelper:GetaCab(), oHelper:GetaItens(), 3 )


Model View Controler (MVC)

 oHelper:UTCommitData()


UTContDB( cAlias, nCount )

Método utilizado para contar a quantidade de registros de uma determinada tabela.


Nome

Tipo

Descrição

Obrigatório

cAliasCaractere

Nome da tabela a ser utilizada

X
nCountNuméricoQuantidade a ser verificada na tabelaX


Exemplo:

nRegister := oHelper:UTCheckDB( "SA1", 13 )


UTCountRows( cTable, cFilter )

Método para contagem de linhas em uma determinada tabela de acordo com um filtro utilizado para pesquisa.

Nome

Tipo

Descrição

Obrigatório

cTableCaractereNome da tabela que será pesquisadaX
cFilterCaractereFiltro que será utilizado como "Where" da pesquisa.

Return

Tipo

Descrição

nCountNuméricoQuantidade de linha que foram encontradas de acordo com o filtro utilzado.

Exemplo:

nCount := oHelper:UTCountRows( "SA2" , "A2_EST = 'SP' " )


UTDelPsw()

Método que irá apagar o SIGAPSS.SPF 


Exemplo:

oHelper:UTDelPsw()


UTEAIActivate( cProgram, cFormat, cVersion )

Metodo que irá ativar a utilização da configuração de Envio do EAI. 

Nome

Tipo

Descrição

Default

Obrigatório

cProgramCaractereNome do adapter configurado
X
cFormatCaractereFormato do arquivo que será considerado para ativação da classeXML
cVersionCaractereVersão do Adapter, caso seja necessário alterar a versão na execução do teste


RetornoVerdadeiro ou Falso indicando se foi possível ativar o adapter informado.


Exemplo:

oHelper:UTEAIActivate( 'FINA010' )


UTExecEAI( cCodigo )

 

Método de execução da mensagem única de ENVIO.

Retorno: Verdadeiro ou Falso indicando se foi possível executar a mensagem.

 

Nome

Tipo

Descrição

Obrigatório

cCodigoCaractere

Codigo que será usado para busca (XX3_UUID)

X


Exemplo:

//-------------------------------------------
// Execução da Mensagem Unica
//-------------------------------------------
oHelper:UTExecEAI( "9000000000000000000037785" )


UTVldEAI( cProgram, cTestCase, cFormat )

Método utilizado para comparar o arquivo xml gerado na mensagem única de ENVIO.

 

Nome

Tipo

Descrição

Default

Obrigatório

cProgramCaractereNome do adapter configurado
X
cTestCaseCaractereNome do caso de teste executado
X
cFormatCaractereFormato do arquivo que será validado o testeXML

 

RetornoVerdadeiro ou Falso indicando se foi possível efetuar a validação


Exemplo:

//-----------------------------------------------------------
// Habilita a utilização de Envio de mensagem através do EAI
//-----------------------------------------------------------
oHelper:UTEAIActivate( 'FINA010' )
 
//---------------------
// Confirma a inclusão
//---------------------
oHelper:UTCommitData( { |x,y| FINA010( x, y) }, oHelper:GetaCab(), 3 )
 
//-------------------------------
// Valida o xml gerado no envio
//-------------------------------
oHelper:UTVldEAI( 'FINA010', 'FIN010_001' )
oHelper:AssertTrue(oHelper:lOk,"")

Obs.: Para utilizar a validação do EAI é necessário, primeiramente utilizar o método UTEAIActivate para ativar as configurações de envio do adapter.


UTFindReg( cTabela, nIndice, cPesq, cFil )

Método para encontrar o registro em determinada tabela.

Retorno: Verdadeiro/Falso indicando se foi possível posicionar no registro.


Nome

Tipo

Descrição

Obrigatório

cTabelaCaractere

Nome da tabela que irá ser procurado o registro

X
nIndiceNumérico

Índice que será realizado a pesquisa na tabela

X
cPesqCaractereTexto que será realizado a pesquisaX
cFilCaractereFilial específica, caso a busca não seja na filial logada


Exemplo:

oHelper:UTFindReg( "FNG", 1, cFNG_GRUPO + cFNG_TIPO + cFNG_TPSALD ) 

oHelper:UTFindReg( "SNI", 1, '00000000000000000008'+'000001')

Não é necessário informar a Filial, por exemplo: xFilial( 'SA1' ) + cCod + cLoja

É considerado a filial logada no sistema, ou seja, filial utilizada no TestSuite ou alterada no TestCase conforme método ChangeFil


UTGetError()

Procura e retorna o erro para o MsExecAuto / MVC.


UTGetaCab()

Metodo para recuperar o aCab declarado através do método UTSetValue()


Exemplo:

oHelper:UTSetValue( "aCab","N1_CBASE", 'CT001') 
oHelper:UTSetValue( "aCab","N1_ITEM" , '0001' ) 

oHelper:UTCommitData( { |x,y,z| ATFA010( x, y, z ) }, oHelper:GetaCab(), oHelper:GetaItens(), 3 )


UTGetaItens()

Metodo para recuperar o aItens declarado através do método UTSetValue()


Exemplo:

oHelper:UTSetValue( "aItens", 'N3_TIPO'   , '01' 	)
oHelper:UTSetValue( "aItens", 'N3_HISTOR' , 'Fiscal') 
oHelper:UTSetValue( "aItens", 'N3_TPSALDO', '1'		) 

oHelper:UTCommitData( { |x,y,z| ATFA010( x, y, z ) }, oHelper:GetaCab(), oHelper:GetaItens(), 3 )


UTGetWS(aHeader,cFile,cGetParms,cURLRest,aReplace,aReplaceX,lLastResult,lRetry)

Método para consumo de APIs via Web Service utilizando GET, o método atende os modelos Rest/JSON e Soap/XML.

Observação: O método deverá ser utilizado em conjunto com o método UTSetAPI, para definir qual o modelo de API que está sendo utilizado.

Nome

Tipo

Descrição

Obrigatório

Default
aHeaderArray

Indica o array que contêm as strings que serão acrescentadas ao header da requisição que será realizada, utilizar pipes "|" quando o modelo utilizado for SOAP.

Não

Rest:
{ Content-Type: application/json}

Soap:

{}

cFileString

Nome do arquivo que será usado para comparação entre o conteúdo do response da requisição e o arquivo base disponibilizado na pasta baseline.

Observação:  Por padrão cFile sempre irá concatenar o valor "base" no sufixo, para realizar comparação com o arquivo gerado automaticamente.

Não" "
cGetParmsStringIndica a lista de strings de parâmetros que serão enviadas ao servidor HTTPNão" "
cURLRestStringURL que será consumida pelo método de teste, caso não seja informada, será capturado valor através da chave REST da seção ADVPR no appserver.ini. Para executar no Servidor Contínuo, não deve ser informado conteúdo nesse parâmetro, exceto para URL externa. No teste local, é necessário criar a chave REST na seção ADVPR com a URL da configuração local.  Nãohttp://localhost:8787/
aReplaceArrayArray que será considerado para fazer replace no arquivo de response da requisiçãoNão{}
aReplaceXArraySubstitui o valor, entre duas stringsNão{}
lLastResultLógico

Indica se o retorno do método será o erro do GetResult ou do GetlastError do Client FwRest()
.T. = GetResult → Erros completos (Estrutura Json)

.F. = GetLastError →  Erros Resumidos (Qualquer estrutura)

Não.F.
lRetryLógico

Indica se havera 2º request caso ocorra alguma falha de comunicação na chamada da api.

.T. = Realiza segundo chamada da api automaticamente

.F. = Não realiza segunda chamada da api em caso de falha

Não.T.
RetornoTipoDescrição
cRetStringValor do response que foi retornado pela API.
oHelper:cHeaderGetStringValor do header que foi retornado pela API, este valor é capturado somente no modelo SOAP.


Exemplo:

//-------------------------------------------------------------------
/*/{Protheus.doc} AdvPR_001
Caso de Teste 001, via TDD
@since 09/08/2018
@version 1.0
/*/
//-------------------------------------------------------------------
METHOD AdvPR_001() CLASS AdvPRTestCase
Local oHelper	:= FWTestHelper():New()
Local aHeader   := {"Content-Type: application/json"}
Local cRet		:= ""

	oHelper:Activate()

	//-- Indica qual api será utilizada
	oHelper:UTSetAPI("/api/v1/","REST")

	//-- Realiza o consumo da api e comparação do response com o arquivo baseline
	cRet := oHelper:UTGetWS(aHeader,"UTGETWS0001_REST")


    oHelper:AssertTrue( oHelper:lOk, "" )

Return oHelper


UTPostWS(cBody,aHeader,cFile,cGetParms,cURLRest,aReplace,aReplaceX,lLastResult)

Método para consumo de APIs via Web Service utilizando POST, o método atende os modelos Rest/JSON e Soap/XML.

Observação: O método deverá ser utilizado em conjunto com o método UTSetAPI, para definir qual o modelo de API que está sendo utilizado.


Nome

Tipo

Descrição

Obrigatório

Default
cBodyString

String com os valores do Body que serão enviados no consumo da API, podendo ser enviado JSON para modelo de API Rest,e XML para o modelo Soap.

Não

" "

aHeaderArrayIndica o array que contêm as strings que serão acrescentadas ao header da requisição que será realizada, utilizar pipes "|" quando o modelo utilizado for SOAP.Não

Rest:
{ Content-Type: application/json}

Soap:

{}

cFileString

Nome do arquivo que será usado para comparação entre o conteúdo do response da requisição e baseline.

Observação:  Por padrão cFile sempre irá concatenar o valor "base" no sufixo, para realizar comparação com o arquivo gerado automaticamente.

Não" "
cGetParmsStringIndica a lista de strings de parâmetros que serão enviadas ao servidor HTTPNão" "
cURLRestStringURL que será consumida pelo método de teste, caso não seja informada, será capturado valor através da chave REST da seção ADVPR no appserver.ini. Para executar no Servidor Contínuo, não deve ser informado conteúdo nesse parâmetro, exceto para URL externa. No teste local, é necessário criar a chave REST na seção ADVPR com a URL da configuração local.  Nãohttp://localhost:8787/
aReplaceArrayArray que será considerado para fazer replace no arquivo de response da requisiçãoNão

{}

aReplaceXArraySubstitui o valor, entre duas stringsNão{}
lLastResultLógico

Indica se o retorno do método será o erro do GetResult ou do GetlastError do Client FwRest()
.T. = GetResult → Erros completos (Estrutura Json)

.F. = GetLastError →  Erros Resumidos (Qualquer estrutura)

Não.F.
lRetryLógico

Indica se havera 2º request caso ocorra alguma falha de comunicação na chamada da api.

.T. = Realiza segundo chamada da api automaticamente

.F. = Não realiza segunda chamada da api em caso de falha

Não.T.
RetornoTipoDescrição
cRetStringValor do response que foi retornado pela API.
oHelper:cHeaderGetStringValor do header que foi retornado pela API, este valor é capturado somente no modelo SOAP.


Exemplo:


//-------------------------------------------------------------------
/*/{Protheus.doc} AdvPR_004
Caso de Teste 004, via TDD
@since 09/08/2018
@version 1.0
/*/
//-------------------------------------------------------------------
METHOD AdvPR_004() CLASS AdvPRTestCase
Local oHelper	:= FWTestHelper():New()
Local aHeader   := {"Content-Type: application/json"}
Local cRet		:= ""
Local cBody     := '{"body_request":"advPr", "test_modelo": "interface"}'

	oHelper:Activate()

	oHelper:UTSetAPI("/api/v1","REST")

	cRet := oHelper:UTPostWS(cBody,aHeader,"UTPostWs_004")

	oHelper:AssertTrue( oHelper:lOk, "" )

Return oHelper


UTPutWS(cBody,aHeader,cFile,cURLRest,aReplace,aReplaceX)

Método para consumo de APIs via Web Service utilizando PUT, o método atende os modelos Rest/JSON e Soap/XML.

Observação: O método deverá ser utilizado em conjunto com o método UTSetAPI, para definir qual o modelo de API que está sendo utilizado.


Nome

Tipo

Descrição

Obrigatório

Default
cBodyString

String com os valores do Body que serão enviados no consumo da API, podendo ser enviado JSON para modelo de API Rest,e XML para o modelo Soap.

Não

" "

aHeaderArrayIndica o array que contêm as strings que serão acrescentadas ao header da requisição que será realizada, utilizar pipes "|" quando o modelo utilizado for SOAP.Não

Rest:
{ Content-Type: application/json}

Soap:

{}

cFileString

Nome do arquivo que será usado para comparação entre o conteúdo do response da requisição e baseline.

Observação:  Por padrão cFile sempre irá concatenar o valor "base" no sufixo, para realizar comparação com o arquivo gerado automaticamente.

Não" "
cURLRestStringURL que será consumida pelo método de teste, caso não seja informada, será capturado valor através da chave REST da seção ADVPR no appserver.ini. Para executar no Servidor Contínuo, não deve ser informado conteúdo nesse parâmetro, exceto para URL externa. No teste local, é necessário criar a chave REST na seção ADVPR com a URL da configuração local.  Nãohttp://localhost:8787/
aReplaceArrayArray que será considerado para fazer replace no arquivo de response da requisiçãoNão{}
aReplaceXArraySubstitui o valor, entre duas stringsNão{}
lRetryLógico

Indica se havera 2º request caso ocorra alguma falha de comunicação na chamada da api.

.T. = Realiza segundo chamada da api automaticamente

.F. = Não realiza segunda chamada da api em caso de falha

       Não.T.
RetornoTipoDescrição
cRetStringValor do response que foi retornado pela API.
oHelper:cHeaderGetStringValor do header que foi retornado pela API, este valor é capturado somente no modelo SOAP.


Exemplo:


//---------------------------------------------------------------------
/*/{Protheus.doc} AUTP004
Caso de teste 004, via TDD

@since 17/08/2018
@version 1.0

/*/
//----------------------------------------------------------------------

METHOD AUTP004() CLASS AUTTestCase

	LOCAL oHelper	:= FWTestHelper():New()
	Local aHeader   := {"Content-Type: application/json"}
	Local cRet      := ""
	Local cBody 	:= ""
 
    oHelper:Activate()
 	
    //-- Indica qual api será utilizada
    oHelper:UTSetAPI("/CRMMOPPORTUNITYCONTACT/","REST")
 
    //-- Realiza o consumo da api e comparação do response com o arquivo baseline
    cRet := oHelper:UTPutWS(cBody,aHeader,"testcrmput")
	oHelper:AssertTrue( oHelper:lOk, "" )

 
Return oHelper


UTDeleteWS(cBody,aHeader,cFile,cURLRest,aReplace,aReplaceX)

Método para consumo de APIs via Web Service utilizando DELETE, o método atende os modelos Rest/JSON e Soap/XML.

Observação: O método deverá ser utilizado em conjunto com o método UTSetAPI, para definir qual o modelo de API que está sendo utilizado.


Nome

Tipo

Descrição

Obrigatório

Default
cBodyString

String com os valores do Body que serão enviados no consumo da API, podendo ser enviado JSON para modelo de API Rest,e XML para o modelo Soap.

Não

" "

aHeaderArrayIndica o array que contêm as strings que serão acrescentadas ao header da requisição que será realizada, utilizar pipes "|" quando o modelo utilizado for SOAP.Não

Rest:
{ Content-Type: application/json}

Soap:

{}

cFileString

Nome do arquivo que será usado para comparação entre o conteúdo do response da requisição e baseline.

Observação:  Por padrão cFile sempre irá concatenar o valor "base" no sufixo, para realizar comparação com o arquivo gerado automaticamente.

Não" "
cURLRestStringURL que será consumida pelo método de teste, caso não seja informada, será capturado valor através da chave REST da seção ADVPR no appserver.ini. Para executar no Servidor Contínuo, não deve ser informado conteúdo nesse parâmetro, exceto para URL externa. No teste local, é necessário criar a chave REST na seção ADVPR com a URL da configuração local.  Nãohttp://localhost:8787/
aReplaceArrayArray que será considerado para fazer replace no arquivo de response da requisiçãoNão{}
aReplaceXArraySubstitui o valor, entre duas stringsNão{}
lRetryLógico

Indica se havera 2º request caso ocorra alguma falha de comunicação na chamada da api.

.T. = Realiza segundo chamada da api automaticamente

.F. = Não realiza segunda chamada da api em caso de falha

      Não.T.
RetornoTipoDescrição
cRetStringValor do response que foi retornado pela API.
oHelper:cHeaderGetStringValor do header que foi retornado pela API, este valor é capturado somente no modelo SOAP.


Exemplo:


//---------------------------------------------------------------------
/*/{Protheus.doc} AUTP005
Caso de teste 005, via TDD

@since 17/08/2018
@version 1.0

/*/
//----------------------------------------------------------------------

METHOD AUTP005() CLASS AUTTestCase

	LOCAL oHelper	:= FWTestHelper():New()
	Local aHeader   := {"Content-Type: application/json", "Authorization: Basic " + oHelper:UTSetAuthorization("Admin", "1")}
	Local cRet      := ""
	Local cBody 	:= ""
 
    oHelper:Activate()
 	
    //-- Indica qual api será utilizada
    oHelper:UTSetAPI("/CRMMOPPORTUNITYCONTACT/00024401/TMK035/","REST")
 
    //-- Realiza o consumo da api e comparação do response com o arquivo baseline
    cRet := oHelper:UTDeleteWS(cBody,aHeader,"testcrmdelete")
	
	oHelper:AssertTrue( oHelper:lOk, "" )

 
Return oHelper	


UTClientWSDL(cWSDL,cOperation,cXml,cFile,aReplace,cService)

Método que realiza o envio de uma mensagem do tipo Soap para um serviço de web service utilizando WSDL.

Nome

Tipo

Descrição

Obrigatório

Default
cWsdlString

URL que será consumida pelo método de teste, caso não seja informada, será capturado valor através da chave SOAP da seção ADVPR no appserver.ini. Para executar no Servidor Contínuo, não deve ser informado conteúdo nesse parâmetro, exceto para URL externa. No teste local, é necessário criar a chave SOAP na seção ADVPR com a URL da configuração local.  

Não

http://localhost:8787/

cOperationStringNome do serviço que será consumidoNão" "
cXmlStringXML que será enviado para o serviço, caso não seja informado utilizar o método UTSetSoapValueNão" "
cFileString

Nome do arquivo baseline que será usado como modelo para comparação do response de retorno.

Observação:  Por padrão cFile sempre irá concatenar o valor "base" no sufixo, para realizar comparação com o arquivo gerado automaticamente.

Não" "
aReplaceStringArray com Strings que será considerado para realizar replace no response do consumo dos métodos de WSDLNão{}
cServiceStringNome do serviço apw que será consumido dentro do web serviceNão" "
RetornoTipoDescrição
cRetStringResponse capturado da requisição, ou erro que foi retornado pelo servidor da requisição.


Exemplo, utilizando UTSetSoapValue


//-------------------------------------------------------------------
/*/{Protheus.doc} AdvPR_001
Caso de Teste 001, via TDD

@since 09/08/2018
@version 1.0
/*/
//-------------------------------------------------------------------
METHOD AdvPR_001() CLASS AdvPRTestCase
    Local oHelper        := FWTestHelper():New()
    Local cRet           := ""
    Local cService       := "/ws/PLSXMOV.apw?WSDL"
    Local cOperation     := "GETVLRCO"
    
    oHelper:Activate()

    oHelper:UTSetSoapValue("USERCODE","MSALPHA")
    oHelper:UTSetSoapValue("GUIAS"   ,"000001")

    cRet := oHelper:UTClientWSDL(,cOperation,,,,cService)

    If Empty(cRet)
        oHelper:AssertTrue(oHelper:lOK,"Erro ao Executar UTClientWSDL")
    Else
        oHelper:AssertTrue(oHelper:lOK,"Sucesso ao Executar UTClientWSDL")
    EndIF

Return oHelper


Exemplo, utilizando cXml para o envio, e comparação de arquivo



//-------------------------------------------------------------------
/*/{Protheus.doc} AdvPR_001
Caso de Teste 001, via TDD

@since 09/08/2018
@version 1.0
/*/
//-------------------------------------------------------------------
METHOD AdvPR_001() CLASS AdvPRTestCase
    Local oHelper        := FWTestHelper():New()
    Local cRet           := ""
    Local cService       := "/ws/PLSXMOV.apw?WSDL"
    Local cOperation     := "PUTAUTHORIZATION"
    Local cXml           := ::UTLoadBody("ADVPR001.txt")//-- Método criado que retorna uma estrutura de XMl
    oHelper:Activate()

    cRet := oHelper:UTClientWSDL(,cOperation,cXml,"advpr001CT",,cService)

    If Empty(cRet)
        oHelper:AssertTrue(oHelper:lOK,"Erro ao Executar UTClientWSDL")
    Else
        oHelper:AssertTrue(oHelper:lOK,"Sucesso ao Executar UTClientWSDL")
    EndIF

Return oHelper


Exemplo, utilizando chamadas de 2 serviços usando cService


//-------------------------------------------------------------------
/*/{Protheus.doc} AdvPR_001
Caso de Teste 001, via TDD

@since 09/08/2018
@version 1.0
/*/
//-------------------------------------------------------------------
METHOD AdvPR_001() CLASS AdvPRTestCase
    Local oHelper        := FWTestHelper():New()
    Local cRet1          := ""
    Local cRet2          := ""
    Local cOperation1     := "PUTAUTHORIZATION"
	Local cOperation2     := "GETGUIAS"
    Local cXml           := ::UTLoadBody("ADVPR001.txt")//-- Método criado que retorna uma estrutura de XMl
    oHelper:Activate()

    cRet1 := oHelper:UTClientWSDL(,cOperation1,cXml,"advpr001CT",,"PLSXMOV.apw?WSDL")


	cRet2 := oHelper:UTClientWSDL(,cOperation2,cXml,"advpr002CT",,"PLSXGUIAS.apw?WSDL")

    If Empty(cRet1) .OR. Empty(cRet2)
        oHelper:AssertTrue(oHelper:lOK,"Erro ao Executar UTClientWSDL")
    Else
        oHelper:AssertTrue(oHelper:lOK,"Sucesso ao Executar UTClientWSDL")
    EndIF

Return oHelper

UTSetAPI(cApi,cTypeAPI)

Método que define qual será o modelo de API que será consumido, modelos atendidos Rest e Soap.


Nome

Tipo

Descrição

Obrigatório

Default
cApiString

Caminho da API na URL, este parâmetro é necessário pois em alguns casos um único endereço http pode conter diversas APIs.

Sim


cTypeAPIStringModelo da API que será consumida Rest ou SOAP.NãoREST
RetornoTipoDescrição
lOkLógicoIndica se o valor informado no cTypeAPI foi alterado corretamente.
oHelper:lOkLógicoPropriedade do robô que indica se algum método falhou em sua execução.

Para que as suítes de testes que utilizam os métodos de consumo de API executem corretamente no Servidor Continuo, é necessário informar para Central de Automação - Protheus, via Ryver as seguintes informações:

Nome da Suíte: TAFA261
Integração com TSS: Sim/Não
Autenticação: Sim/Não
REST ou SOAP? Caso seja SOAP, é necessário informar em qual filial deve ser executada a suíte.

Canal Ryver: https://totvs.ryver.com/index.html#forums/1247736/chat


Exemplo:


//-------------------------------------------------------------------
/*/{Protheus.doc} AdvPR_004
Caso de Teste 001, via TDD

@since 09/08/2018
@version 1.0
/*/
//-------------------------------------------------------------------
METHOD AdvPR_004() CLASS AdvPRTestCase
	Local oHelper	:= FWTestHelper():New()
	
	Local lOk 		:= .F.

	oHelper:Activate()

	lOk := oHelper:UTSetAPI("/api/v1","REST")

Return oHelper


UTSetAuthorization(cUser,cPwd)

Método para autenticação de usuário nos scripts de WebService, método atende os modelos REST/JSON e SOAP/XML.


Nome

Tipo

Descrição

Obrigatório

Default
cUserString

Login do usuário que será utilizado para autenticação.

Sim


cPwdStringSenha que será usada na autenticação.Sim
RetornoTipoDescrição
Encode64StringConverte o login e senha de usuário para base64.


Exemplo:


//---------------------------------------------------------------------
/*/{Protheus.doc} AUTP002
Caso de teste 002, via TDD

@since 17/08/2018
@version 1.0

/*/
//----------------------------------------------------------------------

METHOD AUTP002() CLASS AUTTestCase

	LOCAL oHelper	:= FWTestHelper():New()
	Local aHeader   := {"Content-Type: application/json", "Authorization: Basic " + oHelper:UTSetAuthorization("CRMREST01", "1")}
	Local cRet      := ""
 
    oHelper:Activate()
 	
    //-- Indica qual api será utilizada
    oHelper:UTSetAPI("/CRMMPHONEDDI/","REST")
 
    //-- Realiza o consumo da api e comparação do response com o arquivo baseline: testcrm
    cRet := oHelper:UTGetWS(aHeader,"testcrm")
 
Return oHelper


UTLoadData( lClearDB, aParam )

Importação dos layouts XML e execução do layouts CSV.


Nome

Tipo

Descrição

Obrigatório

lClearDBLógico

Define se deve ser realizada a limpeza das tabelas

Não
aParamArrayArray de Backup com os valore de parâmetros do Protheus a serem restauradosNão


Exemplo:

//-----------------------------------------------------------------
/*/{Protheus.doc} SetUpSuite


 Prepara o ambiente para execução dos casos de teste
@author 
@since 01/02/2016
@version 1.0
/*/
//-----------------------------------------------------------------
METHOD SetUpSuite() CLASS ATFA030TestSuite

Local oHelper := FWTestHelper():New()

//---------------------------------
// Abertura do sistema
//---------------------------------
oHelper:UTOpenFilial( "T1", "D MG01 " )

oHelper:Activate()

//---------------------------------
// Alteração de parâmetros
//---------------------------------
oHelper:UTLoadData( .T., ::aParam )

Conout ( "Setup realizado com sucesso!" )

Return( oHelper )


UTMarkReg( cTable, cField, cMark )

Método utilizado para marcação física no banco de dados de registros sem a utilização e telas do tipo markBrowse.

Observação:  A utlização do método, UTMarkReg() deve ser em conjunto com o método UTFindRFeg().

Nome

Tipo

Descrição

Obrigatório
cTableCaractereNome da tabela que será pesquisadaX
cFieldCaractereNome do campo que será utilizado para marcação do registroX
cMarkCaractereMarca que será utilizada no campoX

Exemplo (marcação) :

oHelper:UTFindReg( "SA2", 1, '000002')     //-- Encontra o registro.
oHelper:UTMarkReg( "SA2" , "A2_OK", "AT" ) //-- Realiza a marcação do registro.


Exemplo: (Desmarcação):

oHelper:UTFindReg( "SA2", 1, '000002')     //-- Encontra o registro.
oHelper:UTMarkReg( "SA2" , "A2_OK", "" )   //-- Realiza a desmarcação do registro.


UTOpenFilial( cEmpresa, cFil, cMod, aTable, cUser, cPsw )

Abre a filial de acordo com os parâmetros passados.


Nome

Tipo

Descrição

Default

Obrigatório

cEmpresaCaractereEmpresa que deseja acessar o sistema
X
cFilCaractereFilial que deseja acessar o sistema
X
cModCaractereModulo que deseja acessar o sistemaFAT
aTableArrayTabelas que deseja abrir ao executar o sistema

cUserCaractereUsuário que deseja acessar o sistemaADMIN
cPswCaractereSenha do usuário que irá acessar o sistema


Exemplo:

//-----------------------------------------------------------------
/*/{Protheus.doc} SetUpSuite

 Prepara o ambiente para execução dos casos de teste

@author 
@since 08/06/2015
@version 1.0
/*/
//-----------------------------------------------------------------
METHOD SetUpSuite() CLASS CRMA180TestSuite

Local oHelper := FWTestHelper():New()


//---------------------------------
// Realiza a abertura do ambiente
//---------------------------------
oHelper:UTOpenFilial( "T1", "D RJ01 ", "CRM",, "VENDFAT05", "1" )


//----------------------------
// Ativado Classe Auxiliar
//----------------------------
oHelper:Activate()


Conout( "Setup realizado com sucesso!" )

Return( oHelper )


UTPrtCompare( cReport, lConvAcent, lConvAuto,aReplace,aReplacex)

Método utilizado para comprar relatórios gerado com baseline.


Nome

Tipo

Descrição

Obrigatório

Exemplo
cReportCaractereNome da função do relatório + Número do caso de testes. X
lConvAcentLógicoIndica se deverá ser feita conversão dos caracteres para  Hexadecimal.

lConvAutoLógicoIndica se deverá ser feita conversão do arquivo gerado automaticamente para Hexadecimal (Indicado para uso em arquivos do tipo .rel). 




aReplaceArrayConteúdo que será substituído no arquivo base.
aReplace := {{"Valor Orginal","Valor Final"},{"Valor Orginal 2 ","Valor Final 2"}}
aReplacexArraySubstitui o valor, entre duas strings.
aReplaceX := {{"TagInicial","TagFinal","Conteudo"}}


Exemplo:

 oHelper:UTPrtCompare( "FINR130_001" )


UTQueryDB( cTable, cField, cFilter, xValue, cFil )

Método para realizar a query de verificação de resultado esperado.


Nome

Tipo

Descrição

Default

Obrigatório

cTableCaractereAlias da tabela em que ocorrerá a consulta
X
cFieldCaractereCampo que será utilizado na composição da query e na validação
X
cFilterArrayFiltro da condição

X

xValueUndefinedValor correspondente ao retorno do campo" "X
cFilCaractereAvalia filial específica, desconsiderando a filial do Setup

lAssertLógicoExecução por AssertTrue ou AssertFalse.F.


Exemplo:

cTable := "FW6"
cQuery := "FW6_ITEM = '01'  AND FW6_SOLICI =  '" + cSolicit + "' "
 
oHelper:UTQueryDB( cTable, "FW6_PORCEN",  cQuery, 100 )
oHelper:UTQueryDB( cTable, "FW6_CC"	   ,  cQuery, 'FIN10101' )

oHelper:AssertTrue( oHelper:lOk, "" )


UTRestParam( aParam )

Método para restaurar os parâmetros para seus valores default.


Nome

Tipo

Descrição

Obrigatório

aParamArrayArray de parâmetros que serão restaurados.X


Exemplo:

 oHelper:UTRestParam( oHelper:aParamCT ) 


UTSetParam( cParam, xValue, lChange )

Método para alterar os parâmetros (SX6).


Nome

Tipo

Descrição

Default

Obrigatório

cParamCaractereNome do Parametro a ser alterado
X
xValueUndefinedNovo valor do parâmetro." "X
lChangeLógico

Se o parâmetro será alterado no momento ou depende do método LoadData()

.F.


Exemplo:

oHelper:UTSetParam( "MV_BXCNAB" , 'S', .T. )
oHelper:UTSetParam( "MV_FINJRTP", 2  , .T. )


UTSerieID( cTabela, cCampo, cEspecie, cSerie )

 

Método que verifica novo formato de gravação do ID no campos _SERIE.


Nome

Tipo

Descrição

Default

Obrigatório

cTableCaractereTabela que será validado " "X
cCampoCaractereCampo que será validado" "X
cEspecieCaractere

Espécie da nota

" "
cSerieCaractereSérie da nota" "


Exemplo:

 

cSerieId  := oHelper:UTSerieID( 'SF1', 'F1_SERIE', cEspecie, cSerie )


UTSetValue( cModel, cField, xValue, cAuxiliar )

Método utilizado para incluir valor em um campo individualmente ou em um array. 


Nome

Tipo

Descrição

Obrigatório

cModelCaractereNome do modelo ou Array que será incluído X
cFieldCaractereNome do campo que o valor será incluído.X
xValueUndefiniedValor a ser incluído.X
cAuxiliarCaractereValor a ser incluído. 


Exemplos:

MVC:

//---------------------------------
//SetValue: MASTER                
//---------------------------------
oHelper:UTSetValue('FW3MASTER', 'FW3_SOLICI', cIdSolic	) //Id Solicitante
oHelper:UTSetValue('FW3MASTER', 'FW3_NACION', '1'		) //Nacional 1=SIM;2=NÃO

//--------------------------------
//SetValue: DETAIL - FW4        
//--------------------------------
oHelper:UTSetValue('FW4DETAIL', 'FW4_SOLICI', cIdSolic	) //Id Solicitante 
oHelper:UTSetValue('FW4DETAIL', 'FW4_ITEM'  , '01'		) //Item


Array:

*Ver também o método UTGetaCab() e UTGetaItens() 

//---------------------------------
//Preenche array do cabeçalho
//---------------------------------
oHelper:UTSetValue("aCab","UA_CLIENTE","TMK001", Nil )
oHelper:UTSetValue("aCab","UA_LOJA"	  ,"01"	   , Nil )
oHelper:UTSetValue("aCab","UA_OPERADO","000003", Nil )
 
//---------------------------------
//Preenche array de itens
//---------------------------------
oHelper:UTSetValue("aItens","UB_PRODUTO", "TMK002" , Nil )
oHelper:UTSetValue("aItens","UB_QUANT"	, 1		   , Nil ) 
oHelper:UTSetValue("aItens","UB_VRUNIT"	, 845511.78, Nil )


UTSetSoapValue(cField,xValue)

Método utilizado para definir valores no XML que utilizam estruturas simples.

Nome

Tipo

Descrição

Default
cFieldStringNome da propriedade do XML" "
xValueUndefiniedValor que será enviado" " 
RetornoDescrição
lRetIndica se a operação foi realizada com sucesso ou não.


UTStartRpt( cReport, aListParam, cDef, cPerg, nOrder, wnrel, lEndReport,lEmptyLine  )

Permite a geração de arquivos de relatório.


Nome

Tipo

Descrição

Default

Obrigatório

cReportCaractereNome da função do relatório + Número do caso de testes 
X
aListParamArrayPerguntas do SX1 (Não precisa ser informado se utilizado junto com o UTChangePergunte){} 
cDefCaractereNome da função quando não houver a função ReportDef


cPergCaractereNome do pergunte conforme tabela SX1 ((Não precisa ser informado se utilizado junto com o UTChangePergunte)" "

nOrder

NuméricoDefine a ordem de impressão

wnrelCaractereDefine o nome do relatório, caso for diferente do nome do fonte. " "
lEndReportLógicoIndica se o relatório será impresso com "Total Geral"    .F. 
lEmptyLineLógicoIndica se deverá ser considerada a impressão de linhas em branco no Excel.    .F.


Exemplo:

//---------------------------
// Altera o pergunte 
//---------------------------
oHelper:UTChangePergunte( "FIN501", "01", "000007" ) // Da Liquidacao ?                
oHelper:UTChangePergunte( "FIN501", "02", "000008" ) // Ate Liquidacao ?             
oHelper:UTChangePergunte( "FIN501", "03", "      " ) // Do Cliente ?                   
oHelper:UTChangePergunte( "FIN501", "04", "ZZZZZZ" ) // Até o Cliente ?
oHelper:UTChangePergunte( "FIN501", "05", 	1	  ) // Listar Titulos ?  #1 - Todos                  
oHelper:UTChangePergunte( "FIN501", "06", 	2	  ) // Converter Moeda ? #2 - Dt. Referência
oHelper:UTChangePergunte( "FIN501", "07", 	"1"	  ) // Moeda ?			
oHelper:UTChangePergunte( "FIN501", "08", 	2	  ) // Seleciona Filiais ? #2 - Não


//---------------------------
// Gera o relatório			  
//---------------------------
oHelper:UTStartRpt( "FINR501_001" )


UTStartTimer( cOperation )

Método utilizado para marcar o início da marcação de tempo de determinada operação.


Nome

Tipo

Descrição

Default

Obrigatório

cOperationCaractereIdentificação do timer"Default"Não


Exemplo:

oHelper:UTStartTimer( 'TESTE 001' )


UTStopTimer( cOperation )

Método utilizado para marcar o final da marcação de tempo de determinada operação.


Nome

Tipo

Descrição

Default

Obrigatório

cOperationCaractereIdentificação do timer"Default"Não


Exemplo:

oHelper:UTStopTimer( 'TESTE 001' )


UtPutError( cError )

Método para incluir um erro manualmente. 


Nome

Tipo

Descrição

Obrigatório

cErrorCaractereErro a ser mostradoX


Exemplo:

//--------------------------------------
// Verifica se existe a tabela TAFST1
//--------------------------------------
If FOpnTabTAf( cTable, cAliasST1 )
	lOpenTable	 	:= .T.
Else
	oHelper:UTPutError(" Problemas na estrutura da tabela TAFST1 ou a tabela nao existe" )
	oHelper:AssertTrue( .F., "" )
EndIF


UTRestAutoCont()

Metodo para restaurar as alterações efetuadas na tabela autocontida conforme o método UTAlterAutoCont.


Exemplo:

oHelper:UTRestAutoCont()
 
Return( oHelper )


UTRestSM0( aSM0 )

Método para restaurar filial.


Nome

Tipo

Descrição

Obrigatório

aSM0ArrayArray de volta  dos campos do SIGAMATX


Exemplo:

oHelper:UTRestSM0( oHelper:aSM0 )


UTUpdSpecialKey( )

Método para atualizar a chave SpecialKey do .ini, com o environment+data+hora+segundo. Deverá ser utulizada antes do metódo UTOpenFilial.


Exemplo:

METHOD SetUpSuite() CLASS MATA780TestSuite
Local oHelper := FWTestHelper():New()

//-- Atualiza a chave SpecialKey no INI
oHelper:UTUpdSpecialKey() 

//-- Realiza a abertura do ambiente
oHelper:UTOpenFilial("T1","D MG 01 ","PCP")


METHOD AdvPR_011() CLASS AdvPRTestCase
    Local oHelper        := FWTestHelper():New()
    Local cRet        := ""
    Local cWsdl          := "http://127.0.0.1:2007/ws/PLSXMOV.apw?WSDL"
    Local cOperation     := "GETVLRCO"
    
    oHelper:Activate()


    oHelper:UTSetSoapValue("USERCODE","MSALPHA")
    oHelper:UTSetSoapValue("GUIAS" ,"000001")

    cRet := oHelper:UTClientWSDL(cWsdl,cOperation,/*cFile*/)

    If Empty(cRet)
        oHelper:AssertTrue(oHelper:lOK,"Erro ao Executar UTClientWSDL")
    Else
        oHelper:AssertTrue(oHelper:lOK,"Sucesso ao Executar UTClientWSDL")
    EndIF

Return oHelper
METHOD AdvPR_012() CLASS AdvPRTestCase
    Local oHelper        := FWTestHelper():New()
    Local cRet        := ""
    Local cWsdl          := "http://10.171.67.232:2007/ws/PLSXMOV.apw?WSDL"
    Local cOperation     := "PUTAUTHORIZATION"
    Local cXml           := ::RetXml()
    oHelper:Activate()


    cRet := oHelper:UTClientWSDL(cWsdl,cOperation,cXml,/*cFile*/)

    If Empty(cRet)
        oHelper:AssertTrue(oHelper:lOK,"Erro ao Executar UTClientWSDL")
    Else
        oHelper:AssertTrue(oHelper:lOK,"Sucesso ao Executar UTClientWSDL")
    EndIF

Return oHelper


UTUpdSpecialKey( )

Método para atualizar a chave SpecialKey do .ini, com o environment+data+hora+segundo. Deverá ser utulizada antes do metódo UTOpenFilial.


Exemplo:

METHOD SetUpSuite() CLASS MATA780TestSuite
Local oHelper := FWTestHelper():New()

//-- Atualiza a chave SpecialKey no INI
oHelper:UTUpdSpecialKey() 

//-- Realiza a abertura do ambiente
oHelper:UTOpenFilial("T1","D MG 01 ","PCP")

ExecStatic( )

Método utilizado para execução de uma função static do fonte.


Nome

Tipo

Descrição

Default

Obrigatório

cStaticFunCaractereNome da função estrutural que deve ser executada em todos os fontes

aPrgNamesArrayEste array contém os programas informados no momento da construção da classe. O array deve ser unidimensional, contendo apenas strings.
X


Exemplo:

METHOD TECXFUN_01() CLASS TECXFUNTestCase
	Local oHelper	:=	FWTestHelper():New()
	Local aProgramas := {"TEC880EXE","TECA001","teca010","TECA011","TECA011A","TECA012"}
	Local lOk := oHelper:ExecStatic("ModelDef",aProgramas)

	If !lOk
		oHelper:AssertHelp("ExecStatic","Falha nos modelos: " + oHelper:cErrorPrograms)
	EndIf
		
	oHelper:AssertTrue(lOk,"")

Return oHelper


GeraChvNfe(cUFEmi,cAAMMEmi,cCnpjEmi,cModeloNf,cSerieNf,cNumNf)

Função para geração da chave do documento fiscal.


Nome

Tipo

Descrição

Default

Obrigatório

cUFEmi

Caractere

Código da UF emitente do Documento Fiscal.


X

cAAMMEmi

Caractere

Ano e mês da emissão da NF-e, no formato AAMM.

 

X

cCnpjEmi

Caractere

CNPJ do emitente.


X

cModeloNf

Caractere

Modelo do Documento Fiscal.

 

X

cSerieNf

Caractere

Série do Documento Fiscal.

 

X

cNumNf

Caractere

Número do Documento Fiscal.

 

X


Exemplo:

oHelper:GeraChvNfe('33','1809','00000000001082','57','001','000000001')


UTXMLReplace(cXml, cPath, cReplace, lEncode64) 

Substituir o valor de um atributo do XML. (Retorno: Xml modificado)

 

Nome

Tipo

Descrição

Default

Obrigatório

cXml 

Caractere

String com o xml


X

cPath 

Caractere

Caminho do atributo que deseja buscar e substituir o valor.

 

X

cReplace 

Caractere

Conteúdo que será substituído.


X

lEncode64 

Logico

Se o conteúdo a ser substituído está deverá ser gravado com base64 no xml.

 

X

aAdd(aReplace, {"/infNFe/ide/serie","1", .F.})
cNewXml := UTXMLReplace(cNewXml,aReplace[nReplace,1] /*caminho*/,aReplace[nReplace,2]/*valor que será atribuído*/, aReplace[nReplace,3] /*É base 64? .T. = Sim, .F. = Nào*/)


UTXMLGETVALUE(cXml, cPath, lEncode64)

Obter valor de uma tag do XML.

 

Nome

Tipo

Descrição

Default

Obrigatório

cXml 

Caractere

String com o xml


X

cPath 

Caractere

caminho do atributo que deseja buscar o valor.

 

X

lEncode64 

Logico

Se o conteúdo a ser substituído está deverá ser gravado com base64 no xml.


X

cPath       := "SOAPENV:ENVELOPE/SOAPENV:BODY/NFS:SCHEMA/NFS:NFE/NFS:NOTAS/NFS:NFES/NFS:XML"
cNewXml := UTXMLGETVALUE(cXml,cPath /*caminho*/,.T. /*É base 64? .T. = Sim, .F. = Não*/)


UTExecPredecessor(cNomeCT, cNumeroCT, aPar) 

Método para executar os predecessores do caso de teste.

Nome

Tipo

Descrição

Default

Obrigatório

cNomeCT

Caractere

Nome do caso de teste : EX. TAFS1000TestCase


X

cNumeroCT

Caractere

Nome do método do caso de teste: EX. S1000_001

 

X

aPar

Caractere

Parâmetros do caso de teste: EX.: {“1”}


X



oHelper:UTExecPredecessor("TSSNFESBRANORSPTestCase","NFE_001",{cEntidade,cSerie,cNota})


UTTSSNFE(cXml, cPath, aReplace)

Função especifica para notas fiscais do TSS, irá substituir os valores dinâmicos do Xml do NFE dentro do cliente, nesta função é chamado as duas funções acima.

 

Nome

Tipo

Descrição

Default

Obrigatório

cXml

Caractere

String com o xml


X

cPath

Caractere

Caminho do atributo que deseja buscar o valor.

 

X

aReplace

Caractere

Atributos que deseja substituir dentro do cPath.


X



aAdd(aReplace, {"/infNFe/ide/serie","1", .F.})
cPath       := "SOAPENV:ENVELOPE/SOAPENV:BODY/NFS:SCHEMA/NFS:NFE/NFS:NOTAS/NFS:NFES/NFS:XML"
UTTSSNFE(cXml, cPath, aReplace)


UTRetReg(cTable,cFiltro,aFields)

Método para encontrar os registros em determinada tabela.

 

Nome

Tipo

Descrição

Default

Obrigatório

cTable

Caractere

Nome da tabela Ex. RetSqlName("SA1")


X

cFiltro

Caractere

Filtro para seleção de registros: Ex. "A1_COD = '0001' AND A1_TPCLI = 'R' "

 

X

aFields

Caractere

Campos a serem considerados Ex. {"A1_COD","A1_TPCLI"}


X



aRet:= oHelper:UTRetReg(RetSqlName("SA1"), "ID_ENT = "A1_COD = '0001' AND A1_TPCLI = 'R' " , {"A1_COD","A1_TPCLI"})


String com o xml



aReplaceXArraySubstitui o valor, entre duas stringsNão{}


UTDateCurrent(.T.)

Nome

Tipo

Descrição

Default

Obrigatório

.T.

Lógico 

Utiliza a data corrente do sistema.X


.F.

Lógico

Utiliza a data que está no script





oHelper:UTDateCurrent(.T.) //Default .T.


SetMsErroAuto(lMsAuto,lErrFile)

Método para setar variáveis privadas da execução automática.


Nome

Tipo

Descrição

Default

Obrigatório

lMsAuto

Lógico

Recebe o retorno dos erros no MsExecAuto. Se .T. houve erro.

.F.


lErrFile

Lógico

Se a variável estiver declarada como .T. a variável __aErrAuto será alimentada

.T.



Exemplo:

oHelper:SetMsErroAuto()

UTSetKey(cCommand1,cCommand2)

Método para realizar envio de teclas (ações) do teclado para execução de Scripts que utilizam comunicação Telnet.

Nome

Tipo

Descrição

Default

Obrigatório

cCommand1

String

Tecla de comando que será enviada para o servidor. Ex. (ENTER)

X

cCommand2

Lógico

Tecla de comando auxiliar que será enviada para o servidor. Ex. CTRL X




Teclas Válidas:

Backspace{BACKSPACE}, {BKSP} or {BS}
Break{BREAK}
Caps Lock{CAPSLOCK}
Delete{DELETE} or {DEL}
Down Arrow{DOWN}
End{END}
Enter{ENTER} or ~
Escape{ESC}
Help{HELP}
Home{HOME}
Insert{INSERT} or {INS}
Left Arrow{LEFT}
Num Lock{NUMLOCK}
Page Down{PGDN}
Page Up{PGUP}
Print Screen{PRTSC}
Right Arrow{RIGHT}
Scroll Lock{SCROLLLOCK}
Tab{TAB}
Up Arrow{UP}
F1{F1}
F2{F2}
F3{F3}
F4{F4}
F5{F5}
F6{F6}
F7{F7}
F8{F8}
F9{F9}
F10{F10}
F11{F11}
F12{F12}
F13{F13}
F14{F14}
F15{F15}
F16{F16}
oHelper:UTSetKey("ENTER")

oHelper:UTSetKey("CTRL","X")

UTInputValue(cValue)

Método para realizar envio de dados digitados do teclado para execução de Scripts que utilizam comunicação Telnet.

Nome

Tipo

Descrição

Default

Obrigatório

cValue

String

Valor que será digitado

X

oHelper:UTInputValue("Admin")

oHelper:UTInputValue("1234")

oHelper:UTInputValue("Avenida Braz Leme")

UTExecTelNet(cScript)

Método que realiza a execução dos scripts criados em Vbs para comunicação com a aplicação Telnet.


Nome

Tipo

Descrição

Default

Obrigatório

cScript

String

Nome do caso de teste que foi criado no Script em advpl

X

oHelper:UTExecTelNet("ACD010_001")

Para que as suítes de testes que utilizam o método de TelNet executem corretamente no Servidor Continuo, é necessário informar o nome da suíte para Central de Automação - Protheus via Ryver.

Canal Ryver: https://totvs.ryver.com/index.html#forums/1247736/chat

UTDeleteDB(cTable,cFilter)

Método que realiza delete dos registros de uma tabela, podendo ou não considerar um filtro para condição Where.


Nome

Tipo

Descrição

Default

Obrigatório

cTable

String

Nome físico da tabela que será feito o delete dos dados (É necessaário informar qual grupo de empresa será usado, exemplo: SA1T10" "

X

cFilterStringFiltro que será considerado na condição WHERE , exemplo: A1_PESSOA = 'J' AND A1_LOJA = '01'    " " 

Ao executar o método os dados serão apagados de maneira definitiva, o AdvPR não realiza restore/armazenamento em mémoria ou algo similar com dados que foram apagados pelo método.

METHOD FIN010_001() CLASS FINA040TestCase
	Local oHelper    := FWTestHelper():New()
	
	//--Limpa os dados da tabela SA1 com filtro da loja = 01 (Fiscal)
	oHelper:UTDeleteDB("SA1T10","A1_LOJA = '01'")

	//--Limpa os dados da tabela SA1 com filtro da loja = 01 (Financeiro)
	oHelper:UTDeleteDB("SA2T10","A2_LOJA = '03'")
	
	//--Apaga os dados das notas fiscais com filtro de nota e série.
	oHelper:UTDeleteDB("SFTT10","FT_NFISCAL = '000006' AND FT_SERIE = '664' ")

	oHelper:UTCommitData({|x,y| FINA040(x,y)},oHelper:GetaCab(),3)
	
	oHelper:AssertTrue(oHelper:lOk, "")

Return oHelper

 UTLoadBody(cJSon,lTrimLine)

 Método que realiza a leitura de um arquivo que está localizado dentro da pasta baseline do ambiente.

NomeTipoDescriçãoDefaultObrigatório
cJsonStringNome com extensão do arquivo que será realizada leitura
X
lTrimLineLógicoIndica se será feito Alltrim no momento da leitura das linhas do arquivo    .T.
METHOD AdvPR_001() CLASS AdvPRTestCase

Local oHelper        := FWTestHelper():New()
Local cJson          := oHelper:UTLoadBody("ADVPR001.txt")

oHelper:Activate()

oHelper:UTCommitData({|x| JsonSend(x)},cJson)
oHelper:AssertTrue(oHelper:lOK,"")

Return oHelper


UTSelectDB(cTable,aFields,cFilter)

Método que retorna os registros de uma tabela conforme os parâmetros, através de uma consulta SQL.

NomeTipoDescriçãoDefaultObrigatório

cTable 

String

Nome da tabela que será feito o update


X

aFields

Array

Lista com os nomes dos campos que serão retornados


X

cFilter

String

Filtro que poderá ser usado para pesquisa


         X


Retorno: aRows, Array, Lista de 2 dimensões com registros que foram encontrados com o filtro realizado

    

METHOD AdvPR_001() CLASS AdvPRTestCase

Local oHelper       := FWTestHelper():New()
Local aFields       := {"E1_TIPO","E1_DATAIN","E1_VALOR"}
Local cFilter       := "E1_NUM = '000000001' AND E1_FILIAL = 'D MG 01 ' AND E1_EMISSAO = '20171203'"

oHelper:Activate()
oHelper:UTSetValue("aCab","E1_PREFIXO","AUT")
oHelper:UTSetValue("aCab","E1_NUM","000000001")
oHelper:UTSetValue("aCab","E1_TIPO","NF ")
oHelper:UTSetValue("aCab","E1_NATUREZ",cE1_Naturez)
oHelper:UTSetValue("aCab","E1_CLIENTE",cE1_Cliente)
oHelper:UTSetValue("aCab","E1_LOJA",cE1_Loja)
oHelper:UTSetValue("aCab","E1_MOEDA",1)
oHelper:UTSetValue("aCab","E1_EMISSAO","20171203")
oHelper:UTSetValue("aCab","E1_VENCTO","20171203")
oHelper:UTSetValue("aCab","E1_VENCREA","20171203")
oHelper:UTSetValue("aCab","E1_VALOR",1000)


oHelper:UTCommitData({|x,y| FINA040(x,y)},oHelper:GetACab(),3)

aTitulos := oHelper:UTSelectDB('SE1T10',aFields,cFilter)                           
If Len(aTitulos) <> 1
    oHelper:lOk := .F.
EndIf

oHelper:AssertTrue(oHelper:lOK,"")
                    
Return oHelper

UTUpdateDB(cTable,cField,xVal,cFilter)

Método para alterar registros no banco de dados atráves de filtro de SQL

NomeTipoDescriçãoDefaultObrigatório

cTable 

String

Nome da tabela que será feito o update


X

cField

String

Campo que será atualizado


X

xVal   

 Any  

Valor que será inputado no campo


X

cFilter

String

Filtro que poderá ser usado para pesquisa



Retorno: ::lOK  , Lógico,  Indica se realizou a atualizaçao com sucesso

    

METHOD AdvPR_001() CLASS AdvPRTestCase

Local oHelper       := FWTestHelper():New()
Local cFilter       := "E1_NUM = '000000001' AND E1_FILIAL = 'D MG 01 ' AND E1_EMISSAO = '20171203'"

oHelper:Activate()

oHelper:UTSetValue("aCab","E1_PREFIXO","AUT")
oHelper:UTSetValue("aCab","E1_NUM","000000001")
oHelper:UTSetValue("aCab","E1_TIPO","NF ")
oHelper:UTSetValue("aCab","E1_NATUREZ",cE1_Naturez)
oHelper:UTSetValue("aCab","E1_CLIENTE",cE1_Cliente)
oHelper:UTSetValue("aCab","E1_LOJA",cE1_Loja)
oHelper:UTSetValue("aCab","E1_MOEDA",1)
oHelper:UTSetValue("aCab","E1_EMISSAO","20171203")
oHelper:UTSetValue("aCab","E1_VENCTO","20171203")
oHelper:UTSetValue("aCab","E1_VENCREA","20171203")
oHelper:UTSetValue("aCab","E1_VALOR",1000)

oHelper:UTUpdateDB('SE1T10',"E1_NUM","000000002",cFilter)                           
oHelper:UTUpdateDB('SE1T10',"E1_VALOR",1000.00  ,cFilter)             

oHelper:UTCommitData({|x,y| FINA040(x,y)},oHelper:GetACab(),3)
             
oHelper:AssertTrue(oHelper:lOK,"")
                   

Return oHelper

                           

UTSetStamp(aTables,IGroup)

Método que adiciona o campo S_T_A_M_P_ nas tabelas do Protheus.

NomeTipoDescriçãoDefaultObrigatório

aTable 

Array

Lista com as tabelas que serão atualizadas


  X

lGroup

Lógico

Indica se será realizado RetSQlName na tabela

.T.

Opcional


Retorno: ::lOK  , Lógico,  Indica se realizou a atualização da tabela.

Observação: Este método pode ser usadoe em conjunto com o método UTUpdateDB, para  setar um TimeStamp no campo que foi criado, pois por padrão o campo é criado em branco.

METHOD AdvPR_001() CLASS AdvPRTestCase

Local oHelper       := FWTestHelper():New()
Local aTables                  := {"SE1"}

oHelper:Activate()
oHelper:UTSetStamp(aTables)

oHelper:UTSetValue("aCab","E1_PREFIXO","AUT")
oHelper:UTSetValue("aCab","E1_NUM","000000001")
oHelper:UTSetValue("aCab","E1_TIPO","NF ")
oHelper:UTSetValue("aCab","E1_NATUREZ",cE1_Naturez)
oHelper:UTSetValue("aCab","E1_CLIENTE",cE1_Cliente)
oHelper:UTSetValue("aCab","E1_LOJA",cE1_Loja)
oHelper:UTSetValue("aCab","E1_MOEDA",1)
oHelper:UTSetValue("aCab","E1_EMISSAO","20171203")
oHelper:UTSetValue("aCab","E1_VENCTO","20171203")
oHelper:UTSetValue("aCab","E1_VENCREA","20171203")
oHelper:UTSetValue("aCab","E1_VALOR",1000)

oHelper:UTCommitData({|x,y| FINA040(x,y)},oHelper:GetACab(),3)

oHelper:AssertTrue(oHelper:lOK,"")

Return oHelper


UTEngSPSInstall(cProcess,cCompany,cOrigin)

Método para instalação de um processo de procedures em uma determinada empresa.

NomeTipoDescriçãoDefaultObrigatório

cProcess

Caracter

Código do processo que será instalado


  X

cCompany

Caracter

Grupo de empresa

Grupo da empresa logada

Opcional

cOriginCaracterOrigem do pacote de proceduresRPOOpcional


Retorno: ::lOK  , Lógico,  Indica se realizou a instalação com sucesso.


oHelper:EngSPSInstall("01", "T1" )


UTEngSPSUninstall(cProcess,cCompany)

Método para desinstalação de um processo de procedures em uma determinada empresa.

NomeTipoDescriçãoDefaultObrigatório

cProcess

Caracter

Código do processo que será instalado


  X

cCompany

Caracter

Grupo de empresa

Grupo da empresa logada

Opcional


Retorno: ::lOK  , Lógico,  Indica se realizou a desinstalação com sucesso.


oHelper:EngSPSUninstall("01", "T1" )

UTEngSPSBatch(cAction)

Método responsável pela instalação/desinstalação em lote de todos os processos existentes no RPO em todas as empresas do ambiente. 

NomeTipoDescriçãoDefaultObrigatório

cAction

Caracter

Ação que será realizada (1-Instalação;2-Remoção)


  X


Retorno: ::lOK  , Lógico,  Indica se realizou o processo com sucesso.


oHelper:EngSPSBatch("1")


UTEngSPSStatus(cProcess,cCompany)


Método para retorna o status do processo na empresa solicitada.

NomeTipoDescriçãoDefaultObrigatório

cProcess

Caracter

Código do processo que será avaliado


  X

cCompany

Caracter

Grupo de empresa

Grupo da empresa logada

Opcional

O retorno é um objeto JSON com as seguintes propriedades:
    oReturn["status"]
    oReturn["process"]
    oReturn["company"]
    oReturn["version"]
    oReturn["signature"]
    oReturn["idsps"]
    oReturn["generation"]
    oReturn["error"] , JSON,  Indica se realizou o processo com sucesso.


oSPSStatus := oHelper:EngSPSStatus("02","T1")