Truclient-如何将击键发送到无序列表<ul>元素

时间:2019-04-29 14:43:22

标签: javascript loadrunner microfocus truclient

我们使用的Javascript UI库将组合框建模为HTML中的无序列表,例如

<ul>
<li>Item 1</li>
<li>Item 2</li>
...
</ul>

它呈现为一个组合框,用户可以在其中单击并从项目的下拉列表中进行选择。此控件不是输入字段,但是如果它具有焦点,则它确实接受击键,并将下拉列表滚动到列表中以键入字母开头的第一项。这是重要的测试功能。

但是Truclient不允许我向这种类型的对象发送击键-如果我使用“通用对象操作”,则允许的操作包括“按下键”,但只允许预定义键,例如ENTER,TAB,BACKSPACE等等。它不允许使用普通的字母键(例如“ s”)。当<ul>是目标对象类型时,“类型”操作不会出现在列表中。

那么如何向该控件发送一个简单的单字母按键呢? Truclient假定基于DOM元素类型的用户交互是可能的,这似乎是错误的-现代Web应用程序使用各种DOM结构来呈现复杂的UI(并允许与它们进行各种用户交互)。

是否可以向Truclient中的元素发送一个简单的单键击键?

2 个答案:

答案 0 :(得分:0)

是的。您可以从工具栏手动拖放单击步骤。之后,通过直接单击无序列表元素来设置目标对象。

答案 1 :(得分:0)

工具栏中没有直接键入对象的步骤。但是您可以尝试几种解决方法。

  1. 在对象步骤上使用eval JS,然后使用JS代码模拟按键。 TruClient通过变量名称“ object”传递目标测试对象。<​​/ li>
  2. 创建一个新动作并将该动作转换为从工具栏编码的动作。在编码的TruClient中,有一个TCS.object。[tc / userManaged] .. type API。相关文档可以从https://admhelp.microfocus.com/tc/en/12.60-12.62/Content/TruClient/reference/Coded-APIs.htm#type中找到。可以通过TCS.object.create,TCS.object.Descriptor方法创建对象。可能值得尝试的一种破解方法是记录对象相对步骤并将其禁用。然后将动作转换为已编码。可以从编码上下文直接引用记录的对象。

希望这会有所帮助。