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

来源:互联网 发布:如何卸载2008数据库 编辑:程序博客网 时间:2024/06/04 18:24

严小婷

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")

printParameter("OUTPUT1")

 

Action内容如下:

'IfParameter("INPUT2 ")="hi" Then

      Parameter("OUTPUT2")="pass"

      else

      Parameter("OUTPUT2")="faile"

'EndIf

 

 

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

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

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

 

 

描述性编程

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

 

 

直接描述性编程

计算器的的代码:

 

Dimcalcstr,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 = 1To 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")

'printactual

'printExpect

Ifcdbl(actual)= cdbl(Expect) Then

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

Else

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

EndIf

  

 

使用对象描述性编程

计算器的的代码:

SystemUtil.CloseProcessByName "calc.exe"

SystemUtil.Run "calc"

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

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

 

Dimmywindow,mybutton,objCol,i   定义

 

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

Setmybutton=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'使用

SetobjCol=Window(mywindow).ChildObjects(mybutton)

For i=0 toobjCol.count-1

        objCol(i).Click

Next

 Set mywindow=nothing'释放

Setmybutton=nothing

 

 

使用对象描述性编程

随机回帖

 

Dimmylink,mylinks,MyValue

setmylink=description.Create()

mylink("x").value=62

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

Setmylinks=Browser(":=").Page(":=").WebTable("htmltag:=TABLE","Index:=2").ChildObjects(mylink)

Randomize   ' Initializerandom-number generator.

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

'printMyValue

'printmylinks.count

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

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

 

 


错误处理方法1:

On ErrorResume Next'进行忽略错误

 

Dimresult

result=1/0'错误

result=1/2

printErr.number'错误号

printErr.Description'错误内容

Err.Clear'错误清楚

printErr.Description

 

On ErrorGoTo 0'取消忽略错误

 

错误处理方法2

File—settings—run

 

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

触发事件

恢复操作

恢复后运行设置

恢复

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


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

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

Window("FlightReservation").WinButton("Button_2").Click

Window("FlightReservation").WinButton("FLIGHT").Click

FunctionMyClick (objButton)

   IfobjButton.GetROProperty("enabled") Then

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

        MyClick=objButton.Click

        else

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

   End If

EndFunction

 

 

0 0
原创粉丝点击