Você está na página 1de 18

AUTOMAÇÃO – Script por Template

12/12/2016
Engenharia – Central de Automação

Sumário

1. Objetivo .................................................................................................................................................................................. 3
2. Estrutura do script de testes com template: Script com ExecAuto()...................................................................................... 3
3. Template: ExecAuto()............................................................................................................................................................. 4
4. Execução do Teste + Evidência do Banco de Dados: ExecAuto() ........................................................................................ 5
5. Estrutura do script de testes com template: Script com MVC ............................................................................................... 6
6. Template: MVC ...................................................................................................................................................................... 7
7. Execução do Teste + Evidência do Banco de Dados: MVC................................................................................................... 8
8. Estrutura do script de testes com template: Multiplos Commits ............................................................................................ 9
9. Template: Multiplos Commits ............................................................................................................................................... 10
10. Execução do Teste + Evidência do Banco de Dados: Multiplos Commits ........................................................................... 11
11. Tags do template.................................................................................................................................................................. 12
12. Funções e Métodos .............................................................................................................................................................. 13
12.1. Activate................................................................................................................................................................................. 13
12.2. AddAsk ( cAsk, cOrder, xValue, nStep ) ................................................................................................................................. 13
12.3. AddChkFields( cTable, cField, cQuery, xValue, cRelease, nStep ) ....................................................................................... 13
12.4. AddChkQuery( cTable, cQuery, lAssert, nStep ) .................................................................................................................... 14
12.5. AddParam ( cParam, xValue, nStep )..................................................................................................................................... 14
12.6. AddVar ( cParam, xValue ) ..................................................................................................................................................... 14
12.7. DeActivate() ............................................................................................................................................................................ 15
12.8. ExecuteData( nStep ) ............................................................................................................................................................. 15
12.9. GetoHelper() ........................................................................................................................................................................... 15
12.10. LoadCSV( cCase )................................................................................................................................................................ 15
12.11. SetBranch( cBranch ) ........................................................................................................................................................... 16
12.12. SetCommit ( nStep, bExec, xParam1, xParam2… xParam20 )............................................................................................ 16
12.13. SetCountry( cCountry ) ......................................................................................................................................................... 16
12.14. SetoHelper( oHelper ) ........................................................................................................................................................... 17
12.15. SetModel ( oModel ) ............................................................................................................................................................. 17
12.16. SetRelease( cRelease ) ........................................................................................................................................................ 17
12.17. SetSeekReg( cTable, nOrder, cSearch, cBranch ) ............................................................................................................... 18
12.18. SetStep( nStep ) ................................................................................................................................................................... 18
12.19. SetVersion( cVersion ) ......................................................................................................................................................... 18

2
Versão 1.0
Engenharia – Central de Automação

1. Objetivo

Facilitar a criação de script de automação utilizando templates de casos de testes, tornando assim, o processo mais independente,
sem a necessidade de codificação em demasia.

2. Estrutura do script de testes com template: Script com ExecAuto()


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

@author Automação
@since 01/12/2016
@version 1.0
/*/
//-----------------------------------------------------------------
METHOD ATF010_001() CLASS ATFA010TestCase_RUS

Return ATF010TC( 'ATF010_001' )

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

Função estática que pode ser reutilizada para execução de testes


semelhantes, como por exemplo, diversos cenários de inclusão.

@author Automação
@since 01/12/2016
@version 1.0
/*/
//-----------------------------------------------------------------
Static Function ATF010TC( cCase )

Local nOperation := 3
Local oHelper := Nil
Local oTemplateCase := FWScriptAuto():New()

oTemplateCase:LoadCSV( cCase )

oTemplateCase:SetCommit( 1, { |x,y,z| ATFA012( x, y, z ) }, "oHelper:GetaCab()",;


"oHelper:GetaItens()", nOperation )

oTemplateCase:Activate()

oHelper := oTemplateCase:GetOHelper()

Return( oHelper )

3
Versão 1.0
Engenharia – Central de Automação

3. Template: ExecAuto()

ATF010_001.csv

4
Versão 1.0
Engenharia – Central de Automação

4. Execução do Teste + Evidência do Banco de Dados: ExecAuto()

5
Versão 1.0
Engenharia – Central de Automação

5. Estrutura do script de testes com template: Script com MVC

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

Inclusão de condição de pagamento

@author Automação
@since 14/12/2016
@version 1.0
/*/
//-------------------------------------------------------------------
METHOD MAT360_001() CLASS MATA360TestCase_RUS

Return MAT360TC( 'MAT360_001' )

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

Função estática que pode ser reutilizada para execução de testes


semelhantes, como por exemplo, diversos cenários de inclusão.

@author Automação
@since 01/12/2016
@version 1.0
/*/
//-----------------------------------------------------------------
Static Function MAT360TC( cCase )

