51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2707|回复: 10
打印 上一主题 下一主题

if 判断有问题, 如何解释?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-8-24 17:48:31 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
这是WR自带的FLIGHT 例子, 我录制了脚本, 但在报告里显示的是"The Flights button was successfully enabled", 实际上 Insert Order 按钮是灰色的,处于不可用状态, 所以 if(value=0) 的判断结果应该是真, 这样else就不应该执行才对, 请问怎么解释呢?

set_window ("Flight Reservation");
obj_type("MSMaskWndClass","120106");

#Type in a value in the Fly From: box
list_select_item ("Fly From:", "Portland");
#Type in a value in the Fly To: box
list_select_item ("Fly To:", "Denver");
#Check that the Flights button is enabled

button_get_state ("Insert Order", value);

if (value = 0)
report_msg ("Flights button was not enabled. Check that values for Fly From and Fly To are valid");

else

report_msg ("The Flights button was successfully enabled");

[ 本帖最后由 小李美刀 于 2006-8-24 18:04 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

11#
发表于 2006-8-26 19:58:54 | 只看该作者
gui spy显示 置灰的按钮enabled=0 不置灰的enabled=1
再试试
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2006-8-25 17:06:18 | 只看该作者

还是不正确

斑竹,但现在下面的程序中按扭是灰色的,但却没有执行 else 语句,它执行的是第一条语句:report_msg ("The Flights button was successfully enabled"); 我还是不明白.

set_window ("Flight Reservation");
obj_type("MSMaskWndClass","120106");

#Type in a value in the Fly From: box
list_select_item ("Fly From:", "Portland");
#Type in a value in the Fly To: box
list_select_item ("Fly To:", "Denver");
#Check that the Flights button is enabled

button_get_state ("Insert Order", value);

if (value ==E_OK)
report_msg ("The Flights button was successfully enabled");


else

report_msg ("Flights button was not enabled. Check that values for Fly From and Fly To are valid");

[ 本帖最后由 小李美刀 于 2006-8-25 17:09 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2006-8-25 15:07:37 | 只看该作者
0是E_OK,也就是真,如果按钮是灰的,那就执行else
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2006-8-25 13:24:58 | 只看该作者

还是不正确

各位哥哥姐姐,还是不正确,下面的code中,Insert Order 按扭是可用状态的,但执行的仍是 If  语句的第一个分支,那判断还是错误的呀,该怎么解释吗?
set_window ("Flight Reservation");
obj_type("MSMaskWndClass","120106");

#Type in a value in the Fly From: box
list_select_item ("Fly From:", "Portland");
#Type in a value in the Fly To: box
list_select_item ("Fly To:", "Denver");
#Check that the Flights button is enabled
obj_mouse_click ("FLIGHT", 38, 30, LEFT);
set_window("Flights Table");
list_select_item("Flight","#3");
button_press("OK");
set_window("Flight Reservation");
obj_type("Name:","lihai");
wait(2);

button_get_state ("Insert Order", value);
if (value == 0)
{
report_msg ("Flights button was not enabled. Check that values for Fly From and Fly To are valid");
button_press("Insert Order");
}
else

report_msg ("The Flights button was successfully enabled");

[ 本帖最后由 小李美刀 于 2006-8-25 13:26 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2006-8-25 10:53:32 | 只看该作者
=是赋值,==是条件
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2006-8-25 10:50:51 | 只看该作者
楼上的兄弟,判断中的等于是使用恒等号"==" 的呀
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2006-8-24 18:30:30 | 只看该作者
可以写成:  value==0 吗 ???

那怎么解释呢,  好想偶有点晕
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-8-24 18:15:13 | 只看该作者
是不是判断语句不对呀? if (value = 0)
试一下 if (value == 0)
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-8-24 18:02:41 | 只看该作者
楼上的姐姐, 我设的 value = 0, 即灰色的按钮状态应该是真,  所以应该走第一条语句才对吧
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2006-8-24 17:59:20 | 只看该作者
1: Insert Order 按钮是灰色的
2:那么value的状态值应该是非真
3:非真即假,假即非零
4:所以i应该走else分支
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-22 20:18 , Processed in 0.076428 second(s), 30 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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