问题标签 [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.

0 投票
1 回答
107 浏览

sap - 如何为 findNodeKeyByPath() 构造一个有效的参数?

要访问 SAP 树中的项目,大多数方法都需要一个标识节点的键。要获得这样的密钥,您需要 function findNodeKeyByPath()。描述说:

返回给定路径的节点键(例如 2\1\2)。
path 节点路径。细绳。

我需要得到树中第一个项目的第一个孩子。使用"0"会引发异常。根元素的索引似乎从 1 而不是 0 开始。使用"1""2"给了我正确的键。

但是我用反斜杠尝试的任何东西都不起作用。"1\0"不会抛出异常,"1\1". 但是这两个参数都返回节点的键"1"而不是子节点的键。

我需要如何在 SilkTest (Silk4J, SAP) 中构建路径以获取有效密钥?

0 投票
1 回答
491 浏览

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 的实际行数?

0 投票
0 回答
49 浏览

silktest - 有什么方法可以在 SilkTest 中使用 `SetText()` 传递 100 000 个字符

我知道 Silk Test 的SetText(). 我们可以超过这个限制并使用 传递更多字符(例如 100 000)SetText()吗?

0 投票
1 回答
102 浏览

java - 加密密码以与 SetPasswordText() 一起使用

我正在使用 Silk4J 实现 UI 测试。要登录,我SetText()一直使用这种方法。但是,在我的源代码中使用纯文本密码并不是一个好主意。

现在我发现还有SetPasswordText() [MicroFocus],它以加密密码为参数。

不幸的是,文档没有指定将我的明文密码转换为加密密码的方法。我怎样才能做到这一点?

我发现一个网站提到了一个工具,但我的机器上不存在该工具。它还提到了一个Encrypt()方法,但对于 Java,我至少需要一个类名才能访问该方法。

0 投票
1 回答
540 浏览

java - 无法将程序作为 Silk4J 测试运行

我试图自动化一个基于 Eclipse 的独立应用程序。我使用 Silk4J 录制了一个脚本,我也可以单独运行该脚本。

在同一个包下,我又创建了一个.java调用脚本的文件。但我无法将.java文件作为“Silk4j 测试”运行。该选项不可用。

为了运行.java最终将运行脚本的文件,我应该进行哪些更改?

0 投票
1 回答
51 浏览

java - 检查树中的节点是否被删除

我正在SapTree使用以下代码从 a 中删除节点:

但是,有时我无法删除项目,例如由于权限或其他依赖关系。如何检查是否可以删除该项目?

以上所有方法都返回void,因此没有反馈。

我尝试了什么?

我查阅了文档(SapTree [MicroFocus]),寻找一种可以获取密钥并返回某些内容的方法。我希望找到一种boolean exists(String key)或类似的方法。

0 投票
1 回答
990 浏览

java - getColumnHeaders()、getColumnNames() 和 getColumnTitles() 之间的区别

我正在使用 Silk4J 自动化测试。对于SapTree [MicroFocus]类,有方法getColumnHeaders( ) [Microfocus] 、getColumnNames() [MicroFocus]getColumnTitles() [MicroFocus]

它们的描述非常相似,我试图理解它们之间的差异。

到目前为止我发现了什么:

  • 这些方法返回不同的结果。就我而言,它仅在第一个元素上有所不同,我不确定在更多情况下它是否会有所不同。

这是我的树在 SAP GUI 中的样子(称为列树):

SAPTree 屏幕截图

这是名称和标题之间的区别 - 在我的情况下只是在第一列:

我努力了:

  • 我询问了 MicroFocus 支持,但答案是,这基本上是 SAP 自动化文档的副本
  • 我得到了一份SAP GUI Scripting API [SAP]的副本,并查阅了 GuiTree 类的文档,但那个更糟。

那么,getColumnHeaders()、getColumnNames() 和 getColumnTitles() 有什么区别呢?在什么情况下我需要哪种方法?它取决于树的类型吗?

0 投票
1 回答
1977 浏览

tree - getNodeText() 不返回对象管理器搜索树的文本

我在 SAP 中看到以下搜索树:

SAP 对象管理器搜索树

我正在尝试验证该树的内容,主要是我想获取为节点显示的文本。我正在使用getNodeText() [MicroFocus]来获取节点的文本,但它为所有节点返回一个空字符串。

作为替代方案,我尝试使用getItemText() [MicroFocus]"HierarchyHeader"作为itemName参数。仍然没有运气。

所以从 Silk4J 的角度来看,树看起来像这样,这使得无法识别节点:

Silk4J 的 SAP 对象管理器搜索树

我什至尝试使用getNodeAbapImage() [MicroFocus]返回的图标来识别节点,但这也返回一个空字符串。

现在我没有任何机会识别搜索树中的节点。有没有办法获取节点文本?解决方法也是可以接受的。

我正在使用 Silk4J 15.5 修补程序 5 (15.5.5.7099)。

0 投票
1 回答
441 浏览

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:

Screenshot SAP create relation

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 and ListItems. Calling getItemText() with any of those header names does not return the text displayed to the user.
0 投票
2 回答
488 浏览

silktest - Silk4Net 和 Silk Workbench 集成

是否可以从 Workbench 调用用 Silk4Net 编写的脚本?我们正在开始使用 SilkTest 构建自动化框架,并希望能够将其表达给我们的测试人员和开发人员。