问题标签 [silktest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sap - 如何为 findNodeKeyByPath() 构造一个有效的参数?
要访问 SAP 树中的项目,大多数方法都需要一个标识节点的键。要获得这样的密钥,您需要 function findNodeKeyByPath()
。描述说:
返回给定路径的节点键(例如 2\1\2)。
path 节点路径。细绳。
我需要得到树中第一个项目的第一个孩子。使用"0"
会引发异常。根元素的索引似乎从 1 而不是 0 开始。使用"1"
并"2"
给了我正确的键。
但是我用反斜杠尝试的任何东西都不起作用。"1\0"
不会抛出异常,"1\1"
. 但是这两个参数都返回节点的键"1"
而不是子节点的键。
我需要如何在 SilkTest (Silk4J, SAP) 中构建路径以获取有效密钥?
sap - SapTable 中填充的行数
我正在使用 Silk4J,并且我有一个SapTable
在 Locator Spy 中报告的表格。从该表中,我试图获取第二列的所有文本,但它挂起或终止并出现异常。在下面,您可以找到我尝试的代码。最后我到达了桌子的最后一行,但它又挂在那里了。
在所有示例中,我都使用 while 循环而不是 for 循环,因为我想稍后插入更多条件。
尝试1:直截了当(我想)
但是,此代码打印所有可见列,然后挂起。
尝试 2:PageDn通过 Silk 添加按键
由于 try 1 只打印可见单元格,我认为每页添加一个按键可能会有所帮助。那是我的代码:
不幸的是,这会导致异常“未启用虚拟键”。
尝试 3:PageDn通过 AwtRobot 添加按键
由于内置sendVKey
方法不起作用,但按PageDn手动工作,我切换到 AwtRobot:
现在按下键可以工作,我可以看到表格滚动到下一个条目。但是,我的测试应用程序仍然挂起。
尝试 4:重置行数
再次使用定位器间谍,我发现行的索引被重置为零,所以我在我的代码中模仿了它:
在这种情况下,它打印列表的前 N(可见数)项,滚动到位置 N+1,打印第一行(!)的名称,然后在访问索引为 1 的项时挂起(重置后)。
尝试5:睡觉
睡了一会儿,我可以走到桌子的尽头:
在这种情况下,我得到了表中的所有项目。但由于我不知道表格何时结束,它会再次getCell()
调用,导致再次挂起。
问题
我真的被困住了。我还寻找其他方法,例如获取表中的实际行数(getRowCount()
没有),但还没有找到。
如何在 Silk4J 中获取 SapTable 的实际行数?
silktest - 有什么方法可以在 SilkTest 中使用 `SetText()` 传递 100 000 个字符
我知道 Silk Test 的SetText()
. 我们可以超过这个限制并使用 传递更多字符(例如 100 000)SetText()
吗?
java - 加密密码以与 SetPasswordText() 一起使用
我正在使用 Silk4J 实现 UI 测试。要登录,我SetText()
一直使用这种方法。但是,在我的源代码中使用纯文本密码并不是一个好主意。
现在我发现还有SetPasswordText() [MicroFocus],它以加密密码为参数。
不幸的是,文档没有指定将我的明文密码转换为加密密码的方法。我怎样才能做到这一点?
我发现一个网站提到了一个工具,但我的机器上不存在该工具。它还提到了一个Encrypt()
方法,但对于 Java,我至少需要一个类名才能访问该方法。
java - 无法将程序作为 Silk4J 测试运行
我试图自动化一个基于 Eclipse 的独立应用程序。我使用 Silk4J 录制了一个脚本,我也可以单独运行该脚本。
在同一个包下,我又创建了一个.java
调用脚本的文件。但我无法将.java
文件作为“Silk4j 测试”运行。该选项不可用。
为了运行.java
最终将运行脚本的文件,我应该进行哪些更改?
java - 检查树中的节点是否被删除
我正在SapTree
使用以下代码从 a 中删除节点:
但是,有时我无法删除项目,例如由于权限或其他依赖关系。如何检查是否可以删除该项目?
以上所有方法都返回void
,因此没有反馈。
我尝试了什么?
我查阅了文档(SapTree [MicroFocus]),寻找一种可以获取密钥并返回某些内容的方法。我希望找到一种boolean exists(String key)
或类似的方法。
java - getColumnHeaders()、getColumnNames() 和 getColumnTitles() 之间的区别
我正在使用 Silk4J 自动化测试。对于SapTree [MicroFocus]类,有方法getColumnHeaders( ) [Microfocus] 、getColumnNames() [MicroFocus]和getColumnTitles() [MicroFocus]。
它们的描述非常相似,我试图理解它们之间的差异。
到目前为止我发现了什么:
- 这些方法返回不同的结果。就我而言,它仅在第一个元素上有所不同,我不确定在更多情况下它是否会有所不同。
这是我的树在 SAP GUI 中的样子(称为列树):
这是名称和标题之间的区别 - 在我的情况下只是在第一列:
我努力了:
- 我询问了 MicroFocus 支持,但答案是,这基本上是 SAP 自动化文档的副本
- 我得到了一份SAP GUI Scripting API [SAP]的副本,并查阅了 GuiTree 类的文档,但那个更糟。
那么,getColumnHeaders()、getColumnNames() 和 getColumnTitles() 有什么区别呢?在什么情况下我需要哪种方法?它取决于树的类型吗?
tree - getNodeText() 不返回对象管理器搜索树的文本
我在 SAP 中看到以下搜索树:
我正在尝试验证该树的内容,主要是我想获取为节点显示的文本。我正在使用getNodeText() [MicroFocus]来获取节点的文本,但它为所有节点返回一个空字符串。
作为替代方案,我尝试使用getItemText() [MicroFocus]"HierarchyHeader"
作为itemName
参数。仍然没有运气。
所以从 Silk4J 的角度来看,树看起来像这样,这使得无法识别节点:
我什至尝试使用getNodeAbapImage() [MicroFocus]返回的图标来识别节点,但这也返回一个空字符串。
现在我没有任何机会识别搜索树中的节点。有没有办法获取节点文本?解决方法也是可以接受的。
我正在使用 Silk4J 15.5 修补程序 5 (15.5.5.7099)。
treeview - Text in tree does not match text which is displayed
When creating a relation in SAP and in case there are several possible types of relations, SAP shows a dialog to choose the relation like this:
However, when I query the node text using SapTree.getText()
of Silk4J, I get the following results:
Where does this text come from, what does it mean and how do I get the text that is displayed to the user?
I have tried
- there are no column names returned by
SapTree.getColumnNames()
- there are no column titles returned by
SapTree.getColumnTitles()
SapTre.getColumnHeaders()
returns two items,HierarchyHeader
andListItems
. CallinggetItemText()
with any of those header names does not return the text displayed to the user.
silktest - Silk4Net 和 Silk Workbench 集成
是否可以从 Workbench 调用用 Silk4Net 编写的脚本?我们正在开始使用 SilkTest 构建自动化框架,并希望能够将其表达给我们的测试人员和开发人员。