51testing自动化测试学习第三天

严小婷

2013.10.27

QTP第三天

 

环境变量设置、使用、导入

语句导入:

Environment.LoadFromFile("C:\Users\usera\Desktop\qtp3\Test1\环境变量.xml")

workfolder1 = Environment.Value("workfolder1")

 

 

导入DataTable

DataTable.ImportSheet  workfolder1&"\TestCase.xls", "main", "Global"

 

 

Action传参的使用

MainAction(Action1)进行insert call to new Actionnamelogin,选择After the current step

MainAction(Action1)Action propertiesParameter添加INPUT1OUTPUT1

login(Action)Action propertiesParameter添加INPUT2 OUTPUT2

login(Action)call properties—Parameter---(参数化为MainAction的变量)

 

MainAction的内容如下:

Parameter("INPUT1")="test1"

RunAction "login", oneIteration, Parameter("INPUT1"), Parameter("OUTPUT1")

print Parameter("OUTPUT1")

 

Action内容如下:

'If Parameter("INPUT2 ")="hi" Then

       Parameter("OUTPUT2")="pass"

       else

       Parameter("OUTPUT2")="faile"

'End If

 

 

往报告中添加内容:成功OR失败

reporter.ReportEvent micPass,"Login pass","Login successful"

reporter.ReportEvent micFail,"Login fail","Login failed"

 

 

描述性编程

WebElement("innertext:="&uname,"y:=42")

 

 

直接描述性编程

计算器的的代码:

 

Dim calcstr,lens,i,Expect,actual

calcstr=datatable("calcstr")

Expect=datatable("Expect")

lens=len(calcstr)

 

SystemUtil.CloseProcessByName "calc.exe"

SystemUtil.Run "calc"

Window("text:=计算器").Activate

Window("text:=计算器").WinButton("text:=C").Click

 

For i = 1 To lens

         Select Case mid(calcstr,i,1)

                   Case "+"   Window("text:=计算器").WinButton("text:=\"&mid(calcstr,i,1)).Click

                   Case "*"   Window("text:=计算器").WinButton("text:=\"&mid(calcstr,i,1)).Click

                   case Else   Window("text:=计算器").WinButton("text:="&mid(calcstr,i,1)).Click

         End Select

Next

 

actual=Window("text:=计算器").WinEdit("nativeclass:=Edit").GetROProperty("text")

'print actual

'print Expect

If cdbl(actual)= cdbl(Expect) Then

Reporter.ReportEvent micPass, "OK", "OK"

Else

Reporter.ReportEvent micFail, "NO", "NO"

End If

  

 

使用对象描述性编程

计算器的的代码:

SystemUtil.CloseProcessByName "calc.exe"

SystemUtil.Run "calc"

Window("text:=计算器").Activate

Window("text:=计算器").WinButton("text:=C").Click

 

Dim mywindow,mybutton,objCol,i   定义

 

Set mywindow=description.Create()'创建虚拟对象

Set mybutton=description.Create()

mywindow("Class Name").value="Window"'进行对象属性描述

mywindow("text").value="计算器"

 

mybutton("Class Name").value="WinButton"

'mybutton("text").value="1"

mybutton("text").value="\d+"'正则表达式

mybutton("x").value="62"

 

'Window(mywindow).WinButton(mybutton).Click'使用

Set objCol=Window(mywindow).ChildObjects(mybutton)

For i=0 to objCol.count-1

         objCol(i).Click

Next

 Set mywindow=nothing'释放

Set mybutton=nothing

 

 

使用对象描述性编程

随机回帖

 

Dim mylink,mylinks,MyValue

set mylink=description.Create()

mylink("x").value=62

mylink("href").value="http://172.168.1.202:8000/upload/read\.php\?tid=\d+"

Set mylinks=Browser(":=").Page(":=").WebTable("html tag:=TABLE","Index:=2").ChildObjects(mylink)

Randomize   ' Initialize random-number generator.

MyValue = Int((mylinks.count * Rnd) )   ' Generate random value between 1 and 6.

'print MyValue

'print mylinks.count

'print (cstr(mylinks(MyValue).GetRoProperty("href")))

Browser(":=").Navigate (cstr(mylinks(MyValue).GetRoProperty("href")))

 

 


错误处理方法1:

On Error Resume Next'进行忽略错误

 

Dim result

result=1/0'错误

result=1/2

print Err.number'错误号

print Err.Description'错误内容

Err.Clear'错误清楚

print Err.Description

 

On Error GoTo 0'取消忽略错误

 

错误处理方法2

File—settings—run

 

错误处理方法3:场景恢复

触发事件

恢复操作

恢复后运行设置

恢复

具体步骤如下自行探索(图片上传比较难)


事先判断button能不能用,能用就点击,不能就不点击

RegisterUserFunc "WinButton", "Click", "MyClick" ,True

Window("Flight Reservation").WinButton("Button_2").Click

Window("Flight Reservation").WinButton("FLIGHT").Click

Function MyClick (objButton)

   If objButton.GetROProperty("enabled") Then

         Reporter.ReportEvent micDone, "Button satus", "enabled"

         MyClick=objButton.Click

         else

         Reporter.ReportEvent  micWarning, "Button satus", "disabled"

   End If

End Function

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值