代码增强及调试方法_第1页
代码增强及调试方法_第2页
代码增强及调试方法_第3页
代码增强及调试方法_第4页
代码增强及调试方法_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、代码增强及调试方法 靳少龙主要内容 1.视图模式 2.参数化 3.检查点 4.Action操作1.视图模式 1.关键字视图 适合初级用户使用 2.专家视图 适合熟悉VBScript用户使用1.1关键字视图模式 最大的优点就是用户无需专业的知识,即使不是自动化测试工程师,可以制定自己需要的业务流程,并且可以方便的修改1.2专家视图模式 它可以直接修改脚本,以增强测试脚本的功能,但它要求自动化测试工程师具有较强的脚本编写能力2.参数化 1.参数化类型 Date Table 数据表格 缺点:每次迭代整个脚本全部运行,针对某个业务不适用 Environment xml 适用多个Action调用同一个参

2、数,缺点是使用时每个参数需要指定 Random Number 随机数2.1DateTable参数化Demo Dialog(Login).WinEdit(Agent Name:).Set DataTable(UserName, dtGlobalSheet) Dialog(Login).WinEdit(Agent Name:).Type micTab Dialog(Login).WinEdit(Password:).SetSecure DataTable(PassWord, dtGlobalSheet) Dialog(Login).WinButton(OK).Click Window(Flight

3、 Reservation).Close2.1.1参数化Demo可能遇到的问题 第一次没问题,第二次出现下面错误2.1.2解决方法 原因:系统还没关闭程序,脚本已经开始执行 1. wait(5) 2.systemutil.run(D:Program Files (x86)Mercury InteractiveQuickTest Professionalsamplesflightappflight4a.e) 3.system.CloseProcessByName(flight4a.exe)2.2 XML参数化Demo Dialog(Login).WinEdit(Agent Name:).Set E

4、nvironment(username) Dialog(Login).WinEdit(Agent Name:).Type micTab Dialog(Login).WinEdit(Password:).SetSecure Environment(password) Dialog(Login).WinEdit(Password:).Type micReturn Window(Flight Reservation).Close2.3随机数DemoDialog(Login).WinEdit(Agent Name:).Set MERCURY“Dialog(Login).WinEdit(Password

5、:).SetSecure “MERCURYDialog(Login).WinButton(OK).ClickWindow(Flight Reservation).ActiveX(MaskEdBox).Type 090912Window(Flight Reservation).WinComboBox(Fly From:).Select FrankfurtWindow(Flight Reservation).WinComboBox(Fly To:).Select LondonWindow(Flight Reservation).WinButton(FLIGHT).ClickWindow(Fligh

6、t Reservation).Dialog(Flights Table).WinList(From).Select 13130 FRA 01:24 PM LON 02:07 PM LH $112.60Window(Flight Reservation).Dialog(Flights Table).WinButton(OK).ClickWindow(Flight Reservation).WinEdit(Name:).Set JacWindow(Flight Reservation).WinButton(Insert Order).ClickWindow(Flight Reservation).

7、CloseData Driver 自动检测脚本中可能需要的参数化的选项 ToolsData Driver2.2 外部数据源参数化 一般有四种形式 文本文档 Excel 格式一:导入DataTable 格式二:使用Excel XML 数据库2.2.1文本文档格式 两种格式 一: 二:2.2.1格式一Const ForReading = 1 定义一个常量 以只读模式打开文件,不能对此文件进行写操作filename=C:UsersABCDesktopdata1.txt 文件路径Set Fso = CreateObject(Scripting.FileSystemObject)Set DataFile

8、= Fso.OpenTextFile(filename,ForReading,False)DataFile.SkipLine 在读取TextStream 文件时跳过下一行。如果读的文件没有打开,则产生一个错误。Do while DataFile.AtEndOfLinetrueSystemUtil.Run(D:Program Files (x86)Mercury InteractiveQuickTest Professionalsamplesflightappflight4a.exe)ReadString = DataFile.ReadLine 从 TextStream 文件中读取一整行字符,并

9、以字符串返回结果。DataStr=split(ReadString,) 用于把一个ReadString用逗号分割成字符串数组。Dialog(Login).WinEdit(Agent Name:).Set DataStr(0) 访问字符串数组的第一个字符Dialog(Login).WinEdit(Password:).SetSecure DataStr(1)Dialog(Login).WinButton(OK).ClickWindow(Flight Reservation).Closewait(3)loopDataFile.closeSet Fso=Nothing2.2.1格式二ForReadi

