精华内容
下载资源
问答
  • QTP参数化

    2011-06-14 15:21:00
    QTP参数化 参数化种类:数据表、环境变量、随机数、外部数据参数化1.数据表(data table)方式参数化 a、file-->settings-->run下data table iterations中设置控制的是数据表中global里数据的运行...

    QTP参数化

    参数化种类:数据表、环境变量、随机数、外部数据参数化
    1.
    数据表(data table)方式参数化
    a
    file-->settings-->rundata table iterations中设置控制的是数据表中global里数据的运行方式;global是全局的!当运行方式设置为运行全部或多行时,运行几行数据程序就要回放几次!!不能重新设置!!
    b
    edit-->action-->action call properties-->rundata table iterations中设置控制的是数据表中该action里数据的运行方式;local 是局部的!当运行方式设置为运行全部或多行时,运行几行数据action”就要回放几次!!
    进一步说明:
    a、当global有多行数据file-->settings-->run On all Rows action有多行数据action call property->Run On all Rows 程序每次运行时,action中的每行都要执行一次
    b
    、当global 有多行数据file-->settings-->run On all Rows action有多条数据,action call property->Run one iteration only 而且global的行数>action的行数,action执行到最后一行后,不管此时global 的行数为几,下次回放时action都执行最后一行! 如果global的行数<action的行数,action就执行不到最后一行
    c
    action call property->Run from rows to rows,就结合上面所说可以理解
    d
    、当同一个action中有多个参数时,且action call property->Run On all Rows 这个时候每个参数的数据个数需要相等

    2.随机数(random)参数化
    a
    、可以指定随机数的范围
    b
    、可以为该随机数指定名称,同时需要指定该随机参数产生新随机数的方式。这种情况下该随机数可以在别处使用。
    产生新随机数的方式:
    a
    for each action iteration 迭代运行相同的action随机数不变化,运行不同action才重新产生一次随机数

    在一个action保持不变
    b
    for each test iteration 在每一个测试运行的完整过程,随机数保持不变。重复执行该测试的时候随机数变化,例如在data table设置的global参数执行循环情况下。

    在一次系统迭代保存不变
    c
    once per entire test run在整个测试中随机数保持不变,相当于只产生一次随机数

    在整个测试中保持不变

    3.环境变量(environment)参数化
    a
    、环境变量的来源有两种:内部环境变量和用户自定义环境变量。内部环境变量是QTP默认定义的一组变量,包括一些系统信息、项目信息等,例如:testdirOS等信息。用户定义的环境变量需要用户自己定义变量名和值,支持从外部导入,格式为XML文件。
    b
    、环境变量做参数有一定局限性,它对数据操作没有数据表灵活,环境变量用的最多的还是数据的共享
    c
    、环境变量做参数时,每个参数值都需要指定,而且不能批量生成,所以它有一定的应用场景:当一个test中的不同action需要同样一个参数,用环境变量去参数化常量是个很好的方法;其次就是不同的test需要用到同样的参数时,用环境变量可以很好解决这个问题

    4.外部数据源实现参数化
    利用外部数据驱动脚本的运行,这是经常用到的方法,这样可以很方便的组织测试数据。相对前三种方法,这种方式数据的读取、控制稍有些麻烦。下面以常见的几种方式进行说明。
    a
    、数据文件以excel格式组织
    Excel组织测试数据是最常用的了。此种驱动可以采用两种方式,将数据ImportDataTab中或是利用com来操纵Excel文件。下面给出这两种方式的示例代码。(输入flight用户名和密码)

    <!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter" /> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0" /> <v:f eqn="sum @0 1 0" /> <v:f eqn="sum 0 0 @1" /> <v:f eqn="prod @2 1 2" /> <v:f eqn="prod @3 21600 pixelWidth" /> <v:f eqn="prod @3 21600 pixelHeight" /> <v:f eqn="sum @0 0 1" /> <v:f eqn="prod @6 1 2" /> <v:f eqn="prod @7 21600 pixelWidth" /> <v:f eqn="sum @8 21600 0" /> <v:f eqn="prod @7 21600 pixelHeight" /> <v:f eqn="sum @10 21600 0" /> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect" /> <o:lock v:ext="edit" aspectratio="t" /> </v:shapetype><v:shape id="图片_x0020_1" o:spid="_x0000_i1028" type="#_x0000_t75" alt="QTP参数化 - 杰哥 - 杰哥在线" style='width:270.75pt;height:273pt;visibility:visible; mso-wrap-style:square'> <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image001.jpg" o:title="QTP参数化 - 杰哥 - 杰哥在线" /> </v:shape><![endif]-->

    方式一、导入到DataTable
    '
    获得数据文件路径,并将数据文件导入到DataTable运行表中
    DataStr= "d:\data.xls"
    DataTable.AddSheet("TestData")
    DataTable.ImportSheet DataStr,"Sheet1","TestData"
    wait 1
    '
    输入用户名和密码
    For i=1 to DataTable.GetSheet("TestData").GetRowCount
    systemutil.Run "D:\Program Files\QuickTest Professional\samples\flight\app\flight4b.exe"
    DataTable.SetCurrentRow i '
    i设置为当前执行行
    UserName=DataTable.Value("UserName","TestData")
    PassWord=DataTable.Value("PassWord","TestData")
    Dialog("Login").WinEdit("Agent Name:").Set UserName
    Dialog("Login").WinEdit("Password:").SetSecure PassWord
    wait 1
    Dialog("Login").WinButton("Cancel").Click
    Next

    方式二、利用com操纵Excel
    DataStr= "d:\data.xls"
    Set ExlObj=CreateObject("Excel.Application")
    ExlObj.Visible = false'
    设置为true的情况,文档会打开
    ExlObj.DisplayAlerts = false
    Set book=ExlObj.Workbooks.Open(DataStr)
    Set sheet=book.Worksheets("Sheet1")

    For i=2 to sheet.usedrange.rows.count
    systemutil.Run "D:\Program Files\QuickTest Professional\samples\flight\app\flight4b.exe"
    UserName=ExlObj.WorkSheets("Sheet1").Cells(i,1) '
    或者UserName=sheet.Cells(i,1)
    PassWord=ExlObj.WorkSheets("Sheet1").Cells(i,2) '
    或者PassWord=sheet.Cells(i,2)
    Dialog("Login").WinEdit("Agent Name:").Set UserName
    Dialog("Login").WinEdit("Password:").SetSecure PassWord
    wait 2
    Dialog("Login").WinButton("Cancel").Click
    Next
    ExlObj.Quit
    Set ExlObj = nothing

    b、数据文件以txt格式组织

    <!--[if gte vml 1]><v:shape id="图片_x0020_2" o:spid="_x0000_i1027" type="#_x0000_t75" alt="QTP参数化 - 杰哥 - 杰哥在线" style='width:300pt;height:301.5pt;visibility:visible; mso-wrap-style:square'> <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image002.jpg" o:title="QTP参数化 - 杰哥 - 杰哥在线" /> </v:shape><![endif]-->

    Const ForReading=1
    TFilePath= "d:\data.txt"
    Set Fso3 = CreateObject("Scripting.FileSystemObject")
    Set DataFile= Fso3.OpenTextFile(TFilePath,ForReading,False)
    DataFile.SkipLine
    Do while DataFile.AtEndOfLine<>true
    systemutil.Run "D:\Program Files\QuickTest Professional\samples\flight\app\flight4b.exe"
    ReadString = DataFile.ReadLine
    DataStr=split(ReadString,",")
    Dialog("Login").WinEdit("Agent Name:").Set DataStr(0)
    Dialog("Login").WinEdit("Password:").SetSecure DataStr(0)
    wait 2
    Dialog("Login").WinButton("Cancel").Click
    loop
    DataFile.close
    Set Fso3=Nothing

    c、数据文件以数据库组织,下面代码是用Access做的,其他类型数据库类似

    <!--[if gte vml 1]><v:shape id="图片_x0020_3" o:spid="_x0000_i1026" type="#_x0000_t75" alt="QTP参数化 - 杰哥 - 杰哥在线" style='width:234pt;height:188.25pt;visibility:visible; mso-wrap-style:square'> <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image003.jpg" o:title="QTP参数化 - 杰哥 - 杰哥在线" /> </v:shape><![endif]-->

    strDB="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\data.mdb;Persist Security Info=False"
    strTableName="data"
    Set Conn=createobject("adodb.connection")
    Set Rst=createobject("adodb.recordset")
    Conn.open strDB
    Rst.open "select * from "+strTableName,Conn,2,2
    Dim strTest(1)
    Rst.MoveFirst
    Do while not Rst.eof
    systemutil.Run "D:\Program Files\QuickTest Professional\samples\flight\app\flight4b.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)
    Rst.MoveNext
    wait 2
    Dialog("Login").WinButton("Cancel").Click
    Loop
    Rst.close
    Set Conn=nothing

    d、数据文件以xml格式组织

    <!--[if gte vml 1]><v:shape id="图片_x0020_4" o:spid="_x0000_i1025" type="#_x0000_t75" alt="QTP参数化 - 杰哥 - 杰哥在线" style='width:276pt; height:225pt;visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image004.jpg" o:title="QTP参数化 - 杰哥 - 杰哥在线" /> </v:shape><![endif]-->



    Dim xmlDoc 'As DOMDocument
    需要引用xml对象
    set xmlDoc=CreateObject("microsoft.xmldom")
    xmlDoc.load("d:\testdata.xml")
    Set Root=xmlDoc.documentElement
    For i = 0 To Root.childNodes.Length-1
    systemutil.Run "D:\Program Files\QuickTest Professional\samples\flight\app\flight4b.exe"

    Set TestCases = Root.childNodes.Item(i)
    For j = 0 To TestCases.childNodes.Length-1
    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 2
    Dialog("Login").WinButton("Cancel").Click

    Next
    Set root=nothing
    Set xml=nothing

    展开全文
  • QTP 参数化

    2015-01-13 10:12:00
     这是QTP提供的一种方法,也是最容易实现参数化的一种方式。QTP针对DataTable对象提供了很多方法,可以对DataTable进行灵活的操作。DataTable分为Global和Local两种,Global所有的Action都可以用,而Loc...

    PS:方法内容是转的别人的,我们项目中只用到了方法三,主要用于将测试数据与业务分离,增强测试数据的可维护性。

    方法一、DataTable方法

      这是QTP提供的一种方法,也是最容易实现参数化的一种方式。QTP针对DataTable对象提供了很多方法,可以对DataTable进行灵活的操作。DataTable分为Global和Local两种,Global所有的Action都可以用,而Local就是只能当前Action自己用。

      通过DataTable做参数化最直接的方法就是在Keyword View视图下通过选项进行,这样即方便又减少出错的几率。单击要参数化项目的value列,选择出现的箭头弹出Value Configuration Option对话框,在这里可以很方便的进行参数化。

                                                       

      Parameters选择数据来源类型。下拉列表选择DataTable后,选择所要使用的数据表Global还是local,最后选择name参数取自哪列,点击确定后即可完成参数化过程。

    代码如下:Dialog("Login").WinEdit("Agent Name:").Set DataTable("user", dtGlobalSheet)

      这是最简单最直接的方式。用这种方式需要注意,在File---Seting---Run需要做相应设置,否则运行结果很容易出错,使实际取到的参数值和预期的不一样或是循环不正确的错误。最好的方式是通过写语句来控制迭代过程中的取值。在脚本开发过程中,这种方式是最常用的。类似如下代码:

    复制代码
    For i=0 to DataTable.GetCurrentRow

      Dialog("Login").WinEdit("Agent Name:").Set DataTable("user", dtGlobalSheet)

      DataTable.SetNextRow

    Next
    复制代码

                             

    关于DataTable iterations的问题:

    a、 file-->settings-->run下data table iterations中设置控制的是数据表中global里数据的运行方式;global是全局的!当运行方式设置为运行全部或多行时,运行几行数据“程序”就要回放几次!!不能重新设置!!
    b、edit-->action-->action call properties-->run下data table iterations中设置控制的是数据表中该action里数据的运行方式;local 是局部的!当运行方式设置为运行全部或多行时,运行几行数据“该action”就要回放几次!! 
    进一步说明:

    • 当global有多行数据file-->settings-->run On all Rows ;action有多行数据action call property->Run On all Rows 程序每次运行时,action中的每行都要执行一次
    • 当global 有多行数据file-->settings-->run On all Rows ;action有多条数据,action call property->Run  one iteration only 而且global的行数>action的行数,当action执行到最后一行后,不管此时global 的行数为几,下次回放时action都执行最后一行! 如果global的行数<action的行数,action就执行不到最后一行
    • action call property->Run from rows to rows,就结合上面所说可以理解
    • 当同一个action中有多个参数时,且action call property->Run On all Rows, 这个时候每个参数的数据个数需要相等

    方法二、环境变量实现参数化
      Environment 对象提供对环境变量的访问。环境变量的来源有两种方式:内部环境变量和用户定义的环境变量,其中后者支持从外部导入,格式为XML文件。用环境变量做参数化有一定的局限性,因为环境变量对数据的操作没有方法一灵活,所以环境变量用的最多还是数据的共享。在此暂作为一种方式来学习,灵活运用就好。

      首先说用户定义的环境变量,需要自己定义变量名和值。定义好后就可以用这些变量去参数化脚本中的常量。

      Dialog("Login").WinEdit("Agent Name:").Set Environment("test3")

                                           

      这样做参数时,每个参数值都需要指定,而且不能批量的生成。所以它有一定的应用场景:当一个Test中的不同Action需要同样一个参数,用环境变量去参数化常量是很好的一种方式;其次就是不同的Test需要用到同样的参数时,用环境变量可以很好的解决这个问题。

      其次说内部环境变量。它是QTP默认定义的一组变量,包括一些系统信息、项目信息等。目前用到最多的是TestDir,利用这个可以实现一个相对目录的目的。具体应用,在做一个数据驱动的脚本时,将数据文件放到脚本文件夹中,然后利用Environment("TestDir")+FileName导入数据文件。这样可以很方便的移植,而不需要考虑将数据文件放到具体目录下。 

    方法三、外部数据源实现参数化

      利用外部数据驱动脚本的运行,这是经常用到的方法,这样可以很方便的组织测试数据。相对前两种方法,这种方式数据的读取、控制稍有些麻烦。下面以常见的几种方式进行说明。

    1. 数据文件以Excel组织

      用Excel组织测试数据是最常用的了。此种驱动可以采用两种方式,将数据Import到DataTab中或是利用com来操纵Excel文件。

      方式1、导入到DataTable中

    复制代码
    DataStr = Environment("TestDir")&"\Login.xls"

    DataTable.AddSheet("login")
    DataTable.ImportSheet DataStr,"Sheet1","login"

    rowCount1 = DataTable.GetSheet("Login").GetRowCount
    For i = 1 to rowCount1
      SystemUtil.Run "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe"
     datatable.SetCurrentRow(i)
      user = DataTable.Value("user","Login")
     pwd = DataTable.Value("pwd","Login")
      Dialog("Login").WinEdit("Agent Name:").Set user
      Dialog("Login").WinEdit("Password:").Set pwd
       Dialog("Login").WinButton("OK").Click
    Window("Flight Reservation").WinMenu("Menu").Select "File;Exit"
    Next
    复制代码

                                                             

    注意:QTP支持xls后缀的excel文档,不支持xlsx后缀的

      方式2、利用com操纵Excel

    复制代码
    DataStr=Environment("TestDir") & "\Login.xls"
     
    Set ExcelApp = createobject("excel.application") '创建ExcelApp对象
    ExcelApp.Visible = true
    ExcelApp.DisplayAlerts = false
     
    set book = ExcelApp.Workbooks.Open(DataStr) '打开excel文件工作簿
    Set ExcelShe = book.Worksheets("Sheet1").usedrange '这里需要用到UsedRange,表示Sheet1所使用单元格的范围,否则会将所有单元格都打印出
    
    rowcount = ExcelShe.rows.count '计算使用的单元格行数
     
    For i = 2 to rowcount
     SystemUtil.Run "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe"
     
     user = ExcelApp.Worksheets("Sheet1").cells(i,1)
     pwd = ExcelApp.Worksheets("Sheet1").cells(i,2)
     
     Dialog("Login").WinEdit("Agent Name:").Set user
     Dialog("Login").WinEdit("Password:").Set pwd
     
     Dialog("Login").WinButton("OK").Click
     Window("Flight Reservation").WinMenu("Menu").Select "File;Exit"
     
    Next
    Set ExcelShe =  nothing
    book.close '关闭工作簿对象
    ExcelApp.Quit '退出ExcelApp对象
    复制代码

    备注:ExcelApp.Visible 是否把excel显示为当前窗口。

    2. 数据文件以txt组织

    复制代码
    Const ForReading=1  '以只读方式打开文件
    TFilePath= Environment("TestDir")&"\Login.txt"

    Set Fso = CreateObject("Scripting.FileSystemObject")
    Set DataFile= Fso.OpenTextFile(TFilePath,ForReading,False)

    DataFile.SkipLine '在读取TextStream 文件时跳过下一行。如果读的文件没有打开,则产生一个错误。
    Do while DataFile.AtEndOfLine<>true

    ReadString = DataFile.ReadLine '从 TextStream 文件中读取一整行字符,并以字符串返回结果。
    DataStr=split(ReadString,",") '用于把一个ReadString用逗号分割成字符串数组。
    Dialog("Login").WinEdit("Agent Name:").Set DataStr(0) '访问字符串数组的第一个字符
    Dialog("Login").WinEdit("Password:").SetSecure DataStr(1)
    loop

    DataFile.close
    Set Fso=Nothing
    复制代码

                                                  

    备注:AtEndOfLine 属性仅应用于以读方式打开的 TextStream 文件,否则会出现错误。

    3. 数据文件以数据库组织

    用access创建数据库Login,并创建表Login,字段分别为user,pwd,表创建时自动产生主键ID

                                                  

    复制代码
    strDB="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\HP\QuickTest Professional\Tests\Flight\FlightLogin\Login.mdb;"_
    &"Persist Security Info=False"
    strTableName="Login"
    Set Conn=createobject("adodb.connection")
    Set Rst=createobject("adodb.recordset")

    Conn.open strDB
    Rst.open "select * from "+strTableName,Conn,2,2

    Dim strTest(1) '声明一个长度为2的数组
    Rst.MoveFirst
    Do while not Rst.eof

    strTest(0)=trim(cstr(Rst.fields(1))) 'cstr 把括号中的内容转换为字符串
    strTest(1)=trim(cstr(Rst.fields(2)))
    Dialog("Login").WinEdit("Agent Name:").Set strTest(0)
    Dialog("Login").WinEdit("Password:").SetSecure strTest(1)

    Rst.MoveNext
    Loop

    Rst.close
    Set Conn=nothing
    复制代码

    4. 数据文件以XML组织

                                                          

     

    复制代码
    Dim xmlDoc 'As DOMDocument 需要引用xml对象

    set xmldoc=CreateObject("microsoft.xmldom")
    xmldoc.load(Environment("TestDir")&"\Login.xml")

    Set Root=xmldoc.documentElement '返回文档的根节点。

    For i = 0 To Root.childNodes.Length-1 '检索根节点下方的子节点数
    Set TestCases = Root.childNodes.Item(i)
    For j = 0 To TestCases.childNodes.Length-1 '检索testcase下的节点数
    Set TestCase = TestCases.childNodes.Item(j)
    If cstr(TestCase.nodeName)="user" Then
    Dialog("Login").WinEdit("Agent Name:").Set TestCase.text
    end if
    If cstr(TestCase.nodeName)="pwd" Then
    Dialog("Login").WinEdit("Password:").SetSecure TestCase.text
    End If
    Next
    Next

    Set root=nothing
    Set xml=nothing
    复制代码

    方法四、随机数

      随机数参数化相对调用外部数据实现参数化来说,简单好多,我们直接看例子吧。。

      参数的变化范围已知的情况下,脚本切换到Keyword View视图下,点击要参数化项目的value列,Parameter选项选择RandomNumber,输入参数的取值范围,点击ok。

    Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").Set RandomNumber(0, 100)

      以下拉框为例,随机选择下拉框中的值:

    flyFrom = Window("Flight Reservation").WinComboBox("Fly From:").GetItemsCount
    Window("Flight Reservation").WinComboBox("Fly From:").Select RandomNumber(0,flyFrom-1)

     

    展开全文
  • QTP参数化方法

    2020-04-20 19:13:02
    QTP参数化方法 ps:如果你觉得对你有帮助的话,麻烦点个赞,加个关注。 目录 简介: 步骤: 简介: 录制飞机订票系统(Flight) 一,对Agent Name对象:设置为数据表参数化 二,对Password对象:设置为环境变量...

    QTP参数化方法

    ps:如果你觉得对你有帮助的话,麻烦点个赞加个关注

    目录

    简介:

    录制飞机订票系统(Flight)

    一,对Agent Name对象:设置为数据表参数化
    二,对Password对象:设置为环境变量参数化
    三,对订票数对象:设置为随机数

    步骤:

    一,对Agent Name对象:设置为数据表参数化
    【1】先录制好脚本,并点击
    在这里插入图片描述
    【2】设置为数据表格
    在这里插入图片描述
    【3】填入数据
    在这里插入图片描述
    二,对Password对象:设置为环境变量参数化

    【1】插入OptionalStep.Dialog(“Login”).WinEdit(“Password:”).Set “mercury”
    在这里插入图片描述
    【2】先准备好环境变量.xml脚本,再导入
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    【3】设置为“环境变量参数化”
    在这里插入图片描述
    在这里插入图片描述
    三,对订票数对象:设置为随机数
    【1】设置为随机数
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 自动化测试local软件测试工具QTP参数化global和local的区别MercuryQuickTest企业级自动化测试工具!目前已经被惠普收购,正式名字为HPQuickTestProfessionalsoftware,最新的版本为HPQuickTestProfessional10.0....
  • 第8篇-QTP参数化技术

    2013-06-22 00:43:31
    第8篇-QTP参数化技术 第8篇-QTP参数化技术
  • QTP参数化Global和Local的区别

    千次阅读 2012-12-22 20:58:44
    软件测试工具QTP参数化global和local的区别 关于QTP的DataTable的使用,有Global和Action之分,以下是他们的一些区别: global 是全局的,有几行数据程序就要回放几次,不能重新设置。 local 是局部的,有几行...

    软件测试工具QTP参数化global和local的区别


    关于QTP的DataTable的使用,有Global和Action之分,以下是他们的一些区别:

    global 是全局的,有几行数据程序就要回放几次,不能重新设置。

    local 是局部的,有几行数据action 就要回放几次。


    设置action的重复次数的操作:

    右键反击action,选择action call property,即可进行选择.

     

    分别有下面有几种情况:

    1、当global 有不止一行的数据,action call property->Run On all Rows 程序每次运行时,action中的每行都要执行。

    2、当global 有不止一行的数据,action call property->Run one iteration only 而且global的行数>action的行数,当action执行到最后一行后,不管此时global 的行数为几,下次回放时action都执行最后一行,如果global的行数<action的行数,action就执行不到最后一行。

    3、action call property->Run from rows to rows,指的是运行从第几行到第几行,就结合上面的两点实践操作测试一下。

    这个内容,在我的QTP视频教程里有一节课程进行单独讲解,并附带实例演示。

    展开全文
  • 参数化执行操作的时候,表格里的数据为什么会跳过一个执行下一个?求解答大神,另外录制完做参数化怎么让他在网页中自动选择下一个执行
  • 1 Datatable参数化 Global表的数据可以被所有的action访问,Action的数据只能被对应的Action访问 本地表循环的次数设置:Action Call Properties Global表循环的次数设置:File -> Test Settings -> Run...
  • QTP参数化问题小结

    2012-09-10 21:55:00
    最近本人正在研究QTP,遇到一个参数化的问题,在此总结下。 需求:执行的是飞机订票系统,录制完一次订票之后,导入航班的Excel表来实现订票的循环,目的就是实现登录--->订票---->提交---->订票--->...
  • Exit" 回放 参数化 Dialog("Login_2").WinEdit("Agent Name:").Set DataTable("p_Text", dtGlobalSheet) Dialog("Login_2").WinEdit("Password:").Set DataTable("p_Text1", dtGlobalSheet) Dialog("Login_2")....
  • 在测试下拉框列表的值的时候,我们可以用随机值方法,可任选其一值,以QTP自带的飞机订票系统为例子。 (1): dim get_Flyfrom get_Flyfrom=window("Flight Reservation").WinComboBox("Fly From:")....
  • qtp参数化-通过excel导入到datatable中

    千次阅读 2013-11-28 16:20:02
    actiion1是QTP DATATABLE的标签页 DataTable.ImportSheet "C:\login.xls", "sheet1", "actiion1" 在下面用datatable.Value("Username", dtLocalsheet) 赋值就可以 2.具体应用如下: Dim DataStr //声明文件的...
  • 今天弄了一天的参数化设置,晕头转向的,不过还是有一些收获: 参数化后的循环: 参数化后希望循环,可怎么都运行不起来,写了个For...Next语句还是不行,很烦VBS这种不加大括号的语言,又试了试缩进,也不行。 ...

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 297
精华内容 118
关键字:

qtp参数化