Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space FUNCTDEV and version SOAVIRT_9.10.6_CTP_3.1.2

...

  1. 进行下列其中一项操作:
    • 若要添加 "Scanning Test” 到新的 .tst 文件:右键单击想将要添加 .tst 文件的项目节点,然后选择 新建测试( .tst)文件 New Test ( .tst) file。为新的 .tst 文件输入名称,单击 下一步 Next,然后选择 Web> 扫描 Scan web 应用程序application
    • 若要添加 "Scanning Test” 到现有项目:选择要添加新测试的测试套件节点,并单击 Add Test Output.



      在打开的“添加测试”向导中,选择左侧的 Standard Test ,右侧的 Scanning Tool ,然后单击 完成 Finish
  2. 指定是否要从 HTTP、FTP 或本地源进行扫描。
    • 如果选择 FTPLocal,请填写可用字段,然后才能完成配置。可以跳过以下选项:

      Info
      iconfalse
      title FTP 选项

      在指定 FTP 源时,存在以下选项:

      • Case Insensitive Server:指明您的服务器不区分大小写。
      • Follow Symbolic Links:如果选择此项,它会告诉 SOAtest 去扫描符号链接,就像这些链接是 ftp 站点上的实际文件或文件夹一样。 如果链接指向文件夹,则 SOAtest 将扫描该文件夹的内容。
    • 如果选择 HTTP,则按照下面的详细步骤继续指定设置。
  3. 选择 HTTP Tool SettingsRequired Basic Settings 选项卡,并完成以下内容:
    • Start URL:在字段中指定 URL 或 .urls 文件。
      • 如果 URL 的用户名和密码作为‘*’输入,则 SOAtest 将首先尝试使用最近 URL 的相同凭证,最近 URL 与此 URL 前面并属于同一个域的。如果该凭证没有用于此 URL,则 SOAtest 将打开域密码对话框,询问您输入的凭证是否正确?

        Info
        iconfalse
        title使用 .urls 文件

        Anchor
        Using .urls Files
        Using .urls Files
        如果计划将正向的限制添加到项目,然后启动将文件中指定的 如果计划将积极的限制添加到项目,然后启动将文件中指定的 URL 上所有合适的站点加载到 Project Creation 面板中指定的默认深度,则使用 .urls 文件。如果为受保护的 URL 指定用户名和密码,则凭证将自动添加到项目中。

        .urls 文件的格式为:URL 在单独行上指定;如果为 URL 指定凭证,则它必须按照 url 的顺序放在同一行:url、username、password。Url、user-name、password 以逗号分割。如果三个中的任何一项存在逗号,则该项都必须放在一对双引号内。如果任何项包含双引号,则每个双引号必须使用另一个双引号进行转义,并且将所有项放在双引号内。例如,
        http://url1.com/
        http://url2.com/, username, password
        http://url3.com/, "user,name", ",password,"
        http://url4.com/, "username", "pass""word"

    • Limit loading depth:如果不想要 SOAtest 尝试加载整个站点,使用此控件限制加载深度。深度设置决定加载站点点击深度(链接)的数量。加载深度为 0 意味着只加载初始页面。如果希望只测试站点中所选定路径,或者如果希望 SOAtest 根据日志文件项中记录的流量自动构建站点结构和路径,那么该选项尤其有用。
    • Restrict scanning to deepest subdirectory of start URL:如果希望 SOAtest 只加载初始启动 URL 的子目录,请选择此选项。有关更多详情,请查阅 限制扫描到启用 URL 的最深子目录
    • 遵循表中未指定为限制的重定向Follow redirects not specified as restrictions in the table:如果希望 SOAtest 遵循重定向未指定为允许 URL 的站点,请选择此选项。有关重定向处理的更多详情,请查阅 Understanding and Configuring Redirect Handling
    • 允许Allowable/限制 URLRestricted URLs:如果访问某些页面(例如,日志输出页面)可能防止 SOAtest 正确地和/或完整地加载站点,通过在表中将它们标记为受限制的 URL 来提示 SOAtest 避免这些页面;有关详细说明,请查阅 Preparing SOAtest to Load Sites that Use JavaScript
    • Form Options:可使用以下选项:
      • Scan Forms With Default Input:默认关闭
      • Fill Active Inputs Manually:默认开启
  4. 如果想要输入连接密码,则选择 Realm Passwords 选项卡并单击 Add 来指定密码。
  5. 如果想要指定高级扫描选项,则选择 Advanced Settings 选项卡,然后完成以下内容:
    • Default Pages:* (这是默认的设置)
    • Obey Robot Restrictions:关闭(前提条件是站点的 Wedmaster 授权您忽略机器人限制)
    • Pass Cookies:开启
    • Invoke CGI For All Arguments:开启
    • Case Insensitive Server:取决于您的服务器
    • Aliases:取决于您的站点。如果您的站点使用别名,则通过单击 Add 按钮在此处进行输入。 Alias 是希望 SOAtest 要考虑的一个域,相当于项目中其中一个站点的域。例如, http://www.parasoft.com 可能拥有别名 parasoft.comwww.parasoft.com
  6. 单击 保存 Save

