您可以自定义可在场景录制期间录制的可单击元素。要修改的脚本位于以下目录中:
Chrome: <INSTALL>/eclipse/plugins/com.parasoft.xtest.libs.web_<version>/root/browsers/chrome/UserCustomizableOptios.js
Internet Explorer: <INSTALL>/plugins/com.parasoft.xtest.libs.web_<version>/root/browsers/ie/UserCustomizableOptions.js
Firefox: <INSTALL>/plugins/com.parasoft.xtest.libs.web_<version>/root/browsers/ff/UserCustomizableOptions.js
Chrome 和 Internet Explorer 变量
录制期间使用 UserCustomizableOptions.js 脚本中定义的以下数组变量:ext.options.clickableAttributes
单击 HTML 元素, 该元素有在此变量中定义的属性类型 录制。例如, onclick
用于初始化脚本执行,在这个数组中是一个很好的候选项。
ext.options.clickableTags
单击此变量中定义的 HTML 标记将被录制。例如,在 Ajax web 应用程序中,有时标签(如 <span>
或 <li>
)在单击时会触发客户端的功能。
ext.options.clickableInputTypes
单击此变量中定义的表单输入类型将被录制。默认情况下,诸如 text
和 textarea
文本和文本区域之类的类型是不可单击的,因为用户通常单击它只是为了获得焦点并输入文本。
ext.options.structuralTags / ext.options.containerTags
这些变量限制了针对元素录制的用户操作的范围。如果在 ext.options.containerTags
变量中命名的元素具有至少一个在 ext.options.structuralTags
变量中指定的子元素(直接或间接),则不会录制用户操作。
例如,单击 <div>
元素上的操作通常会被录制下来,但有时 div 元素可能不会包含 元素。例如, <div>
可能包含一个表,其中包含许多其他元素。如果您不想录制用作表容器的 div 的点击动作,可以配置不录制点击动作的变量:
ext.options.structuralTags = [ "div", "span" ]; ext.option.containerTags = [ "table", "ul" ];
ext.options.disallowedTags
该变量包含一个永远不会被录制的标签列表,即使它们满足其他录制条件。
ext.options.locatorBuildersOrder
此变量定义用于创建定位器的顺序。定位器标识发生用户动作的 HTML 元素,在回放过程中需要使用这些 HTML 元素来重复用户动作。该默认顺序的构造使得在创建定位器时,元素中的可视属性更有利:
ext.options.locatorBuildersOrder = [ 'link', // Look for links text. e.g. link=WebKing will find <a href..>WebKing</a> 'visibleFormElementText', // Use visible text connected to form elements 'text', // Use text that appears within the element to locate the element 'id', // Use the id attribute to locate the element 'name', // Use the name attribute to locate the element 'linkXPath', // Use a relative XPath that checks for img alt text or contains a string in the link text 'attributesXPath', // Use a relative XPath that checks for various attributes in the element 'attributesXPathWithIndex', 'positionXPath' // An XPath that may be a relative or complete (no attributes are used) ];
启用调试信息以找出使用哪个定位器生成器。选择 Parasoft> Preferences> Browser ,启用 Print debugging information 选项。在以下示例中,使用了id
构建器:
Locator - /descendant::img[@id='changeing'][1]. Used id builder.
有关该选项的更多信息,请参见 Browser Settings 。
ext.options.preferredAttributesOrder
定位器的 attributesXPath
和 attributesXPathWithIndex
构建器使用此字段(请参阅 ext.options.locatorBuilders.order参考资料)。调用时,此数组确定使用的首选属性。您可以向该数组添加、删除或重新排序属性名,以更好地自定义为站点上的元素构建的定位器。删除属性将阻止前面提到的定位器构建器使用它(如果您知道 web 页面上的某些属性是动态的,并且不应该使用,那么这一点可能很重要)。对属性重新排序将更改属性的优先级。数组的第一个属性(如“id”)优先于在定位器中使用的最后一个元素。
ext.options.displayDialogs
将该变量设置为 true
,以在播放过程中显示警告、确认和提示对话框。允许这些对话框在播放期间显示需要用户关闭对话框。可以自动执行关闭操作(例如,用 AutoIT 脚本)。
ext.options.xpathLibrary
您可以使用此变量来指定 Xpath 库,用于解析 Web 场景中使用的 Xpath 定位器。它只适用于 IE 和 Chrome 浏览器。此选项具有三个可能的值:
ajaxlt
: 使用 Google Ajaxlt Xpath 实现:http://code.google.com/p/ajax-slt/wgxpath
: 使用 https://github.com/google/wicked-good-xpath上的 Wicked Good Xpath 实现default
: 使用默认实现(目前是 Wicked Good XPath)。
Firefox 变量
Firefox的 users.js 脚本中的变量和值作为 user_pref
方法的参数传递。它们执行与 Chrome and Internet Explorer Variables相同的功能,但格式不同。
extensions.soatestFirefoxRecorder.clickableAttributes
请查阅 ext.options.clickableAttributes。
extensions.soatestFirefoxRecorder.clickableTags
请查阅 ext.options.clickableTags。
extensions.soatestFirefoxRecorder.clickableInputTypes
请查阅 ext.options.clickableInputTypes。
extensions.soatestFirefoxRecorder.structuralTags / extensions.soatestFirefoxRecorder.containerTags
请查阅 ext.options.structuralTags / ext.options.containerTags。
extensions.soatestFirefoxRecorder.disallowedTags
请查阅 ext.options.disallowedTags。
extensions.soatestFirefoxRecorder.locatorBuilderOrder
请查阅 ext.options.locatorBuildersOrder。
extensions.soatestFirefoxRecorder.preferredAttributesOrder
请查阅 ext.options.preferredAttributesOrder。