10、ng = 1filename=C:UsersABCDesktopdata.txt 文件路径Set Fso = CreateObject(Scripting.FileSystemObject)Set DataFile= Fso.OpenTextFile(filename,ForReading,False)Dim ArrFileLines(),ii=0Do while DataFile.AtEndOfLine trueReDim Preserve ArrFileLines(i)动态分配数组空间ArrFileLines(i) = DataFile.ReadLinei=i+1LoopDataFile.

11、CloseSet Fso=NothingFor i = LBound(ArrFileLines) to UBound(ArrFileLines) Step 2SystemUtil.Run(D:Program Files (x86)Mercury InteractiveQuickTest Professionalsamplesflightappflight4a.exe)Dialog(Login).WinEdit(Agent Name:).Set ArrFileLines(i) 访问字符串数组的第一个字符Dialog(Login).WinEdit(Password:).SetSecure ArrF

12、ileLines(i+1) Dialog(Login).WinButton(OK).ClickWindow(Flight Reservation).Closewait(3)Next2.2.2Excel格式一获得数据文件路径,并将数据文件导入到DataTable运行表中DataStr= C:UsersABCDesktopdata.xlsDataTable.AddSheet(TestData)DataTable.ImportSheet DataStr,Sheet1,TestDatawait 1 For i=1 to DataTable.GetSheet(TestData).GetRowCount

13、systemutil.Run (D:Program Files (x86)Mercury InteractiveQuickTest Professionalsamplesflightappflight4a.exe) DataTable.SetCurrentRow i 把i设置为当前执行行 UserName=DataTable.Value(username,TestData) PassWord=DataTable.Value(password,TestData) Dialog(Login).WinEdit(Agent Name:).Set UserName Dialog(Login).WinEd

14、it(Password:).SetSecure PassWord Dialog(Login).WinButton(OK).Click Window(Flight Reservation).Close Next2.2.2Excle格式二DataStr= C:UsersABCDesktopdata1.xlsSet ExlObj=CreateObject(Excel.Application)ExlObj.Visible = false 设置为true的情况,文档会打开ExlObj.DisplayAlerts = falseSet book=ExlObj.Workbooks.Open(DataStr)

15、Set sheet=book.Worksheets(Sheet1)For i=2 to sheet.usedrange.rows.countsystemutil.Run(D:Program Files (x86)Mercury InteractiveQuickTest Professionalsamplesflightappflight4a.exe)UserName=ExlObj.WorkSheets(Sheet1).Cells(i,1) 或者UserName=sheet.Cells(i,1)PassWord=ExlObj.WorkSheets(Sheet1).Cells(i,2) 或者Pas

16、sWord=sheet.Cells(i,2)Dialog(Login).WinEdit(Agent Name:).Set UserNameDialog(Login).WinEdit(Password:).SetSecure PassWordDialog(Login).WinButton(OK).ClickWindow(Flight Reservation).CloseNextExlObj.QuitSet ExlObj = nothing2.2.3XMLDim xmlDoc As DOMDocument需要引用xml对象set xmlDoc=CreateObject(microsoft.xmld

17、om)xmlDoc.load(C:UsersABCDesktopdata.xml)Set root=xmlDoc.documentElementFor i = 0 To root.childNodes.Length-1 systemutil.Run(D:Program Files (x86)Mercury InteractiveQuickTest Professionalsamplesflightappflight4a.exe) Set TestCases = root.childNodes.Item(i) For j = 0 To TestCases.childNodes.Length-1

18、Set TestCase = TestCases.childNodes.Item(j) If cstr(TestCase.nodeName)=UserName Then Dialog(Login).WinEdit(Agent Name:).Set TestCase.text end if If cstr(TestCase.nodeName)=PassWord Then Dialog(Login).WinEdit(Password:).SetSecure TestCase.text End If Next wait 2Dialog(Login).WinButton(OK).Click Windo

19、w(Flight Reservation).Close NextSet root=nothingSet xml=nothing2.2.4数据库strDB=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:data.mdb;Persist Security Info=FalsestrTableName=dataSet Conn=createobject(adodb.connection)Set Rst=createobject(adodb.recordset)Conn.open strDBRst.open select * from +strTable

20、Name,Conn,2,2Dim strTest(1)Rst.MoveFirstDo while not Rst.eof systemutil.Run(D:Program Files (x86)Mercury InteractiveQuickTest Professionalsamplesflightappflight4a.exe) strTest(0)=trim(cstr(Rst.fields(1) strTest(1)=trim(cstr(Rst.fields(2) Dialog(Login).WinEdit(Agent Name:).Set strTest(0) Dialog(Login).WinEdit(Password:).SetSecure strTest(1)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论