51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3213|回复: 7
打印 上一主题 下一主题

!!!!!!!!!!!!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-4-23 10:37:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在练习测试winrunner自带的Flight 4B程序的脚本逻辑函数时,遇到了一个问题,大家请看下图:
这个是单击菜单栏File-Open Order,在Order No.文本框里输入5,打开窗口,红框里的逻辑本来应该是成功的,但在测试报告里却显示失败。

代码如下:
edit_get_text("# Tickets:",tickets);
edit_get_text("Price:",price);
edit_get_text("Total:",total);
if(tickets*price==total)
tl_step("total",0,"total is correct");
else
tl_step("total",1,"total is incorrect");

下面接着单击菜单栏File-Fax Order,打开窗口,红框里的逻辑是成功的,测试报告里也显示成功,这样的结果是正确的。

代码如下,根上面一样,除了Tickets前面多了一个符号#,这是用Winruner里的Insert—Function捕捉的函数,上面的代码也是通过这个方法获得的:
edit_get_text("# Tickets:",tickets);
edit_get_text("Price:",price);
edit_get_text("Total:",total);
if(tickets*price==total)
tl_step("total",0,"total is correct");
else
tl_step("total",1,"total is incorrect");

大家帮我看看,第一张图片的问题在哪里?我仔细查了下,发现第一张图的price和total文本框里含有美元符号$,会不会和这个有关系?

[ 本帖最后由 chenghan1980 于 2008-4-23 15:29 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2008-4-23 10:50:29 | 只看该作者
补充:我的WR版本是8.0

[ 本帖最后由 chenghan1980 于 2008-4-23 11:26 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-4-23 20:00:34 | 只看该作者
肯定有关系,把那些值打出来 再慢慢调试吧!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-4-24 08:23:12 | 只看该作者
怎样才能打出那些值?我不懂~
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-4-24 10:03:10 | 只看该作者
原帖由 lantianwei 于 2008-4-23 20:00 发表
肯定有关系,把那些值打出来 再慢慢调试吧!


edit_get_text("Tickets:",out_tickets);
printf("the tickets is %d",out_tickets);#这是调试信息,方便我确认输出
#这里打印出来的值是整型
edit_get_text("Price:",out_prices);
printf("the price is "& out_prices);#这里因为获取到的值是个货币型的数据,所以不能用%d
#这里打印出来的值都是货币型
edit_get_text("Total:",out_total);
printf("the total is " & out_total);
#这里打印出来的值也是货币型

请问lantianwei,LZ使用if(out_tickets * out_prices == out_total),这条语句去判断,肯定是不可以的,因为其中三个值的类型都不一样所以无法比较,这 里想请教lantianwei,我如何将他们的类型都转换成整型呢?
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-4-24 10:17:04 | 只看该作者

问题已经搞定。LZ可以参考

function convert_int(in a,out b)
{
        b=substr(a,2,10);
        return b;
}

set_window("Flight Reservation");
edit_get_text("Tickets:",out_tickets);
printf("the tickets is %d",out_tickets);#这是调试信息,方便我确认输出
edit_get_text("Price:",out_prices);
convert_int(out_prices,price);
printf("the price is "& price);#这里因为获取到的值是个货币型的数据,所以不能用%d
edit_get_text("Total:",out_total);
convert_int(out_total,total);
printf("the total is " & total);
if(out_tickets * price == total)
        tl_step("total",0,"total is correct");
else
        tl_step("total",1,"total is incorrect");

欢迎大家提出自己不同的好方法来解决,大家共同进步
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2008-4-24 15:24:29 | 只看该作者
我试试看,谢谢snoopyzxbc!
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-4-25 11:40:11 | 只看该作者
谢谢斑主送的鲜花,哈!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-9-20 10:37 , Processed in 0.092629 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表