Comecei recentemente a brincar com o TestComplete (apesar de já ter feito o treinamento na Qualister há 1 ano, não lembro de nada lecionado nele) por necessidade de um cliente meu, então vou postando no Blog algumas rotinas. A maioria conhece a ferramenta, mas para quem não conhece, vai um post introdutório de uma colega sobre a ferramenta. Pode ser útil para alguns e completamente inútil para outros, sendo assim, aí vai.
Lembrando que estou utilizando o TestComplete 8 criando os scripts na linguagem C# numa aplicação Web, desenvolvida em Microsoft .NET com Banco de Dados SQL Server.
Muitas das referências dos scripts que eu criei foram encontradas diretamente no site da AutomatedQA. Boa parte delas estavam incorretas.
A rotina que eu criei é simples, julguei o mais interessante para ir me ambientando com a sintaxe do software. A rotina é: Criar vários usuários no sistema e utilizar os dados de cadastro a partir de uma planilha no Excel, para isso:
- Precisei definir como vou inicializar o objeto do Excel no TC (TestComplete), pois este oferece três opções: DB Table, DDT (Data-Driven Test)e instanciando um objeto propriamente dito. Tive que usar DDT e instanciar um objeto, cada um para um propósito:
- Primeiramente precisei descobrir como fazer a leitura do total de linhas do arquivo (para ele cadastrar todos os usuários do arquivo) pois como estava no site da AutomatedQA, estava de forma incorreta. Para este caso, utilizei o DDT:
//Inicializando o Excel via DDT
ExcelDDT = DDT["ExcelDriver"]( "C:\\Usuario.xls", "Usuario");
//Verificar quantas linhas o Excel possui e contabilizar na variável "rowcount"
while (! ExcelDDT.EOF() )
{
ExcelDDT["Next"]();
rowcount++
}
//Fechar o driver
DDT["CloseDriver"]( ExcelDDT.Name );
- Posteriormente, tive que instanciar o objeto do Excel, para facilitar a leitura das linhas:
//Instanciando o objeto Excel
Excel = Sys["OleObject"]("Excel.Application");
Excel["Workbooks"].Open("c:\\Usuario.xls");
- Como o script precisava inserir vários usuários no sistema, fiz um "for" para leitura do documento até o último registro da planilha. Lembrando que nessa planilha existiam três colunas (Matricula, Nome e CPF). Conforme a rotina a seguir:
for (i = 2;i<=rowcount; i++)
{
//Referência dos campos da tela Inserir Usuário
frame = page["Panel"]("ext_gen36")["Panel"]("ext_gen43")["Frame"]("main");
table = frame["Form"]("baseForm")["Table"](0);
panel = table["Cell"](2, 0)["Panel"](0);
table2 = panel["Table"]("dPess");
table3 = table2["Cell"](1, 2)["Table"]("Table16");
//Matricula
matricula = VarToString(Excel.Cells(i,1));
textbox = table3["Cell"](0, 0)["Textbox"]("txtCode");
textbox["SetText"](matricula);
//Nome
nome = VarToString(Excel.Cells(i,2));
textbox = table2["Cell"](2, 0)["Textbox"]("txtNmUser");
textbox["SetText"](nome);
//CPF
cpf = VarToString(Excel.Cells(i,3));
textbox = table2["Cell"](4, 2)["Table"](0)["Cell"](0, 0)["Textbox"]("txtCpf");
textbox["SetText"](cpf);
...
}
A referência dos campos foi inserida dentro do "for" para não se perder numa próxima iteração.
Lembrando que as devidas variáveis foram instanciadas no início do script. O objetivo principal desse post é a troca de experiência, espero ter ajudado nesse pontapé inicial.
Bom, é isso. Assim que tiver mais novidades retorno com um novo post.
Clientes tem sempre razão?
1 dia atrás


0 comentários:
Postar um comentário