你可以自定义可在场景录制期间录制的可单击元素。要修改的脚本位于以下目录中:
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
变量
SOAtest 在记录期间使用 UserCustomizableOptions.js 中定义的数组变量。下面是这个脚本中当前可用的变量。
ext.options.clickableAttributes
该变量定义了 SOAtest 在决定是否应该记录对该元素的单击时所查找的 html 元素的属性类型。例如,onclick 用于初始化脚本执行,在这个数组中是一个很好的候选项。
ext.options.clickableTags
该变量定义了 SOAtest 在记录单击操作时会考虑的 html 标记。在 Ajax web 应用程序中,有时会单击诸如 span 或 li 之类的标记,从而导致某些功能在客户端执行。此变量用于定义此类标记。
ext.options.clickableInputTypes
该变量定义了 SOAtest 在记录单击时将考虑的表单输入类型。默认情况下,文本和 textarea 之类的类型不被认为是可单击的,因为用户通常单击它只是为了获得焦点并输入文本。
ext.options.structuralTags / ext.options.containerTags
这些变量一起工作,以限制针对元素记录用户操作的情况。如果前一个变量中指定的元素至少有一个子元素(直接或间接),则不会为前一个变量中指定的元素记录用户操作。
例如,SOAtest 通常记录单击 div 元素上的操作。然而,有时 div 元素可能不用作 UI 元素;相反,它可以用作包含许多其他元素的容器元素(例如,它可以包含包含许多其他元素的表)。在本例中,SOAtest 可能会对包含该表的容器 div 记录一个单击操作,但是你可能不希望在这里记录一个单击操作,因为 div 是作为容器元素而不是作为较低级别的 UI 元素使用的。若要告诉 SOAtest,在 div 包含表元素的情况下,它不应该记录针对 div 的单击操作,则你将确保 ext.options.structuralTags
数组(或等效数组)包含"div",同时 ext.option.containerTags
数组(或等效数组)包含"table"。
ext.options.disallowedTags
该变量包含一个永远不会被记录的标签列表,即使它们满足其他记录条件。
ext.options.locatorBuildersOrder
该变量定义了 SOAtest 用来创建定位器的顺序。创建定位器来标识页面上的 html 元素,用户操作应该在该元素上执行。在回放过程中需要重复用户操作。该顺序的构造使得在创建定位器时,元素中的可视属性更有利。
选择 Parasoft> Preferences> Browser 并启用 Print debugging information 选项启用控制台中的调试信息,并查看 使用哪个定位器生成器。
Locator - /descendant::img[@id='changeing'][1]. Used id builder.
这告诉你实际上使用了来自 LocatorBuilders.order 的什么定位器(在上面的示例中,使用了 Used id builder
)。有关该选项的更多信息,请参见 Browser Settings 。
ext.options.preferredAttributesOrder
该字段由上面的 ext.optionslocatorBuilders.order 的定位构建器 'attributesXPath' 和 'attributesXPathWithIndex’ 使用。调用时,此数组确定使用的首选属性。你可以向该数组添加、删除或重新排序属性名,以更好地自定义为站点上的元素构建的定位器。删除属性将阻止前面提到的定位器构建器使用它(如果你知道 web 页面上的某些属性是动态的,并且不应该使用,那么这一点可能很重要)。对属性重新排序将更改属性的优先级。数组的第一个属性(如“id”)优先于在定位器中使用的最后一个元素。
ext.options.displayDialogs
此变量确定 SOAtest 是否会在回放期间显示警报、确认和提示对话框。请注意,允许这些对话框在回放期间显示需要用户以其他方式关闭对话框(例如,使用 AutoIT 脚本)。
ext.options.xpathLibrary
该变量允许你配置 SOAtest 来使用特定的 Xpath 库来解析 web 场景中使用的 Xpath 定位器。它只适用于 IE 和 Chrome 浏览器。该选项有三个可能的值:ajaxlt、wgxpath 和 default。
- ajaxlt: 使用谷歌 Ajaxlt Xpath 实现:http://code.google.com/p/ajax-slt/
- wgxpath: 使用 https://github.com/google/wicked-good-xpath上的 Wicked Good Xpath 实现
- default: 使用默认实现(目前是 Wicked Good XPath)。