Local oHelper := Nil


Local oModel := FWLoadModel( "MATA360" )
Local oTemplateCase := FWScriptAuto():New()

oTemplateCase:LoadCSV( cCase )

oModel:SetOperation( MODEL_OPERATION_INSERT )
oModel:Activate()

oTemplateCase:SetModel( oModel )

oTemplateCase:SetCommit()

oTemplateCase:Activate()

oHelper := oTemplateCase:GetOHelper()

Return( oHelper )

6
Versão 1.0
Engenharia – Central de Automação

6. Template: MVC

MAT360_001.csv

7
Versão 1.0
Engenharia – Central de Automação

7. Execução do Teste + Evidência do Banco de Dados: MVC

8
Versão 1.0
Engenharia – Central de Automação

8. Estrutura do script de testes com template: Multiplos Commits

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

@author Automação
@since 14/12/2016
@version 1.0
/*/
//-----------------------------------------------------------------
METHOD ATF050_001() CLASS ATFA050TestCase_RUS

Return ATF050TC( 'ATF050_001' )

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

Função estática que pode ser reutilizada para execução de testes


semelhantes, como por exemplo, diversos cenários de inclusão.

@author Automação
@since 01/12/2016
@version 1.0
/*/
//-----------------------------------------------------------------
Static Function ATF050TC( cCase )

Local oHelper := Nil


Local oTemplateCase := FWScriptAuto():New()

SetFunName( "ATFA050" )

oTemplateCase:LoadCSV( cCase )

oTemplateCase:SetCommit( 1, {|x,y| ATFA050( x, y ) }, '', .T. )

oTemplateCase:SetCommit( 2, {|x,y| ATFA070( x, y ) }, ''/*cAlias*/, .T. /*lDireto*/ )

oTemplateCase:Activate()

oHelper := oTemplateCase:GetOHelper()

Return( oHelper )

9
Versão 1.0
Engenharia – Central de Automação

9. Template: Multiplos Commits

ATF050_001.csv

10
Versão 1.0
Engenharia – Central de Automação

10. Execução do Teste + Evidência do Banco de Dados: Multiplos Commits

11
Versão 1.0
Engenharia – Central de Automação

11. Tags do template

12
Versão 1.0
Engenharia – Central de Automação

12. Funções e Métodos

12.1. Activate

Método responsável por ativar e validar a classe para uso.

Exemplo:
oTemplateCase:Activate()

12.2. AddAsk ( cAsk, cOrder, xValue, nStep )

Método utilizado para alterar o conteúdo das Perguntas (SX1), sendo:

 cAsk: Grupo da rotina a ser alterada a pergunta


 cOrder: Sequencia da pergunta.
 xValue: Valor a ser alterado.
 nStep: Indica a sequência de execução do commit (Não obrigatório – Default = 1)

Exemplo:
oTemplateCase:AddAsk( "AFA010", "04", 1 )

12.3. AddChkFields( cTable, cField, cQuery, xValue, cRelease, nStep )

Método utilizado para adicionar o(s) campo(s) do(s) resultado(s) esperado(s), sendo:

 cTable: Tabela que será analisada


 cField: Campo que será analisado
 cQuery: Query da consulta
 xValue: Valor esperado
 cRelease: Release do campo (Não obrigatório)
 nStep: Indica a sequência de execução do commit (Não obrigatório – Default = 1)

Exemplo:
oTemplateCase:AddAsk( "AFA010", "04", 1 )

13
Versão 1.0
Engenharia – Central de Automação

12.4. AddChkQuery( cTable, cQuery, lAssert, nStep )

Método utilizado para adicionar a query no resultado esperado, sendo:

 cTable: Tabela que será analisada


 cQuery: Query da consulta
 lAssert: Define se será (True) - AssertTrue ou (False) - AssertFalse()
 nStep: Indica a sequência de execução do commit (Não obrigatório – Default = 1)

Exemplo:

Local cQuery := “E4_CODIGO = 'CT1' AND E4_TIPO = 'B'”

oTemplateCase: AddChkQuery( “SE4”, cQuery, “True” )

12.5. AddParam ( cParam, xValue, nStep )

Método utilizado para adicionar os parâmetros que serão alterados (SX6), sendo:

 cParam: Nome do Parametro a ser alterado.


 xValue: Novo valor do parâmetro.
 nStep: Indica a sequência de execução do commit (Não obrigatório – Default = 1)

Exemplo:

oTemplateCase: AddParam( “MV_TREPORT”, 2 )

12.6. AddVar ( cParam, xValue )

Método utilizado para adicionar as variáveis privates que serão alteradas na execução do script, sendo:

 cParam: Nome da variável


 xValue: Novo valor da variável

