请问用Winrunner可以做没有界面的测试吗?
现在录入界面在客户那端,而我们公司内部又要进行测试,没有界面,开发就自己写了报文,我们测试就直接发送报文,然后再看返回的报文是否正确。请问:像这种测试,可以用WinRunner做吗?
如果可以,那该如何进行呢?
不知有没有朋友遇到过? 我觉得没有界面的软件最好不要用WR,QTP测,因为即使可以测效果也不会很好,所以建议用白盒测试工具,特别是专门对无界面软件的测试工具。 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表中取数据,以实现用户分组,这个表我就不提供了,大家见谅哈 补充说明:
UserName,pwd,server,port,nHideMe等参数在脚本中另有定义,这里仅做格式说明用。
回复 3# 的帖子
学习中.....软件 测试
估计不可以winrunner
学习中 学习~哎,迷茫中····
工作中很难使用工具,只学习但用不到实际的工作中,,,,
页:
[1]