|
winrunner可以用于无界面测试。解决思路主要有两条:
1.对于简单应用,可以考虑自行开发测试程序,用编程工具提供的框架,加上调用被测功能的接口,然后与界面按钮做关联,即可通过录制测试程序的界面操作来实现你的目的。
2.对于客户端程序,某些操作需要判断返回值,此时可以直接调用程序的动态库接口实现。
例如,某即时通讯系统需要测试客户端登录的成功率以及各种失败的原因,通过录制操作界面只能获得登录成功率,无法获知各种失败原因在总失败率中的比例,而通过调用动态库接口的形式则可以很容易的获取到详细信息。
这里给出实例脚本,供大家参考:
#加载动态库
load_dll("c:\\"&"xxx.dll");
#声明函数
extern int commInitInstance();
extern int commExitInstance();
extern int commLogin(string,string,string,unsigned int,unsigned int);
extern int commLogout();
#调用函数
table = "groups.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);
for (iCount = 1;iCount<=ddt_val(table,"groupsize") ;iCount++)
{
commInitInstance();
UserName = ddt_val(table, "groupbegin")+iCount-1;
nLogin = commLogin(UserName,pwd,server,port,nHideMe);
if (nLogin==1)
{
report_msg(UserName&"登录成功");
}
else
{
report_msg(UserName&"登录失败,错误码"&nLogin);
}
commLogout();
commExitInstance();
}
}
ddt_close(table);
unload_dll("c:\\"&"xxx.dll");
循环部分是从一个excel表中取数据,以实现用户分组,这个表我就不提供了,大家见谅哈 |
|