Não publicar esta página |
Função de validação da chave única da tabela utilizando EXISTCPO
Parâmetros:
Retorno: lOk - Estrutura
Exemplo:
XFUNVldUni("C9V", 5, FWFLDGET("C9V_CPF") + DTOS(M->C9V_DTALT)) |
Função de validação utilizando EXISTCPO e chamando o HELP do campo
Parâmetros:
Retorno: lOk - Estrutura
Exemplo:
XFUNVldCmp("C8N",,,,2,.T.) |
Função de validação do dígito verificador da IE
Parâmetros:
Retorno: lRetorno - Estrutura
Nome | Tipo | Descrição | Default | Obrigatório |
|---|---|---|---|---|
cIE | Caractere | Código da Inscrição estadual | X | |
| cUF | Caractere | Unidade Federativa | X |
Exemplo:
XFUNVldIE(M->C1H_IE, FWFLDGET("C1H_UF")) |
Função de montagem da Wizard da rotina.
Parâmetros:
aTxtApre - Array com o cabeçalho da Wizard
aPaineis - Array com os painéis da Wizard
cNomeWizard - Nome do arquivo da Wizard
cNomeAnt - Nome do arquivo anterior da Wizard, caso tenha mudado de nome
nTamSay - Indica a largura em pixels do objeto
lBackIni - Indica se deve retornar ao início da Wizard
bFinalExec - Bloco de código a ser executado ao final da Wizard
Retorno: lRet - Estrutura
Nome | Tipo | Descrição | Default | Obrigatório |
|---|---|---|---|---|
aTxtApre | Array | Array com o cabeçalho da Wizard | X | |
| aPaineis | Array | Array com os painéis da Wizard | X | |
| cNomeWizard | Caractere | Nome do arquivo da Wizard | X | |
| cNomeAnt | Caractere | Nome do arquivo anterior da Wizard, caso tenha mudado de nome | ||
| nTamSay | Numérico | Indica a largura em pixels do objeto. | 0 | |
| lBackIni | Lógico | Indica se deve retornar ao inicio da Wizard | .F. | |
| bFinalExec | Bloco de Código | Bloco de código a ser executado ao final da Wizard | Nil |
Função para realizar a gravação dos dados inseridos nos objetos no txt (.WIZ)
Parâmetros:
cNomeWizard - Nome do arquivo de Wizard
aVarPaineis - Array com as informações digitadas no Wizard
aPaineis - Array com os painéis do Wizard
Retorno: lRet - Estrutura
Nome | Tipo | Descrição | Default | Obrigatório |
|---|---|---|---|---|
cNomeWizard | Caractere | Nome do arquivo de Wizard | X | |
| aVarPaineis | Array | Array com as informações digitadas no Wizard | X | |
| aPaineis | Array | Array com os painéis do Wizard | X |
Função que salva os parâmetros no profile.
Parâmetros:
cNomeWizard - Nome do arquivo de Wizard
aParametros - Array com o conteúdo dos campos do Wizard para gravação no profile
Retorno: lRet - Estrutura
Nome | Tipo | Descrição | Default | Obrigatório |
|---|---|---|---|---|
cNomeWizard | Caractere | Nome do arquivo de Wizard | X | |
| aParametros | Array | Array com o conteúdo dos campos do Wizard para gravação no profile | X |
Função que carrega os parâmetros do profile.
Parâmetros:
cNomeWizard - Nome do arquivo de Wizard
aIniWiz - Array com o conteúdo do arquivo texto do Wizard (Retorno Por Referência)
Retorno: lRet - Estrutura
Nome | Tipo | Descrição | Default | Obrigatório |
|---|---|---|---|---|
cNomeWizard | Caractere | Nome do arquivo de Wizard | X | |
| aIniWiz | Array | Array com o conteúdo do arquivo texto do Wizard (Retorno Por Referência) | X |
Função utilizada nas consultas SXB para personalizar os filtros das informações.
Parâmetros:
cFilDtVig - Data de Vigência
cFilDtFin - Data Final de Vigência
cTipoModel - Informa qual o modelo para registros genericos do ECF
cF3Wizard - Parâmetro usado apenas quando necessário um filtro de F3 vindo da Wizard de Geração de Obrigação Fiscal
Retorno: cRet - Retorna a string do filtro SXB
Nome | Tipo | Descrição | Default | Obrigatório |
|---|---|---|---|---|
| cFilDtVig | Caractere | Data de Vigência | ||
| cFilDtFin | Caractere | Data Final de Vigência | ||
| cTipoModel | Caractere | Informa qual o modelo para registros genéricos do ECF | ||
| cF3Wizard | Caractere | Parâmetro usado apenas quando necessário um filtro de F3 vindo da Wizard de Geração de Obrigação Fiscal |
Função utilizada na validação da data extemporânea do movimento.
Retorno: lRet - Retorna FLAG de validação
Função utilizada na validação.
Parâmetros:
Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| nIndice | Numérico | Ordem de pesquisa do EXISTCPO | |
| lUPPER | Lógico | Converte em Maiúsculas a string de busca, caso utilize case-sensitive envie .F. (False) no parâmetro |
Função utilizada para validar redundância entre a relação.
Parâmetros:
Nome | Tipo | Descrição |
|---|---|---|
| cCmpModel | Caractere | Campo a ser validado com o campo editado. |
Exemplo:
Cadastro de Fator de Conversão, onde seleciona-se uma unidade de medida e cadastra-se as conversões para a mesma. Porém não pode existir a conversão para a mesma UM selecionada.
Método utilizado para informar um layout de importação XML.
Nome | Tipo | Descrição |
|---|---|---|
| cXML | Caractere | 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 ) |
Método para converter dados de tabelas para arquivo de texto.
Nome | Tipo | Descrição | Default | Obrigatório |
|---|---|---|---|---|
| cPath | Caractere | Define o caminho onde o arquivo será salvo | X | |
| nExtensao | Numérico | Define a extensão do arquivo ( 1-TXT; 2-CSV) | 1 | |
| nTipo | Numérico | Define o tipo do arquivo a ser gerado (1-Modelo; 2-Teste) | 1 | |
| aTables | Array | Define as tabelas que serão geradas | X |
Exemplo:
TabForTxt( cPath, 2, 2, { "SA1" } ) |
Método que transforma um arquivo texto em array.
Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cArqTxt | Caractere | Nome do arquivo TXT que será transformado | X |
| cCond | Caractere | Condição de aglutinação | X |
| aReplace | Array | Retorno do arquivo completo transformado em array |
Exemplo:
aArqModel := Txt2Array( cArqModel,"|T001" ) |
Método utilizado para incluir uma linha em um modelo de dados ou em um array.
Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cModel | Caractere | 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 ) |
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 |
|---|---|---|---|
| cTable | Caractere | Nome da Tabela autocontida | X |
| nOrder | Numérico | Índice de busca | X |
| cSeek | Caractere | Chave de pesquisa | X |
| aData | Array | Valor de preenchimento do campo { campo, valor } | X |
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. |
Método para alterar um campo no SIGAMAT do sistema.
Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cAltFil | Caractere | Grupo de empresa mais a filial que sera alterada | X |
| cCampo | Caractere | Nome do campo que sera alterado | X |
| xValue | Undefined | Conteudo que sera alterado no campo | X |
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(). |
Apenda os dados para a tabela da base utilizada conforme appServer.ini.
Nome | Tipo | Descrição | Default | Obrigatório |
|---|---|---|---|---|
| cTable | Caractere | Nome da tabela que será efetuado o append | X | |
| lExcluir | Lógico | Determina se deve ser executação a exclusão dos dados da tabela | .T. | |
| cFile | Caractere | Nome do arquivo que será utilizado para realizar append dos dados | " " | |
| Retorno | Tipo | Descrição | ||
| oHelper:lOk | Lógico | Indica 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 ) |
Método que compara arquivo inteiro ou parcial.
Nome | Tipo | Descrição | Default | Obrigatório |
|---|---|---|---|---|
| cPath | Caractere | Caminho dos arquivos, tanto do modelo, quanto do arquivo gerado pelo Caso de teste | StartPath do Protheus | |
| cFileModel | Caractere | Nome do arquivo modelo | Arquivo_001_Model.txt | X |
| cFileTest | Caractere | Nome do arquivo gerado pelo caso de teste | Arquivo_001 | X |
| cIdLinha | Caractere | Específica a linha em que deverá ocorrer o replace | " " | |
| aReplace | Array | Array com De/Para de alteração de string | {} | |
| lConvAcent | Lógico | Se 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 ) |
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() |
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 |
|---|---|---|---|
| cTable | Caractere | Nome da tabela que possui o campo a ser auditado | X |
| cField | Caractere | Nome do campo a ser auditado | X |
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,"") |
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 |
|---|---|---|---|
| cTable | Caractere | Nome da tabela a ser auditada | X |
| cField | Caractere | Nome do campo que não deve ser auditado | X |
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,"") |
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 |
|---|---|---|---|
| cTable | Caractere | 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,"") |
Metodo que ira alterar o conteúdo das perguntas do SX1.
Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cGrupo | Caractere | Grupo da rotina a ser alterada a pergunta | X |
| cOrdem | Caractere | Sequencia da pergunta | X |
| xValue | Undefined | Valor 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 |
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 |
|---|---|---|---|---|
| cRptName | Caractere | Nome do relatório | X | |
| lUseTxt | Lógico | Se 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. | |
| lConvAcent | Lógico | Se deve ser feita a conversão de acentos. | .T. | |
| cOrder | Caractere | Chave 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,"") |
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 |
|---|---|---|---|
| cAlias | Caractere | Nome da tabela a ser utilizada | X |
| cField | Caractere | Nome do campo a ser verificado | X |
| xValue | Undefinied | Conteú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, "" ) |
Método utilizado para limpar os dados de tableas especificas conforme informado no parâmetro.
Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| aAlias | Array | 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 ) |
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 ) |
Função que executa o commit de teste e captura o erro, se tiver.
|
Exemplo:
Rotina automática
oHelper:UTCommitData( { |x,y,z| ATFA010( x, y, z ) }, oHelper:GetaCab(), oHelper:GetaItens(), 3 ) |
Model View Controler (MVC)
oHelper:UTCommitData() |
Método utilizado para contar a quantidade de registros de uma determinada tabela.
Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cAlias | Caractere | Nome da tabela a ser utilizada | X |
| nCount | Numérico | Quantidade a ser verificada na tabela | X |
Exemplo:
nRegister := oHelper:UTCheckDB( "SA1", 13 ) |
Método para contagem de linhas em uma determinada tabela de acordo com um filtro utilizado para pesquisa.
Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cTable | Caractere | Nome da tabela que será pesquisada | X |
| cFilter | Caractere | Filtro que será utilizado como "Where" da pesquisa. |
Return | Tipo | Descrição |
|---|---|---|
| nCount | Numérico | Quantidade de linha que foram encontradas de acordo com o filtro utilzado. |
Exemplo:
nCount := oHelper:UTCountRows( "SA2" , "A2_EST = 'SP' " ) |
Método que irá apagar o SIGAPSS.SPF
Exemplo:
oHelper:UTDelPsw() |
Metodo que irá ativar a utilização da configuração de Envio do EAI.
Nome | Tipo | Descrição | Default | Obrigatório |
|---|---|---|---|---|
| cProgram | Caractere | Nome do adapter configurado | X | |
| cFormat | Caractere | Formato do arquivo que será considerado para ativação da classe | XML | |
| cVersion | Caractere | Versão do Adapter, caso seja necessário alterar a versão na execução do teste |
Retorno: Verdadeiro ou Falso indicando se foi possível ativar o adapter informado.
Exemplo:
oHelper:UTEAIActivate( 'FINA010' ) |
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 |
|---|---|---|---|
| cCodigo | Caractere | Codigo que será usado para busca (XX3_UUID) | X |
Exemplo:
//------------------------------------------- // Execução da Mensagem Unica //------------------------------------------- oHelper:UTExecEAI( "9000000000000000000037785" ) |
Método utilizado para comparar o arquivo xml gerado na mensagem única de ENVIO.
Nome | Tipo | Descrição | Default | Obrigatório |
|---|---|---|---|---|
| cProgram | Caractere | Nome do adapter configurado | X | |
| cTestCase | Caractere | Nome do caso de teste executado | X | |
| cFormat | Caractere | Formato do arquivo que será validado o teste | XML |
Retorno: Verdadeiro 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. |
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 |
|---|---|---|---|
| cTabela | Caractere | Nome da tabela que irá ser procurado o registro | X |
| nIndice | Numérico | Índice que será realizado a pesquisa na tabela | X |
| cPesq | Caractere | Texto que será realizado a pesquisa | X |
| cFil | Caractere | Filial 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 |
Procura e retorna o erro para o MsExecAuto / MVC.
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 ) |
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 ) |
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 |
|---|---|---|---|---|
| aHeader | Array | 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: Soap: {} |
| cFile | String | 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 | " " |
| cGetParms | String | Indica a lista de strings de parâmetros que serão enviadas ao servidor HTTP | Não | " " |
| cURLRest | String | URL 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ão | http://localhost:8787/ |
| aReplace | Array | Array que será considerado para fazer replace no arquivo de response da requisição | Não | {} |
| aReplaceX | Array | Substitui o valor, entre duas strings | Não | {} |
| lLastResult | Lógico | Indica se o retorno do método será o erro do GetResult ou do GetlastError do Client FwRest() .F. = GetLastError → Erros Resumidos (Qualquer estrutura) | Não | .F. |
| lRetry | Lógico | Indica se havera 2º request caso ocorra alguma falha de comunicação na chamada da api. .F. = Não realiza segunda chamada da api em caso de falha | Não | .T. |
| Retorno | Tipo | Descrição | ||
| cRet | String | Valor do response que foi retornado pela API. | ||
| oHelper:cHeaderGet | String | Valor 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 |
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 |
|---|---|---|---|---|
| cBody | String | 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 | " " |
| aHeader | Array | 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: Soap: {} |
| cFile | String | 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 | " " |
| cGetParms | String | Indica a lista de strings de parâmetros que serão enviadas ao servidor HTTP | Não | " " |
| cURLRest | String | URL 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ão | http://localhost:8787/ |
| aReplace | Array | Array que será considerado para fazer replace no arquivo de response da requisição | Não | {} |
| aReplaceX | Array | Substitui o valor, entre duas strings | Não | {} |
| lLastResult | Lógico | Indica se o retorno do método será o erro do GetResult ou do GetlastError do Client FwRest() .F. = GetLastError → Erros Resumidos (Qualquer estrutura) | Não | .F. |
| lRetry | Lógico | Indica se havera 2º request caso ocorra alguma falha de comunicação na chamada da api. .F. = Não realiza segunda chamada da api em caso de falha | Não | .T. |
| Retorno | Tipo | Descrição | ||
| cRet | String | Valor do response que foi retornado pela API. | ||
| oHelper:cHeaderGet | String | Valor 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 |
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 |
|---|---|---|---|---|
| cBody | String | 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 | " " |
| aHeader | Array | 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: Soap: {} |
| cFile | String | 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 | " " |
| cURLRest | String | URL 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ão | http://localhost:8787/ |
| aReplace | Array | Array que será considerado para fazer replace no arquivo de response da requisição | Não | {} |
| aReplaceX | Array | Substitui o valor, entre duas strings | Não | {} |
| lRetry | Lógico | Indica se havera 2º request caso ocorra alguma falha de comunicação na chamada da api. .F. = Não realiza segunda chamada da api em caso de falha | Não | .T. |
| Retorno | Tipo | Descrição | ||
| cRet | String | Valor do response que foi retornado pela API. | ||
| oHelper:cHeaderGet | String | Valor 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 |
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 |
|---|---|---|---|---|
| cBody | String | 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 | " " |
| aHeader | Array | 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: Soap: {} |
| cFile | String | 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 | " " |
| cURLRest | String | URL 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ão | http://localhost:8787/ |
| aReplace | Array | Array que será considerado para fazer replace no arquivo de response da requisição | Não | {} |
| aReplaceX | Array | Substitui o valor, entre duas strings | Não | {} |
| lRetry | Lógico | Indica se havera 2º request caso ocorra alguma falha de comunicação na chamada da api. .F. = Não realiza segunda chamada da api em caso de falha | Não | .T. |
| Retorno | Tipo | Descrição | ||
| cRet | String | Valor do response que foi retornado pela API. | ||
| oHelper:cHeaderGet | String | Valor 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 |
Método que realiza o envio de uma mensagem do tipo Soap para um serviço de web service utilizando WSDL.
| |||||||||||||||||||||||||||||||||||||||||||||
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 |
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 |
|---|---|---|---|---|
| cApi | String | Caminho da API na URL, este parâmetro é necessário pois em alguns casos um único endereço http pode conter diversas APIs. | Sim | |
| cTypeAPI | String | Modelo da API que será consumida Rest ou SOAP. | Não | REST |
| Retorno | Tipo | Descrição | ||
| lOk | Lógico | Indica se o valor informado no cTypeAPI foi alterado corretamente. | ||
| oHelper:lOk | Lógico | Propriedade 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 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 |
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 |
|---|---|---|---|---|
| cUser | String | Login do usuário que será utilizado para autenticação. | Sim | |
| cPwd | String | Senha que será usada na autenticação. | Sim | |
| Retorno | Tipo | Descrição | ||
| Encode64 | String | Converte 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 |
Importação dos layouts XML e execução do layouts CSV.
Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| lClearDB | Lógico | Define se deve ser realizada a limpeza das tabelas | Não |
| aParam | Array | Array de Backup com os valore de parâmetros do Protheus a serem restaurados | Nã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 ) |
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 |
|---|---|---|---|
| cTable | Caractere | Nome da tabela que será pesquisada | X |
| cField | Caractere | Nome do campo que será utilizado para marcação do registro | X |
| cMark | Caractere | Marca que será utilizada no campo | X |
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. |
Abre a filial de acordo com os parâmetros passados.
Nome | Tipo | Descrição | Default | Obrigatório |
|---|---|---|---|---|
| cEmpresa | Caractere | Empresa que deseja acessar o sistema | X | |
| cFil | Caractere | Filial que deseja acessar o sistema | X | |
| cMod | Caractere | Modulo que deseja acessar o sistema | FAT | |
| aTable | Array | Tabelas que deseja abrir ao executar o sistema | ||
| cUser | Caractere | Usuário que deseja acessar o sistema | ADMIN | |
| cPsw | Caractere | Senha 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 ) |
Método utilizado para comprar relatórios gerado com baseline.
Nome | Tipo | Descrição | Obrigatório | Exemplo |
| cReport | Caractere | Nome da função do relatório + Número do caso de testes. | X | |
| lConvAcent | Lógico | Indica se deverá ser feita conversão dos caracteres para Hexadecimal. | ||
| lConvAuto | Lógico | Indica se deverá ser feita conversão do arquivo gerado automaticamente para Hexadecimal (Indicado para uso em arquivos do tipo .rel). | ||
| aReplace | Array | Conteúdo que será substituído no arquivo base. | aReplace := {{"Valor Orginal","Valor Final"},{"Valor Orginal 2 ","Valor Final 2"}} | |
| aReplacex | Array | Substitui o valor, entre duas strings. | aReplaceX := {{"TagInicial","TagFinal","Conteudo"}} |
Exemplo:
oHelper:UTPrtCompare( "FINR130_001" ) |
Método para realizar a query de verificação de resultado esperado.
Nome | Tipo | Descrição | Default | Obrigatório |
|---|---|---|---|---|
| cTable | Caractere | Alias da tabela em que ocorrerá a consulta | X | |
| cField | Caractere | Campo que será utilizado na composição da query e na validação | X | |
| cFilter | Array | Filtro da condição | X | |
| xValue | Undefined | Valor correspondente ao retorno do campo | " " | X |
| cFil | Caractere | Avalia filial específica, desconsiderando a filial do Setup | ||
| lAssert | Lógico | Execuçã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, "" ) |
Método para restaurar os parâmetros para seus valores default.
Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| aParam | Array | Array de parâmetros que serão restaurados. | X |
Exemplo:
oHelper:UTRestParam( oHelper:aParamCT ) |
Método para alterar os parâmetros (SX6).
Nome | Tipo | Descrição | Default | Obrigatório |
|---|---|---|---|---|
| cParam | Caractere | Nome do Parametro a ser alterado | X | |
| xValue | Undefined | Novo valor do parâmetro. | " " | X |
| lChange | Ló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. ) |
Método que verifica novo formato de gravação do ID no campos _SERIE.
Nome | Tipo | Descrição | Default | Obrigatório |
|---|---|---|---|---|
| cTable | Caractere | Tabela que será validado | " " | X |
| cCampo | Caractere | Campo que será validado | " " | X |
| cEspecie | Caractere | Espécie da nota | " " | |
| cSerie | Caractere | Série da nota | " " |
Exemplo:
cSerieId := oHelper:UTSerieID( 'SF1', 'F1_SERIE', cEspecie, cSerie ) |
Método utilizado para incluir valor em um campo individualmente ou em um array.
Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cModel | Caractere | Nome do modelo ou Array que será incluído | X |
| cField | Caractere | Nome do campo que o valor será incluído. | X |
| xValue | Undefinied | Valor a ser incluído. | X |
| cAuxiliar | Caractere | Valor 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 ) |
Método utilizado para definir valores no XML que utilizam estruturas simples.
Nome | Tipo | Descrição | Default |
|---|---|---|---|
| cField | String | Nome da propriedade do XML | " " |
| xValue | Undefinied | Valor que será enviado | " " |
| Retorno | Descrição | ||
| lRet | Indica se a operação foi realizada com sucesso ou não. | ||
Permite a geração de arquivos de relatório.
Nome | Tipo | Descrição | Default | Obrigatório |
|---|---|---|---|---|
| cReport | Caractere | Nome da função do relatório + Número do caso de testes | X | |
| aListParam | Array | Perguntas do SX1 (Não precisa ser informado se utilizado junto com o UTChangePergunte) | {} | |
| cDef | Caractere | Nome da função quando não houver a função ReportDef | ||
| cPerg | Caractere | Nome do pergunte conforme tabela SX1 ((Não precisa ser informado se utilizado junto com o UTChangePergunte) | " " | |
nOrder | Numérico | Define a ordem de impressão | ||
| wnrel | Caractere | Define o nome do relatório, caso for diferente do nome do fonte. | " " | |
| lEndReport | Lógico | Indica se o relatório será impresso com "Total Geral" | .F. | |
| lEmptyLine | Lógico | Indica 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" ) |
Método utilizado para marcar o início da marcação de tempo de determinada operação.
Nome | Tipo | Descrição | Default | Obrigatório |
|---|---|---|---|---|
| cOperation | Caractere | Identificação do timer | "Default" | Não |
Exemplo:
oHelper:UTStartTimer( 'TESTE 001' ) |
Método utilizado para marcar o final da marcação de tempo de determinada operação.
Nome | Tipo | Descrição | Default | Obrigatório |
|---|---|---|---|---|
| cOperation | Caractere | Identificação do timer | "Default" | Não |
Exemplo:
oHelper:UTStopTimer( 'TESTE 001' ) |
Método para incluir um erro manualmente.
Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cError | Caractere | Erro a ser mostrado | X |
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 |
Metodo para restaurar as alterações efetuadas na tabela autocontida conforme o método UTAlterAutoCont.
Exemplo:
oHelper:UTRestAutoCont() Return( oHelper ) |
Método para restaurar filial.
Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| aSM0 | Array | Array de volta dos campos do SIGAMAT | X |
Exemplo:
oHelper:UTRestSM0( oHelper:aSM0 ) |
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 |
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") |
Método utilizado para execução de uma função static do fonte.
Nome | Tipo | Descrição | Default | Obrigatório |
|---|---|---|---|---|
| cStaticFun | Caractere | Nome da função estrutural que deve ser executada em todos os fontes | ||
| aPrgNames | Array | Este 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 |
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') |
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*/)
|
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*/) |
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})
|
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)
|
Método para encontrar os registros em determinada tabela.
|
aRet:= oHelper:UTRetReg(RetSqlName("SA1"), "ID_ENT = "A1_COD = '0001' AND A1_TPCLI = 'R' " , {"A1_COD","A1_TPCLI"})
|
String com o xml
| aReplaceX | Array | Substitui o valor, entre duas strings | Não | {} |
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. |
Método para setar variáveis privadas da execução automática.
|
Exemplo:
oHelper:SetMsErroAuto() |
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")
|
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")
|
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 |
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 |
| cFilter | String | Filtro 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
|
Método que realiza a leitura de um arquivo que está localizado dentro da pasta baseline do ambiente.
| Nome | Tipo | Descrição | Default | Obrigatório |
|---|---|---|---|---|
| cJson | String | Nome com extensão do arquivo que será realizada leitura | X | |
| lTrimLine | Lógico | Indica 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
|
Método que retorna os registros de uma tabela conforme os parâmetros, através de uma consulta SQL.
| Nome | Tipo | Descrição | Default | Obrigató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
|
Método para alterar registros no banco de dados atráves de filtro de SQL
| Nome | Tipo | Descrição | Default | Obrigató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
|
Método que adiciona o campo S_T_A_M_P_ nas tabelas do Protheus.
| Nome | Tipo | Descrição | Default | Obrigató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
|
Método para instalação de um processo de procedures em uma determinada empresa.
| Nome | Tipo | Descrição | Default | Obrigatório |
|---|---|---|---|---|
cProcess | Caracter | Código do processo que será instalado | X | |
cCompany | Caracter | Grupo de empresa | Grupo da empresa logada | Opcional |
| cOrigin | Caracter | Origem do pacote de procedures | RPO | Opcional |
Retorno: ::lOK , Lógico, Indica se realizou a instalação com sucesso.
oHelper:EngSPSInstall("01", "T1" ) |
Método para desinstalação de um processo de procedures em uma determinada empresa.
| Nome | Tipo | Descrição | Default | Obrigató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" ) |
Método responsável pela instalação/desinstalação em lote de todos os processos existentes no RPO em todas as empresas do ambiente.
| Nome | Tipo | Descrição | Default | Obrigató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") |
Método para retorna o status do processo na empresa solicitada.
| Nome | Tipo | Descrição | Default | Obrigató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") |