Exemplo:

oTemplateCase: AddVar ( dDataBase, DATE() )


oTemplateCase: AddVar ( lMsErroAuTo, .F. )

14
Versão 1.0
Engenharia – Central de Automação

12.7. DeActivate()

Metodo utilizado para desativar a classe FWScriptAuto.

Exemplo:

oModel:Deactivate()
oTemplateCase:Deactivate()

12.8. ExecuteData( nStep )

Metodo utilizado para executar os dados processados a partir do template de caso de teste, sendo:

 nStep: Indica a sequência de execução do commit (Não obrigatório – Default = 1)

Exemplo:

oTemplateCase:ExecuteData()

12.9. GetoHelper()

Método utilizado para recuperar o conteúdo do oHelper

Exemplo:

oHelper := oTemplateCase:GetOHelper()

12.10. LoadCSV( cCase )

Método utilizado para efetuar a leitura do arquivo csv, sendo:

 cCase: Caso de testes que será executado.

Exemplo:

oTemplateCase:LoadCSV( ‘MAT360_001’ )

15
Versão 1.0
Engenharia – Central de Automação

12.11. SetBranch( cBranch )

Método utilizado para alterar a filial logada, quando no cenário do teste for necessário a troca de filiais, sendo:

 cBranch: Filial que irá ser alterada.

Exemplo:

oTemplateCase:SetBranch( “D MG 02 ” )

Obs.: Após finalizar todas as alterações necessário do cenário a filial é restaurada automaticamente através do método
ExecuteData()

12.12. SetCommit ( nStep, bExec, xParam1, xParam2… xParam20 )

Método utilizado para definir o commit de teste e captura o erro, se tiver, sendo:

 nStep: Indica a sequência de execução do commit (Não obrigatório – Default = 1)


 bExec: Bloco de execução do MsExecAuto. (Não obrigatório)
 xParam: Parametros para a rotina automática. (Não obrigatório).

Exemplo:

Rotina automática:

oTemplateCase:SetCommit( { |x,y,z| ATFA012( x, y, z ) }, "oHelper:GetaCab()",


"oHelper:GetaItens()", nOperation )

Obs.: A atribuição de valores anteriormente utilizado pelo método UTSetValue utilizada em conjunto com os métodos GetaCab e
GetaItens, nesse novo modelo, deverão ser passados via parâmetro como string, conforme exemplificado acima.

MVC:

oTemplateCase:SetCommit()

12.13. SetCountry( cCountry )

Método utilizado para definir o país do caso de testes, sendo:

 cCountry: País do Caso de Testes

Exemplo:

oTemplateCase:SetCountry( “BRA” )

16
Versão 1.0
Engenharia – Central de Automação

12.14. SetoHelper( oHelper )

Método utilizado para definir o objeto oHelper, proveniente da classe FWTestHelper, sendo:

 oHelper: Objeto que será definido.

Exemplo:

oTemplateCase: SetoHelper( oHelper )

12.15. SetModel ( oModel )

Método utilizado para definir o Modelo de dados para casos de testes que possuem rotina em MVC, sendo:

 oModel: Modelo de dados da rotina.

Exemplo:

Local oModel := FWLoadModel( "MATA360" )


Local oTemplateCase := FWScriptAuto():New()

oTemplateCase:LoadCSV( cCase )

oModel:SetOperation( MODEL_OPERATION_INSERT )
oModel:Activate()

oTemplateCase:SetModel( oModel )

12.16. SetRelease( cRelease )

Método utilizado para definir o para definir o release de execução do caso de testes, sendo:

 cRelease: Release em que o teste deverá ser efetuado.

Exemplo:

oTemplateCase:SetRelease( “12.1.014” )

17
Versão 1.0
Engenharia – Central de Automação

12.17. SetSeekReg( cTable, nOrder, cSearch, cBranch )

Método utilizado para encontrar um registro para alteração, sendo:

 cTable: Nome da tabela que irá ser procurado o registro.


 nOrder: Indice que será realizado a pesquisa na tabela.
 cSearch: Texto que será realizado a pesquisa.
 cBranch: Filial, caso a busca tenha que ser efetuada em uma filial diferente da definida no TestSuite. (Não obrigatório)

Exemplo:

oTemplateCase:SetSeekReg( "SNI", 1, '00000000000000000008'+'000001')

12.18. SetStep( nStep )

Método utilizado para definir se há mais de um commit a ser executado.

 nStep: Quantidade de commit existentes.

Exemplo:

oTemplateCase:SetStep( 2 )

12.19. SetVersion( cVersion )

Método utilizado para definir a versão de execução do caso de testes:

 cVersion: Versão

Exemplo:

oTemplateCase:SetVersion( “120” )

18
Versão 1.0

Você também pode gostar