现在可以在测试套件或单个扫描工具上运行任何可用的测试配置。执行测试时,SOAtest 会快速浏览静态和动态页面,并至少加载它遇到的每个页面的一个实例。

...

若要删除允许/限制 URL 表条目:

  • 选择要删除的条目,单击 删除 Remove

URL 限制示例
Anchor
URL Restriction Examples
URL Restriction Examples

...

限制扫描到启用 URL 的最深子目录
Anchor
Restricting Scanning to the Deepest Subdirectory of the Start URL
Restricting Scanning to the Deepest Subdirectory of the Start URL

当选中 限制扫描到启用 URL 的最深子目录 Http Restrict scanning to deepest subdirectory of Start URL Http 扫描选项时,SOAtest 将自动启用 URL,为最深子目录创建一个允许访问的 URL,并将其添加到允许/限制 URL 表中第一行。如果清除了该选项,SOAtest 将自动将默认允许的子目录 URL 添加到允许/限制 URL 表中第一行。在第一重定向到具有相同完全限定域名的 URL 时,SOAtest 也会这样做。

...

如果希望 SOAtest 遵循没有添加为允许 URL 的重定向,则选择 遵循表中未指定为限制的重定向 选项。当选中此选项时,如果 Follow redirects not specified as restrictions in the table 选项。当选中此选项时,如果 SOAtest 在扫描期间遇到了重定向,并且该重定向未在允许/限制 URL 表中指定,则它将被加载。SOAtest 将为重定向到允许/限制 URL 表添加一个允许的子目录 URL。

...

加载包含 JavaScript 的站点之前,请验证是否启用加载 JavaScript 选项。(该选项默认启用)。当启用该选项时,SOAtest 将执行 JavaScript 并加载相关链接、

若要验证该选项是否启用:

  1. 选择 Parasoft> 首选项 Preferences
  2. 选择 Parasoft> 扫描 Scanning

自定义 JavaScript 事件模拟

如果希望自定义 SOAtest 如何模拟 JavaScript 事件(如打开和关闭其他窗口、运行计时器等),可以通过在选项卡中更改 JavaScript 选项实现这一点。使用以下表来确定选择哪些选项。

...

JavaScript 消息SOAtest 消息默认的 SOAtest 操作
JavaScript 警告JavaScript 警告:"message"单击 确认 OK 按钮
JavaScript 提示JavaScript 提示:"message"单击 取消 Cancel 按钮
JavaScript 确认JavaScript 确认:"message"单击 取消 Cancel 按钮

如果希望 SOAtest 以不同方式处理这些信息,您可以使用脚本定义自定义行为。有关更多详情,请查阅 Customizing Scanning with Scripting Hooks

...

若要指明您不希望输入任何表单的信息:

  • 在第一个对话框中单击 跳过所有 Skip All

若要输入某个或所有表单的输入:

  • 使用下表来确定每个打开的对话框要执行哪些操作。
