多步骤操作

“配置”对话框的“多步骤操作”视图是用于测试只能通过以特定顺序单击链接来访问的站点部分。

此视图在应用程序某些部分只能通过按特定顺序发送请求才能到达的情况下使用。

例如,考虑用户按以下顺序访问页面来进行在线购物的情况:

第 1 页:用户添加一项或多项到购物车中

第 2 页:用户填写付款和装运详细信息

第 3 页:用户接收确认,表明订购完成

只有通过第 1 页才能到达第 2 页。只有通过第 1 页然后是第 2 页才能到达第 3 页。这是一个序列。为能够测试第 2 页和第 3 页,AppScan® 必须在进行各测试之前发送正确的 HTTP 请求序列。

在上面的示例中,您将按以下顺序记录单个序列:第 1 页 > 第 2 页 > 第 3 页。AppScan 将根据需要从此序列中抽取必要的子序列。(当测试第 2 页时,将会首先发送第 1 页请求;当测试第 3 页时,将会发送第 1 页请求,然后是第 2 页请求。)

注: 建议将多步骤操作的数量限制在五个,其中每个操作中的步骤数不超过 25 个,总步骤数不超过 70 个。
注: 配置多步骤操作不应被误认为是手动探索,并且它只能在类似上述情况中使用。如需了解更多详细信息,请参阅手动探索


设置

详细信息

记录

单击以记录新序列。如果登录详细信息已配置,可以单击向下箭头来选择︰
登录然后记录
AppScan 将在浏览器打开之前自动登录到应用程序(使用您记录的登录名)。然后,您可以记录多步骤操作,而无需记录登录请求。此方法的优点在于,每次播放此序列时,不会重放登录请求,但前提是 AppScan 处于会话外状态。
注: “多步骤”序列中(但不包括在“登录”序列中)的参数和 cookie 始终作为“动态”进行跟踪,即使您将其跟踪更改为“登录值”。
不登录便记录
AppScan 将在不登录的情况下开始记录序列。当浏览器打开时,您可以直接记录多步骤序列。如果您需要登录,登录将是记录的一部分,因此每次播放序列时都会重放,这可以极大增加扫描时间。如果需要登录,最佳做法是使用前面的选项。
注: 如果使用此选项,然后将登录请求记录为序列的一部分,则收到的参数和 cookie 始终作为“动态”进行跟踪,即使它们是“登录”请求,并且即使您将其跟踪更改为“登录值”也是如此。

有关详细信息,请参阅记录序列

导出按钮 | 导入按钮 | 减号按钮

导出一个序列(作为 SEQ 文件)以供不同的扫描使用;导入序列(SEQ 文件) 从不同的扫描导出;从当前扫描中删除选择的序列。

回放方法

对多步骤操作进行记录时,AppScan 将对操作和请求均进行记录。您可以选择其中的哪些将用于扫描:
基于请求的回放
从记录发送原始 HTTP 请求。这种方法通常更快。
基于操作的回放
重放用户的单击和击键。选择此方法的原因可能是站点包含大量 JavaScript,或者是因为在您尝试验证基于请求的回放中的某些请求时,这些请求被标记为红色 X。此方法可能会增加扫描时间。
缺省方法是基于请求的回放。
注: 如果扫描配置为不使用浏览器而不是嵌入式浏览器(“工具 > 选项 > 使用外部浏览器”),始终使用基于请求的回放。
注: 如果装入已记录 AppScan 版本的序列不支持基于操作的回放,则基于请求的回放将用于该序列,即使选择了基于操作的回放。

序列名称

在序列列表中所选的序列名称。

每个名称旁边的复选框指示是否为此扫描启用序列。

序列

显示所选序列中的链接。
  • 单击验证以检查序列是否有效。AppScan 会重放序列,那些收到的响应与原始响应不同的请求将以红色 X 标记,表示不会对这些请求进行测试。
    注: 请求收到不同响应的常见原因是存在需要定义的动态序列变量,请参阅序列变量
  • 通过选择序列中的任何链接然后单击浏览器按钮来查看该链接
  • 通过选择链接并单击减号按钮,删除序列中的任何链接。执行该操作之后,单击验证来检查序列是否仍在会话中。
  • 右键单击“序列”窗格中的一个或多个步骤,并选择不测试。播放序列时这些步骤仍会被包含,但不会单独地进行测试。

允许播放优化

(仅基于请求的回放)在选中时(缺省),AppScan 会通过避免不必要的回放来试图优化扫描时间。除非您发现由于播放优化致使 AppScan 应用程序某些部分缺失,否则不应禁用此设置。

以单线程方式测试

AppScan 如果两个或多个请求不要求在其之间重放序列,那么可能会同时发送这些请求。如果这导致应用程序某些部分缺失,请选中此复选框。

序列变量

列出在记录序列时收到的变量,并且指示 AppScan 已确定应跟踪的变量。这些可能是会话标识或其他变量。您可以更改该列表中变量的状态以改进 AppScan 对这些变量的处理方式(有关详细信息,请参阅序列变量)。