“多步骤操作”视图

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

需要执行一个多步骤操作来探索站点中只有通过按特定顺序单击才能访问的部分(比如,在线商店,用户需首先将商品添加到购物车才能付款)。请考虑以下三个页面:
  1. 用户将一个或多个商品添加到购物车
  2. 用户填写付款和送货详细信息
  3. 用户收到订单完成的确认
只有通过第 1 页才能到达第 2 页。只有通过第 1 页然后是第 2 页才能到达第 3 页。这是一个序列。为能够测试第 2 页和第 3 页,AppScan® 必须在进行各测试之前发送正确的 HTTP 请求序列。

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

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


1. “多步骤操作”视图选项

设置

详细信息

记录

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

有关详细信息,请参阅使用浏览器记录序列

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

导出序列(SEQ 文件)用于其他扫描

导入从其他扫描导出的序列(SEQ 文件)

从现行扫描中删除选取的序列。

回放方法

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

序列列表

列出为此扫描记录的所有多步骤操作。

序列名称

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

验证
单击此项可检查序列是否有效。AppScan 会重放序列,那些收到的响应与原始响应不同的请求将以红色 X 标记,表示不会对这些请求进行测试。
提示: 请求收到不同响应的常见原因是存在需要定义的动态序列变量,请参阅序列变量。如果没有此问题,并且站点包含 JavaScript,那么更改为基于操作的回放可能会提供更好的结果。

记录的 URL

显示所选序列中的链接或操作。

已验证
绿色复选标记表示 URL 已验证。未验证的 URL 旁边会显示红色 X 图标。
测试
指示此 URL 是否将自行测试(以及在多步骤操作中)。选项为“是/否”。要更改设置,请右键单击 URL 并选择测试/不测试。即使选择“否”,URL 仍将作为多步骤操作的一部分播放。
播放序列
(仅适用于已测试的 URL)指示每次测试此 URL 时,是否将重放序列中的上述步骤。选项为“是/否”。要更改设置,请右键单击并选择测试请求之前播放序列 > 是/否
  • 通过选择序列中的任何链接然后单击浏览器按钮来查看该链接(可通过单击打开的对话框右上角的废纸篓图标来删除各个请求)
  • 通过选择链接并单击减号按钮,删除序列中的任何链接。在执行此操作之后单击验证以检查更新的序列是否保留在会话中。

在序列重放之前登录

如果选中,则每次播放多步骤操作时,AppScan 都会先登录。如果将登录记录为多步骤操作的一部分,则此选项将被清除。

允许播放优化

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

以单线程方式测试

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

序列变量

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

相关主题:

使用 AppScan 手动探索

仅扫描多步骤操作