本主题提供关于如何在 SOAtest 和 Virtualize 中录制日历小部件(例如,使用文本输入字段实现的旅游网站的日历)点击的提示。

章节目录:

了解文本输入字段的默认记录行为

默认情况下,点击文本输入字段不会作为单独步骤进行录制。这是为了防止不必要的噪音。例如,在登录字段中键入用户名凭据将被录制为两个步骤:一个用于点击该字段,另一个用于键入。 

但是您可以修改该行为,使其与您正在验证的功能保持一致。例如,旅游网站经常会有出发和返回日期字段,当点击时打开一个日历小部件。当用户在日历中点击日期元素时,将填充日期。使用这些操作创建 web 录制后,您会发现日历元素上的点击操作已被录制,但是前面在文本输入字段上的点击操作并没有。回放过程中,由于无法找到日历,日历元素点击操作将会失败。

修改文本输入字段的录制行为

修改文本输入字段的录制行为有三种方式:

  • 许多用于选择日期的文本输入字段都有一个日历图标,用于打开日历小部件表单。如果有,点击此图标而不是文本输入字段。
  • 录制场景并手动添加步骤,以便稍后点击文本输入字段。
  • 修改 UserCustomizableOptions.js 文件(详情请参阅以下过程)。然而,这将造成上述不必要的测试或操作。

修改 UserCustomizableOptions.js 配置文件

  1. 打开配置文件。 更多信息,请参阅自定义录制选项

  2. 找出代码中与以下片段相似的部分:

    ext.options.clickableInputTypes = [
            "submit",  //record click event on submit input type element
            "button", //record click event on button input type element
            "image", //record click event on image input type element
            "radio", //record click event on radio input type element
            "checkbox", //record click event on checkbox input type element "reset" //record click event on reset input type element
    ]
  3. 将 text 类型添加在括号“[ ]”之间:

    ext.options.clickableInputTypes = [
           "text", //text on travelocity.com
           "submit",  //record click event on submit input type element
           "button", //record click event on button input type element
           "image", //record click event on image input type element
           "radio", //record click event on radio input type element
           "checkbox", //record click event on checkbox input type element "reset" //record click event on reset input type element
    ]
  • No labels