Anniephoto 发表于 2006-3-31 16:55:48

我用QTP这样测试对不对?

由于不能直接贴图,我描述下附件的页面:
有五个字段:ID、Username、Password、Validate、GroupID

条件:
ID:只能为整数
Username:不能为空、字符长度为50
Password:不能为空、字符长度为20
Validate:判断date格式是否正确

我按正确操作录制了该页面。之后在QTP中加入参数和IF语句作判断。举例:Username

参数设置两个:Test和空值

IF语句:
CheckUS=DataTable("USER")
If (CheckUS<>"") Then
    If (Len(CheckUS)>50) Then
          Reporter.ReportEvent micFail, "判断长度", "输入数据大于50"
    End If
ELSE               
    Reporter.ReportEvent micFail, "判断是否为空值", "User不能为空"
End If


我在参数中故意输入不符合条件的空值数据,由于程序本来就做了错误的判断,这样系统就会弹出错误信息,只能手动把弹出窗口关掉,QTP才能继续运行下去。ID、username、password、validate也是这样的情况。

我用QTP这样测试对不对啊?一定要手动把弹出窗口关掉才能继续,这样就不是自动测试了,我是不是还要做错误录制?


刚学QTP,不太明白。请指教,小妹在此多谢了!

Anniephoto 发表于 2006-3-31 16:58:34

在线等,请大侠们帮帮忙,教教我!QTP使用教程我看完了,但感觉还糊涂,所以发上来问问,谢谢大家了!

Horus_Ra 发表于 2006-3-31 17:08:22

当然不对……

你应该用Exist属性判断窗口是否存在……

Anniephoto 发表于 2006-3-31 17:42:25

谢谢Horus_Ra

是不是要先录制不符合条件,出现系统弹出窗口,就关闭的操作。
然后做判断,如果不符合条件,就执行上面所述的操作。

Exist属性是怎么用的?谢谢了。

我要做SQAD 发表于 2006-3-31 17:50:49

if object.exist then
...
end if

笑游天涯侠 发表于 2006-3-31 17:51:05

我也是刚接触QTP,但我认为3楼的不对吧;人家小M的意思是测试程序是否对输入的用户名的长度为0或大于50进行了判断,给出了提示信息。你的回答,是去判断用户名输入框存不存在。
具体该怎么设计,我也不清楚。希望有高手来回答。关注中

Anniephoto 发表于 2006-4-3 09:39:37

顶,继续求助~~~~~

谢放上在回复的筒子们:-)

Anniephoto 发表于 2006-4-3 09:40:31

晕,打错了好几个字: 谢谢上面回复的筒子们:-)

Anniephoto 发表于 2006-4-3 11:06:37

在线等

Anniephoto 发表于 2006-4-3 11:43:10

麻烦大侠们讲细点,谢谢了

yangkinki 发表于 2006-4-3 12:50:44

CheckUS=DataTable("USER")
If (CheckUS<>"") Then
    If (Len(CheckUS)>50) Then
      window("").check checkpoint("")      ' 检查点,检查是否有"超过50"的提示信息
    End If
ELSE               
      window("").check checkpoint("")      ' 检查点,检查是否有"用户名不能为空"的提示信息
End If

Anniephoto 发表于 2006-4-3 13:50:39

太谢谢yangkinki 版主,我现在就试试。sdlkfj



原帖由 yangkinki 于 2006-4-3 12:50 发表
CheckUS=DataTable("USER")
If (CheckUS<>"") Then
    If (Len(CheckUS)>50) Then
      window("").check checkpoint("")      ' 检查点,检查是否有& ...

Anniephoto 发表于 2006-4-3 17:32:26

弹出窗口不是window窗口,只是个弹出提示窗口,怎样取window("")?
我手动取了弹出窗口都是这样:

Browser("TUser.title").Dialog("Microsoft Internet Explorer")


问题来了:所有提示信息都是这样的?而且弹出提示的文字加不了文字检查点,QTP怎样区别哪个是提示ID错误窗口?或是USER错误窗口?


CheckUS=DataTable("USER")
If (CheckUS<>"") Then
    If (Len(CheckUS)>50) Then
      
        IfBrowser("TUser.title").Dialog("Microsoft Internet Explorer").Exist then
       Browser("TUser.title").Dialog("Microsoft Internet Explorer").Close
        else
                           .........

Anniephoto 发表于 2006-4-4 09:08:48

继续顶啊~~~~

mstiunicon 发表于 2006-4-4 09:50:44

原帖由 Anniephoto 于 2006-4-3 17:32 发表
弹出窗口不是window窗口,只是个弹出提示窗口,怎样取window("")?
我手动取了弹出窗口都是这样:

Browser("TUser.title").Dialog("Microsoft Internet Explorer")


问题来 ...
If (Len(CheckUS)>50) Then
            
       IfBrowser("TUser.title").Dialog("Microsoft Internet Explorer").Exist then
         dim checkMsg
         checkMsg=Browser("TUser.title").Dialog("Microsoft Internet Explorer").static("userid is required").getROproperty("text")
      if instr(checkMsg,"required")>0 Then
         Browser("TUser.title").Dialog("Microsoft Internet Explorer").Close
       End If

      else

Zee 发表于 2006-4-4 09:51:53

这个用例是怎么写的?

Horus_Ra 发表于 2006-4-4 13:13:48

原帖由 笑游天涯侠 于 2006-3-31 17:51 发表
我也是刚接触QTP,但我认为3楼的不对吧;人家小M的意思是测试程序是否对输入的用户名的长度为0或大于50进行了判断,给出了提示信息。你的回答,是去判断用户名输入框存不存在。
具体该怎么设计,我也不清楚。希望 ...



你没明白我的意思。

判断窗口是否存在的原因是,如果它存在的话就要验证上面的提示,并关闭它,你不关闭它如何继续执行??

Anniephoto 发表于 2006-4-4 14:42:59

谢谢mstiunicon,我就是想要得到这样的结果,但在运行到

checkMsg=Browser("TUser.title").Dialog("Microsoft Internet Explorer").static("userid is required").getROproperty("text")

有错误,错误如图





原帖由 mstiunicon 于 2006-4-4 09:50 发表

If (Len(CheckUS)>50) Then
            
       IfBrowser("TUser.title").Dialog("Microsoft Internet Explorer").Exist then
         dim checkMsg
         checkMsg=Brows ...

minliu 发表于 2006-4-4 15:10:32

请教楼上各位:

这些代码是在录制好后插入的吗,能不能提供一个完整简单的类似的脚本,刚学,谢谢!!!!!!!!!

Anniephoto 发表于 2006-4-4 15:21:31

是录制好后插入的脚本
页: [1] 2
查看完整版本: 我用QTP这样测试对不对?