为此...执行该操作...
标记输入提交。Form Test Name 字段中输入新名称。
输入当前表的信息。
  1. 使用配置表单输入控件来为每个表单输入元素添加或更改输入。如果不为特定元素添加输入,则将提交默认输入(如代码中所指定)。
  2. (可选项)更改默认的表单提交方法。
    • 若要模拟一个简单的 JavaScript 提交或者是模拟用户通过按 Enter 键提交表单,则选择 Implied Submit 选项。
    • 若要模拟用户通过单击提交按钮进行表单提交,可以选择代表提交按钮(例如,Image: "Anonymous”)的选项,也可以点击提交图像特定区域(如果在表单输入面板中可用)。
  3. 准备添加输入时,单击 Add

添加输入后,SOAtest 会重新打开相同的表单对话框,以便可以输入其他的信息。

指明您不希望输入当前表单的任何其他信息:单击 跳过 Skip
指明您不希望输入当前表单或任何该表单的其他实例的任何其他信息:单击 跳过表单 Skip Form
指明您不希望在该站点中输入表单的任何其他信息:单击 跳过所有 Skip All
浏览到与当前表单相关联的页面。单击 查看 View

了解表单输入目的和选项

如果您的站点使用表单,并且您希望 SOAtest 加载并测试这些表单提交后返回的页面,则需要告诉 SOAtest 如何填充表单不同的输入元素(文本字段、多选框、单选框等)。要测试的页面实例越多,则需要填充表单的信息就越多。

...

  1. (可选项)更改 Form Test Name 字段中的输入标签名。
  2. (可选项)更改 Form Action 字段中的表单操作。
    • 如果希望使用默认的表单操作(如代码中所指定),则选择 Default 选项。注意,如果默认值更改,SOAtest 将会自动更新表单操作;您将不需要手动更新表单测试。
    • 如果您希望指定固定值,请选择 Fixed 选项,然后在文本字段中指定需要的表单操作。
  3. 使用表单输入控件来为每个表单输入元素添加或更改输入。
    • 如果希望使用默认输入(如代码中所指定),则选择 Default 选项。注意,如果默认值更改,SOAtest 将会自动更新表单测试值;您将不需要手动更新表单测试。
    • 如果您希望指定固定值,请选择 Fixed 选项,然后使用可用的控件指定需要的值。
      • 多选框、单选框和选择输入有一个 User-Defined 选项,它允许指定字符串作为该输入的值发送。
      • 单选按钮和选择输入还有一个 Index 选项,它允许指定单选按钮或选择选项的索引。如果指定了一个索引,则无论该选项进行了怎样的更改,都将发送单选按钮或选项的值。索引从 0 开始。例如,如果希望一直选择第二个选项,则您可以选择索引选项并选择所以“1”。对于单选按钮,每个索引都显示该索引处单选按钮的当前值。对于选择输入,选项的当前显示值与每个索引一起显示。
      • 选择输入存储显示值,该值用于选择,而不是发送给服务器。因此,当提交值更改时,您将不需要更改测试。
    • 如果希望 SOAtest 从表单出现的页面上提取表单输入值。例如,如果正确的表单值是通过 JavaScript 动态设置的,选择 Extracted,使用经常出现在要提取的值左侧的文本字符串填充 左侧的 Left-hand text 字段,然后使用通常出现在希望提取的值右侧的文本字符串填充 右侧的  Right-hand text 字段。例如,若要从文本 pre123post中提取值 123 ,则可以在 左侧的 Left-hand text 字段中输入 pre,在 右侧的  Right-hand text 输入 post
    • 如果希望禁用一个启用的输入,请选择 Disable 选项。如果希望启用一个禁用的输入,请选择 Enable 选项。
    • 如果希望使用自定义方法的返回值,请选择 Script 选项。单击 Edit 按钮来创建或编辑方法,然后选择需要的方法以便在弹出对话框的 Method 下拉菜单中使用。如果存在两个或多个方法,您还可以选择不同的方法,以便在表单面板中下拉菜单中使用。
  4. (如果表单有一个 OnSubmit 处理程序)根据是否希望在测试期间使用处理程序来启用或禁用 Process OnSubmit Handler When Submitting Form 选项。
    • 如果表单有个一 如果表单有一个 OnSubmit 处理程序,则该选项默认设置为 true。除非该表单测试在使用浏览器记录路径时已经创建。在这种情况下,它被设置为 false,因为在 SOAtest 记录仪浏览器中的路径时,SOAtest 会以这样的方式来配置表单测试,该方式为 OnSubmit 不需要被处理(并且,事实上,以这种方式处理这个处理程可能会导致路径执行期间发生问题)
  5. (可选项)更改默认的表单提交方法。
    • 如果希望模拟一个简单的 JavaScript 提交,或者是模拟用户通过按 Enter 键提交表单,则选择 Implied Submit 选项。
    • 如果希望模拟用户通过单击提交按钮进行表单提交,可以选择代表提交按钮(例如,Image: "Anonymous”)的选项,也可以点击提交图像特定区域(如果在表单输入面板中可用)。

...

Expand
title允许/限制 URL 表如何影响我的扫描?

使用允许/限制 URL 表决定了应该扫描网页的哪个部分。在自动 web 项目扫描期间,每个可能的 URL 都与允许/限制 URL 表匹配,以确定是否应该访问 URL。确定 URL 是否应该访问的过程如下:

1.在允许/限制 URL 表中找到最后一个匹配的 URL。
2.如果最后一个匹配的 URL 的符号为正(+),则表示允许访问该 URL。
3.如果符号为负(-),表示该 URL 将受到限制。

该机制允许控件决定要扫描网页的哪个部分。例如,它允许在允许扫描的部分站点内将某些 URL 指定为“禁区(off-limits)”。或者,它允许在不应该扫描的部分网站内扫描其他 URL。

注意:  允许Allowed/限制 URLRestricted URLs 表条目区分大小写。

Expand
title允许/限制 URL 表中的 URL 可以使用通配符吗?

可以,通配符星号(*)可以在 URL 中的任何位置使用,以匹配 0 个或更多字符。星号(*)适用于构造允许/限制 URL 表条目的任何组合方式。

使用星号(*)的例子:

  • 若要匹配任何协议:
    *www.parasoft.com/dir1/dir2/index.html
  • 若要匹配 http 或 https 协议:http():
    //www.parasoft.com/dir1/dir2/index.html
  • 若要匹配域中任何页面:
    http://www.parasoft.com/*
  • 若要匹配最深子目录中的任何页面:
    http://www.parasoft.com/dir1/dir2/*
  • 若要匹配域中任何协议和页面:
    *www.parasoft.com/*
  • 若要匹配任何 index.html 的页面名:
    *index.html
  • 若要匹配任何与‘dir’一词相关:
    *dir*
  • 若要匹配任何链接:
    *

...

Expand
title如果我只想扫描我站点中的某个目录呢?

您将需要将条目添加到 允许Allowed/限制 URLRestricted URLs 表中来控制该内容是否扫描。如果您的 web 站点有几千种类型硬件的信息,则您可能希望限制扫描该站点两种类型的硬件:路由器和硬盘。除了站点的旧部分,还希望处理站点的所有其他部分。

例如:

  • 如果希望启用扫描 URL http://www.dev.parasoft.com/index.html
    • 将 tp://www.dev.parasoft.com/index.html 输入到 Start URL 字段。这个允许 URL 将自动添加到 Allowed/Restricted URLs 表中:+  http(s)://www.dev.parasoft.com/*
  • 若只扫描 hardware 目录中的两个文件夹 Routers 和 Disks ,则需要将以下条目按照下面的顺序添加到表中:
    • - http(s)://www.dev.parasoft.com/newdir/hardware/*
    • + http(s)://www.dev.parasoft.com/newdir/hardware/Routers/*
    • + http(s)://www.dev.parasoft.com/newdir/hardware/Disks/*
  • 若要限制对旧目录的扫描,则需要添加以下条目。
    • - http(s)://www.dev.parasoft.com/olddir/*

添加上述 URL 之后,允许/限制 URL 表应包含以下内容:

  • +  http(s)://www.dev.parasoft.com/*
  • - http(s)://www.dev.parasoft.com/newdir/hardware/*
  • + http(s)://www.dev.parasoft.com/newdir/hardware/Routers/*
  • + http(s)://www.dev.parasoft.com/newdir/hardware/Disks/*
  • -  http(s)://www.dev.parasoft.com/olddir/*

有关更多详情,请查阅 准备 SOAtest 在扫描期间限制和/或允许 URL 

...

Expand
title如果我的站点与协议 HTTP 和 HTTPS 链接会发生什么?

当您启用 URL 时,SOAtest 将自动将允许域限制(如 http(s)://www.parasoft.com/*)添加到 Allowed/Restricted URL's 表中。

使用 http(s)://... ,以便指定 URL 的 http 和 https 都被允许或都被限制。

如何希望将扫描限制为站点的非加密版本或加密版本,则可以将删除星号,或者使用 's’ 来代替。

Expand
title是否遵循重定向?

 根据 允许Allowed/限制 URLRestricted URLs 表检查重定向,以确定是否遵循它们。

Expand
titleSOAtest 会自动将 URL 添加到允许/限制 URL 表中。它会在什么时候发生?

URL 自动添加到允许/限制 URL 表有两种情况:

  • 如果启用 URL 是重定向(请查阅 我的启用 URL 是重定向。My Start URL is a redirect将会怎么样?),URL 自动添加到表中。
  • 如果选中了表选项中未指定为限制的遵循重定向,则会自动将 URL 添加到表中。当选中此选项时,如果 SOAtest 在扫描期间遇到了重定向,并且该重定向未在允许/限制 URL 表中指定,则它将被加载。SOAtest 还将为重定向到允许/限制 URL 表自动添加一个受允许的 URL。

...

有关常用挂钩选项的完整说明,请查阅 SOAtest 扩展 API。选择 Parasoft> 帮助Help,然后查询标题为 "Parasoft SOAtest Extensibility API” 的书。

...