脚本包括一个或多个次请求指定。 脚本将按顺序提交每个请求并且必须至少包含一个 URL。 您可以定义要从请求返回的页面内容中解析的变量。 从请求中解析的变量可以在随后的请求中加以应用。
- <script>name
名称是此脚本的标识符。
- <attributes>
应用于脚本的属性(以逗号或空格分隔)。 这些属性大部分都与当前 CA APM TG URL 设置相匹配。 可以使用以下属性:
- ninterval-正常的时间间隔。
- cinterval-错误的时间间隔。
- debug-指定“Y”可针对事务中每个请求将 HTTP 头、页面内容和变量值写入调试文件。 脚本编辑器会将调试以 scriptname@request.debug 为名写入 <apmtg_home>/RTM_7201/machine_agentname 目录。 例如,示例脚本的首次请求的调试文件名为 sample@1.debug。
- detail-详细信息级别:
- 1 表示“页面+框架”
- 2 表示“页面+组件”
- 3 表示“仅页面”
- enable-指定 y 表示启用,指定 n 表示禁用。
- proxybypass-指定 Y 可绕过代理服务器,指定 n 可使用代理服务器。 如果已指定 proxy=,则此值将被覆盖。
- maxconn-检索组件时使用的最大连接数。
- proxy-用于此脚本的代理服务器。 此值将覆盖默认的代理服务器。
- proxyport-用于该脚本的代理端口。 此值将覆盖默认的代理端口。
- proxysecurity-连接到代理服务器所需的“userid”、“password”。 除非被请求中的属性标记覆盖,否则在脚本级别指定的任何请求属性对于每个请求依然有效。
- sslversion-SSL 版本。 值分别为 23(表示版本 2 和 3)、2(表示版本 2)和 3(表示版本 3)。
- stop-严重。 指定时,如果请求返回错误,则脚本将会停止执行。
- timeout-超时值。
- validcodes-结果为“正常”状态的一个或多个 http 代码。
- validcompcodes-页面组件的结果为“正常”状态的一个或多个 http 代码。
- autocrcreset-指定 Y 或 n 可指定预期的 CRC 值在 CRC 准确性检查失败后是否将自动重置。
- sendtoiscope-指定 Y 会将信息发送至 CA Introscope®,指定 n 将不会发送信息。
- nocrlf-选择该项将删除回车符和换行符。 在脚本中实施 <parse> 标记后,CA APM TG 可以从用于解析的缓冲区删除回车符和换行符。 这有助于唯一地识别要解析的字符串。
- <comment>
表示注释的开始。
注意:您也可以在请求中指定注释标记
- <request>
表示请求的开始。 使用以下标记来指定请求。
- <attributes>
应用于单个请求的属性(以逗号或空格分隔)。 在请求级别指定的任何属性将只覆盖该请求的所有全局脚本属性。 可以为请求指定以下属性:
- detail-详细信息级别:
- 1 表示“页面+框架”
- 2 表示“页面+组件”
- 3 表示“仅页面”
- maxconn-检索页面组件时使用的最大连接数。
- timeout-超时值。
- validcodes-结果为“正常”状态的 HTTP 返回代码列表。 使用逗号分隔多个代码。
- validcompcodes-页面组件的结果为“正常”状态的 HTTP 返回代码列表。 使用逗号分隔页面组件的多个 HTML 返回代码。
- <url>
表示 URL 指定的开始。
- url-要获取或发布的 URL。 此标记是必需标记
- <security>
- 表示此 URL 所需的安全信息的开始。
- userid 和 password-访问此 URL 所需的用户 ID 和密码
- <post>
- 表示您要发布至此 URL 的数据的开始。
- name=value 表示要发布的名称和值。 指定发布数据对于该 URL 产生的结果为 POST 而不是 GET。 可以指定多个发布标记。
- <check>
表示要在该提交返回的页面上完成的内容检查,符合以下条件:
("string","NOT "string"",CRC,none,"Length {=|>|<} size")
- CRC:对页面内容执行循环冗余检查。
- "<string>":检查匹配字符串模式。 在引号中指定字符串,例如 "welcome"。 通过将每个字符串加引号并以空格分隔开可以指定多个字符串。 例如,"logon" "successful"。 要使准确性检查成功,必须找到所有字符串。
- NOT "<string>":检查负值字符串模式的匹配项。 例如,NOT "foo"。 如果指定多个字符串,则显示任何字符串均会导致准确性检查失败。
- Length:检查字符串的长度。 将长度指定为“Length operator(=、> 或 <)size”(以字节为单位)格式,例如:Length>500
- <stop>
在指定的位置停止脚本处理。
- <localaction>
表示在脚本中特定位置运行的批处理文件、程序或脚本的名称。
- action-您要运行的操作。 例如:<localaction>cmd.exe /c test.bat</localaction>
- </localaction>
表示本地操作的结尾。
- <cookie>
表示对于此请求发送的 cookie 名称。 cookie 是临时的,并将只对此请求发送。 可以为一个请求指定多个 cookie。 例如:
<cookie>cookiename=cookievalue;path=pathvalue;domain=domainvalue</cookie>
指定以下变量:
- cookiename-cookie 的名称。
- cookievalue-cookie 的值。
- path-表示您提供的、cookie 所在位置的路径。 如果不指定路径,则脚本编辑器将使用请求的路径。
- pathvalue-cookie 所在位置的路径。
- domain-表示您提供的域。 如果不指定域,则脚本编辑器将使用请求的域。
- domainvalue-域名。
- <setvar>
表示脚本变量的名称及其值。 可以将值设置为字符串、算术表达式或命令的输出。 值还可以包括其他变量。 按如下所示指定 <setvar> 标记:<setrvar>variable=expression</setvar>
- variable-变量的名称。
- expression-变量的值。 例如,以下 <setvar> 标记表示在脚本运行时,脚本中任何指定 %%var1%% 的位置上的 testvalue 都将替换为 %%var1%%。 <setvar>var1=testvalue</setvar>
有关更多示例,请参阅 <setvar> 示例。
- <upload>
表示在脚本的该请求中要上传的示例文件。 必须指定以下变量:
- <parse>
表示变量声明的开始。
- string%%name%%string-基于在页面上前后显示的文本声明变量和值。 可以指定多个解析标记。 如果存在多个匹配,则将返回一个变量数组,%%name%%表示第一个匹配实例,%%name[1]%%表示第二个匹配实例,依此类推。
- <if>
表示条件的开始。 必须同时指定 <then> 标记。
- expression-条件限制为变量之间的比较或变量与常量之间的比较。 可以在 <then> 或 <else> 标记中指定任何请求标记。 还可以在请求之外指定条件来控制后续请求处理。
- <then>
表示 then 语句的开始。
- <else>
表示 else 语句的开始。
- <certificate>
如果 Web 应用程序需要用于身份验证的客户端证书,则使用此标记可对 CA APM TG 代理定义该证书。 有关详细信息,请参阅客户端证书注意事项。
- certfile-客户端证书文件的完全限定名称。
- certkeyfile-与客户端证书关联的私钥文件的完全限定名称。 私钥可能被嵌入到证书中,在这种情况下,此文件将与 certfile 相同。
- passphrase-可以使用密码短语进一步保护私钥。 如果需要,在此字段中输入密码短语。