zoukankan      html  css  js  c++  java
  • LoadRunner函数中文翻译系列之一Action

    web_url

     语法:
     Int Web_url(const char *name, const char * url, <Lists of Attributes>, [EXTRARES,<Lists of Resource Attributes>,LAST)

    返回值
     成功时返回LR_PASS (0),失败时返回 LR_FAIL (1)。

    参数:
     Name:VuGen中树形视图中显示的名称,在自动事务处理中也可以用做事务的名称。

    url:页面url地址。

    List of Attributes

    EXTRARES:分隔符,标记下一个参数是资源属性的列表了。

    List of Resource Attributes

    LAST:属性列表结束的标记符。

    说明
     Web_url根据函数中的URL属性加载对应的URL,不需要上下文。

    只有VuGen处于URL-based或者HTML-based(此时A script containing explicit URLs only选项被选中时)的录制模式时,web_url才会被录制到。

    可以使用web_url 模拟从FTP服务器上下载文件。web_url 函数会使FTP服务器执行文件被真实下载时的操作。除非手工指定了"FtpAscii=1",下载会以二进制模式完成。

    在录制选项中,Toos—Recording Option下,Recording选项中,有一个Advanced HTML选项,可以设置是否录制非HTML资源,只有选择了“Record within the current script step”时,List of Resource Attributes才会被录制到。非HTML资源的例子是gif和jpg图象文件。

    通过修改HTTP头可以传递给服务器一些附加的请求信息。使用HTTP头允许请求中包含其他的内容类型(Content_type),象压缩文件一样。还可以只请求特定状态下的web页面。

    所有的Web Vusers ,HTTP模式下的WAP Vusers或者回放模式下的Wireless Session Protocol(WSP),都支持web_url函数。

    web_image

     语法:
     Int web_image (const char *StepName, <List of Attributes>, [EXTRARES, <List of Resource Attributes>,] LAST );

    返回值
     成功时返回LR_PASS (0),失败时返回 LR_FAIL (1)。

    参数:
     StepName:VuGen中树形视图中显示的名称,在自动事务处理中也可以用做事务的名称。

    List of Attributes(服务器端和客户端映射的图片):SRC属性是一定会被录制到的,其他的ALT、Frame、TargetFrame、Ordinal则是有的话会被录制到。

    1、ALT:描述图象的元素。用鼠标指向图象时,所浮出来的文字提示。

    2、SRC:描述图象的元素,可以是图象的文件名. 如: button.gif。也可以使用SRC/SFX来指定图象路径的后缀。所有拥有相同此后缀的字符串都会被匹配到。

    3、Frame:录制操作时所在的Frame的名称。

    4、TargetFrame:见List of Attributes的同名参数。

    5、Ordinal:参见Web_link的同名参数。

    List of Attributes(客户端映射的图片):

    1、AreaAlt:鼠标单击区域的ALT属性。

    2、AreaOrdinal:鼠标单击区域的顺序号。

    3、MapName:图象的映射名。

    List of Attributes(服务器端映射的图片):尽管点击坐标不属于属性,但还是以属性的格式来使用。

    1、Xcoord:点击图象时的X坐标。

    2、Ycoord:点击图象时的Y坐标。

    EXTRARES:分隔符,标记下一个参数是资源属性的列表了。

    List of Resource Attributes:参见List of Resource Attributes一节。

    LAST:属性列表结束的标记符。

    说明
    web_image模拟鼠标在指定图片上的单击动作。此函数必须在有前置操作的上下文中使用。

    在Toos—Recording Option,如果录制级别设为基于HMTL的录制方式时,web_image才会被录制到。

    web_image支持客户端(client-side)和服务器端server-side的图片映射。

    在录制选项中,Toos—Recording Option下,Recording选项中,有一个Advanced HTML选项,可以设置是否录制非HTML资源,只有选择了“Record within the current script step”时,List of Resource Attributes才会被录制到。非HTML资源的例子是gif和jpg图象文件。

    通过修改HTTP头可以传递给服务器一些请求附加信息。使用HTTP头允许请求中包含内容,如同压缩文件一样。还可以只请求特定状态的web页面。

    web_image支持Web虚拟用户,不支持WAP虚拟用户。

    例子
     下面的例子模拟用户单击Home图标以回到主页(黑体部分):

    web_url("my_home", "URL=http://my_home/", LAST);

    web_link("Employees", "Text=Employees", LAST);

    web_image("Home.gif", "SRC=../gifs/Buttons/Home.gif", LAST);

    web_link("Library", "Text=Library", LAST);

    web_image("Home.gif", "SRC=http://www.cnblogs.com/gifs/buttons/Home.gif", LAST);

    下面的例子模拟用户在客户端映射的图片上单击:

    web_image("dpt_house.gif",

    "Src=../gifs/dpt_house.gif",

    "MapName=dpt_house",

    "AreaOrdinal=4",

    LAST);

    下面的例子模拟用户在服务端映射的图片上单击:

    web_image("The Web Developer's Virtual Library",

    "Alt=The Web Developer's Virtual Library",

    "Ordinal=1",

    "XCoord=91",

    "YCoord=17",

    LAST);

    下面是一个使用文件名后缀的例子:它指定了dpt_house.gif作为后缀,所以象../gifs/dpt_house.gif、/gifs/dpt_house.gif、gifs/dpt_house.gif、/dpt_house.gif等都会匹配到。

    web_image("dpt_house.gif","Src/sfx=dpt_house.gif", LAST);

    web_link
     语法:
     Int web_link (const char *StepName, <List of Attributes>, [EXTRARES, <List of Resource Attributes>,] LAST );

    返回值
     成功时返回LR_PASS (0),失败时返回 LR_FAIL (1)。

    参数:
     StepName:VuGen中树形视图中显示的名称,在自动事务设置中也被用做事务名称。

    List of Attributes:支持下列的属性:

    1. Text:超链接中的文字,必须精确匹配。

    2. Frame:录制操作时所在的Frame的名称。

    3. TargetFrame、ResourceByteLimit:见List of Attributes一节。

    4. Ordinal:如果用给出的属性(Attributes)筛选出的元素不唯一,那么VuGen使用此属性来指定其中的一个。例如:“SRC=abc.gif”,“Ordinal=3”标记的是SRC的值是“abc.gif”的第3张图片。

    EXTRARES:表明下面的参数将会是list of resource attributes了。

    LAST:结尾标示符。

    说明
     模拟鼠标在由若干个属性集合描述的链接上进行单击。此函数必须在前置动作的上下文中才可以执行。

    web_link 仅仅在基于HTML的录制方式中才会被VuGen捕捉到。

    非HTML生成的资源的例子有.gif 和.jpg图像。对于List of Resource Attributes参数来说,仅仅当Recording Options--Recording --HTML-based script-- Record within the current script step选项被选中时,它们才会被插入到代码中。

    可以通过改变HTTP头信息给服务器传递一些附加信息。使用HTTP头信息可以,允许响应体中包含其他的内容类型(Content-Type),例如压缩文件,或者只有满足了特定的状态才去请求web页。

    此函数值支持Web虚拟用户,不支持WAP虚拟用户。

    web_submmit_form

     语法:
     Int web_submit_form (const char *StepName, <List of Attributes>, <List of Hidden Fields>, ITEMDATA, <List of Data Fields>, [ EXTRARES, <List of Resource Attributes>,] LAST );

    返回值
     成功时返回LR_PASS (0),失败时返回 LR_FAIL (1)。

    参数:
     StepName:Form的名字。VuGen中树形视图中显示的名称,在自动事务处理中也可以用做事务的名称。

    List of Attributes:支持以下属性:

    1. Action:Form中的ACTION属性,指定了完成Form中的操作用到的URL。也可以使用“Action/sfx” 表示使用此后缀的所有Action。

    2. Frame:录制操作时所在的Frame的名称。

    3. TargetFrame、ResourceByteLimit:见List of Attributes的同名参数。

    4. Ordinal:参见Web_link的同名参数。

    VuGen通过记录数据域唯一的标识每个Form。如果这样不足以识别Form,VuGen会记录Action 属性。如果还不足以识别,则会记录Ordinal 属性,这种情况下不会记录Action属性。

    List of Hidden Fields:补充属性(Serves)。 通过此属性可以使用一串隐含域来标识Form。使用下面的格式:

    STARTHIDDENS,

    "name=n1", "value=v1", ENDITEM,

    "name=n2", "value=v2", ENDITEM,

    ENDHIDDENS,

    List of Data Fields

    Data项用来标识form。Form是通过属性和数据来共同识别的。

    使用下面的格式来表示数据域列表

    "name=n1", "value=v1", ENDITEM,

    "name=n2", "value=v2", ENDITEM,

    ITEMDATA:Form中数据和属性的分隔符。

    EXTRARES:一个分隔符,标记下一个参数是资源属性的列表了。

    List of Resource Attributes:参见List of Resource Attributes一节。

    LAST:属性列表结束的标记符。

    说明
     web_submit_form 函数用来提交表单。此函数可能必须在前一个操作的上下文中执行。在Toos—Recording Option,只有录制级别设为基于HMTL的录制方式,web_image才会被录制到。

    在录制选项中,Toos—Recording Option下,Recording选项中,有一个Advanced HTML选项,可以设置是否录制非HTML资源,只有选择了“Record within the current script step”时,List of Resource Attributes才会被录制到。非HTML资源的例子是gif和jpg图象文件。

    通常情况下,如果录制了web_submit_form 函数,VuGen会把“name”和“value”一起录制到ITEMDATA属性中。如果不想在脚本中以明文显示“value”,可以对它进行加密。把“Value”改为“EncryptedValue”,然后把录制到的值改为加密后的值。

    例如:可以把 "Name=grpType", "Value=radRoundtrip", ENDITEM

    改为:"Name=grpType", EncryptedValue=409e41ebf102f3036b0549c799be3609", ENDITEM

    如果你完整的安装了LoadRunner,那么打开开始菜单--Mercury LoadRunner—Tools--Password Encoder,这个小工具是用来加密字符串的。把需要加密的值粘贴到Password一栏,再点Generate按钮。加密后的字符串会出现在Encoded string框中。接着点Copy按钮,然后把它粘贴到脚本中,覆盖原来显示的“Value”。

    加密的另一种方法时使用lr_decrypt函数。方法:选择整个字符串,例如“Value=radRoundtrip”(注意不要选择引号),右击鼠标,选择Encrypt string选现,脚本会变为:

    "Name=grpType", lr_decrypt("40d176c46f3cf2f5fbfaa806bd1bcee65f0371858163"), ENDITEM,

    web_submit_form支持Web虚拟用户,不支持WAP虚拟用户。

    例子:
     下面的例子中,web_submit_form 函数的名字是“employee.exe”。此函数提交了一个请求,此请求包含雇员信息John Green。此函数没有使用属性(Attributes)是因为通过数据项已经能唯一的标识这个Form了。

    web_submit_form("employee.exe",

    ITEMDATA,

    "name=persons", "value=John Green - John", ENDITEM,

    "name=go_page", "value=Go to Page", ENDITEM,

    LAST);

    web_submmit_data

     语法:
     Int web_submit_data ( const char *StepName, <List of Attributes>, ITEMDATA, <List of data>, [ EXTRARES, <List of Resource Attributes>,] LAST );

    返回值
     返回LR_PASS(0)代表成功,LR_FAIL(1)代表失败。

    参数:
     StepName:步骤名称,VuGen中树形视图显示的名称。

    List of Attributes:支持以下属性:

    1. Action:Form中的ACTION属性,指定了完成Form中的操作用到的URL。

    2. Method:表单提交方法:POST或GET(默认是POST)。

    3. EncType:编码方式。

    4. EncodeAtSign:是否使用ASCII值对符号“@”编码。Yes或者 No。

    5. TargetFrame:包含当前链接或资源的Frame。参见List of Attributes的同名参数。

    6. Referer、Mode:参见List of Attributes的同名参数。

    ITEMDATA:数据域和属性的分隔符。

    List of Data:

    数据域列表定义了表单提交的内容。由于此请求是上下文无关的,因此数据域包含了所有的隐含域。使用Form的编码规则组织数据域。

    数据域列表可以使用下面任意一种格式:

    "name=n1", "value=v1", ENDITEM,

    "name=n2", "EncryptedValue=qwerty", ENDITEM,

    EXTRARES:分隔符,标记下一个参数将是资源属性的列表。

    List of Resource Attributes:参见List of Resource Attributes。

    LAST:结束标记符。

    说明
     web_submit_data函数处理无状态或者上下文无关的表单提交。它用来生成表单的GET或POST请求,这些请求与Form自动生成的请求是一样的。发送这些请求时不需要表单上下文。

    当VuGen设为基于URL的录制模式,或者基于HTML的录制方式但是Recording Options—HTML Advanced 下的A script containing explicit URLs only 选项被选中时,web_submmit_data函数才会录制到。

    不论你采用URL查询的方式(GET),还是采用请求体发送(POST)的方式,此函数都指示出Form中的数据是如何发送到服务器的。

    如果VuGen处于HTTP录制模式下,此时记录Web进程时,会产生此函数。在提交Form时,如果无法生成web_submit_form函数,VuGen也会生成web_submit_data函数。

    在录制选项中,Toos—Recording Option下—Recording选项中,有一个Advanced HTML选项,可以设置是否录制非HTML资源。只有选择了“Record within the current script step”时,List of Resource Attributes才会被录制到。非HTML资源的例子是gif和jpg图象文件。

    EncType属性给出一个内容类型,指定其做为“Content-Type”请求头的值。它指示了根据参数生成HTTP请求时使用的编码类型(不是URL-encoding就是multi-part)可以是下面的格式:

    1. “EncType=application/x-www-form-urlencoded”

    2. “EncType=multipart/form-data” (任何的“; boundary=”都会被默认忽略掉)

    3. “EncType=” (空串,表明没有产生内容类型(“Content-Type”)请求头)

    任何对于“EncType”的指定都会覆盖web_add_[auto_]header函数指定的Content-Type。当省略了“EncType”时,任何一个web_add_[auto_]header函数都会起作用。如果既没有指定EncType也没有web_add_[auto_]header函数,且“Method=POST”,“application/x-www-form-urlencoded”会做为默认值来使用。其他情况下,不会产生Content-Type请求头。

    ContentType:文件类型标识符,如果“EncType”是“multipart/form-data”用来上传文件时,需要用到“ContentType”。当在ITEMDATA中的Data子句中指定了“File=Yes”,且文件也在此子句中,ContentType才适用,此时它会作为同一个子句的值来传递。

    正常情况下,“Content-Type”根据所上传文件的扩展名自动生成。例如:

    7d025e2b16b064e\r\n Content-Disposition: form-data; name="uploaded_file"; filename="D:\\temp\\a.txt"\r\n Content-Type: text/plain\r\n \r\n

    无论如何,对于非浏览器的程序来说是特殊的,根据文件类型生成的“ContentType”不一定是正确的。这时,通过手工指定来覆盖默认的“ContentType”。如果指定了空值,那么“Content-Type”头将不包含在文件中。

    如果没有显示的指定“ContentType”的值,当上传的文件为空时,不管文件扩展名是什么,都默认使用“application/x-unknown-content-type”做为”ContentType”的值。

    VuGen不会检查指定的ContentType是否有效。

    通常情况下,如果录制了web_submit_data 函数,VuGen会把“name”和“value”一起录制到ITEMDATA一节中。如果不想在脚本中以明文显示“value”,可以对它进行加密。把“Value”改为“EncryptedValue”,然后把录制到的值改为加密后的值。请参考web_submit_form中相关的内容。

    所有的Web虚拟用户,运行在HTTP模式下的WAP用户,运行在WSP回放模式下的WAP用户都可以使用本函数。

    例子
     下面的例子中,web_submit_data函数使用POST方法提交了一个表单。

    web_submit_data("default.aspx",

    "Action=http://lazarus/flightnet/default.aspx",

    "Method=POST",

    "TargetFrame=",

    "RecContentType=text/html",

    "Referer=http://lazarus/flightnet/",

    "Snapshot=t7.inf",

    "Mode=HTML",

    ITEMDATA,

    "Name=grpType", "Value=radRoundtrip", ENDITEM,

    "Name=lstDepartingCity", "Value=DEN", ENDITEM,

    "Name=lstDestinationCity", "Value=LAX", ENDITEM,

    "Name=txtDepartureDate", "Value=8/19/2003", ENDITEM,

    "Name=txtReturnDate", "Value=8/19/2003", ENDITEM,

    "Name=txtQuantity", "Value=1", ENDITEM,

    "Name=radClass", "Value=1", ENDITEM,

    "Name=radSeat", "Value=1", ENDITEM,

    "Name=btnAvailableFlights", "Value=Next >", ENDITEM,

    LAST);

    下面的例子, web_submit_data函数使用POST方法提交了2个文件。

    web_submit_data("Attachments",

    "Action=http://barton.cottage@.Devonshire.uk/Attachments?YY=45434",

    "Method=POST",

    "EncType=multipart/form-data",

    "TargetFrame=",

    "RecContentType=text/html",

    "Referer=http:///barton.cottage@.Devonshire.uk/Compose?YY=20435",

    "Snapshot=t5.inf",

    "Mode=HTML",

    ITEMDATA, "Name=userFile0",

    "Value=E:\\sense_sensibility\\Elinor.txt",

    "File=yes",

    "ContentType=text/html", // 覆盖了文本文件默认的“text/plain” 值。

    ENDITEM,

    "Name=userFile1",

    "Value=E:\\sense_sensibility\\Marianne.jpg",

    "File=yes",

    ENDITEM,

    LAST);

  • 相关阅读:
    [书籍精读]《JavaScript异步编程》精读笔记分享
    [技术翻译]在现代JavaScript中编写异步任务
    [技术翻译]Web网页内容是如何影响电池使用寿命的?
    [技术翻译]使用Nuxt生成静态网站
    [Vue源码]一起来学Vue模板编译原理(二)-AST生成Render字符串
    [Vue源码]一起来学Vue双向绑定原理-数据劫持和发布订阅
    [Vue源码]一起来学Vue模板编译原理(一)-Template生成AST
    [技术翻译]您应该知道的13个有用的JavaScript数组技巧
    css清除默认样式
    [小技巧]让你的GridView支持IQueryable,并自动实现真分页
  • 原文地址:https://www.cnblogs.com/luihengk/p/2810486.html
Copyright © 2011-2022 走看看