|
同样新手
我也是一个测试新手,前断时间自己做了一个用户登录脚本,运行了没问题,
static app_name="d:\\3KGame\\ALobby.exe";
if (invoke_application(app_name,"","",SW_SHOW)!=0)
{
report_msg("被测试的应用程序不存在.退出测试脚本");
texit;}
else
{wait(2);
report_msg("游戏客户端运行成功");
# 3KGame
set_window ("3KGame", 2);
list_select_item ("SysListView32", "ALobby.exe", RIGHT);
menu_select_item ("打开(O)");
table_用户名 = "e:\\winrunner8.2\\3K游戏测试脚本\\游戏登录\\用户名登录表.xls";
rc = ddt_open(table_用户名, DDT_MODE_READ);
if (rc!= E_OK && rc != E_FILE_OPEN)
pause("Cannot open table.");
ddt_get_row_count(table_用户名,table_用户名_RowCount);
for(table_用户名_Row = 1; table_用户名_Row <= table_用户名_RowCount; table_用户名_Row ++)
{
ddt_set_row(table_用户名,table_用户名_Row);
# Login
set_window ("Login", 6);
edit_set ("Edit_1", "");
obj_type ("Edit_1","<kCtrl_L>");
edit_set ("Edit_1",ddt_val(table_用户名,"Edit_1") );
edit_set("Edit_2", ddt_val(table_用户名,"Edit_2"));
button_press("virtual_push_button_登录");
#win_exists("3K游戏公社",0);
if (win_exists("3K游戏公社",1)==E_OK)
{
# 3K游戏公社
set_window ("3K游戏公社", 2);
static_get_text("登陆失败的对话框中的显示信息(static)",text);
report_msg(text);
# 3K游戏公社
set_window ("3K游戏公社", 2);
button_press ("确定");
}
else
{ report_msg("登录成功");
wait(1);
# 游戏大厅
set_window("游戏大厅", 10);
button_press("virtual_push_button_注销");
}
}
ddt_close(table_用户名);
}
主要思路: 在输入帐号密码后,用win_exists()去判断是否有登陆失败的对话框,如果有,可以利用应用程序已经判断后的错误结果使用static_get+text()函数输出到脚本的测试结果信息中,如果没有登陆失败的对话框出现在截面上,那么说明程序登陆成功,当然我这里还用了一个数据驱动,最后不要忘了在判断完了要做一下小的细节处理,比如这里的 登陆失败对话框的确定处理和正常登陆后的退出处理..
[ 本帖最后由 picture 于 2006-11-15 16:58 编辑 ] |
|