- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Silk4J 自动化测试。对于SapTree [MicroFocus]类,有方法getColumnHeaders() [Microfocus] , getColumnNames() [MicroFocus]和 getColumnTitles() [MicroFocus] .
它们的描述非常相似,我正在尝试理解它们之间的差异。
到目前为止我发现了什么:
这就是我的树在 SAP GUI 中的样子(称为列树):
这是名称和标题之间的区别 - 在我的例子中仅在第一列中:
Column name: ZMAPP_STEXT
Column header: HierarchyHeader
Column name: ORG_OBJID
Column header: ORG_OBJID
Column name: ORG_SHORT
Column header: ORG_SHORT
Column name: ORG_BEGDA
Column header: ORG_BEGDA
Column name: ORG_ENDDA
Column header: ORG_ENDDA
...
我已经尝试过:
那么,getColumnHeaders()、getColumnNames() 和 getColumnTitles() 之间有什么区别? 在什么情况下我需要哪种方法?这取决于树的类型吗?
最佳答案
此答案仅适用于 Silk4J,我没有尝试直接使用 SAP 脚本。
getColumnHeaders()
getColumnHeaders() 返回理论上可用的所有列的列表。其中一些可能已被用户通过列配置取消选择。即使未选择,此方法也会返回所有技术栏名称,而不是屏幕上显示的人类可读名称。
列配置对话框中的一些复选框对应于树中的两列。在上面的屏幕截图中,Gültigkeitszeitraum
处的复选框触发了 ORG_BEGDA
和ORG_ENDDA
列。因此树中的列数与列配置中的复选框数量并不是 1:1 相关。
用户无法删除第一列,报告为 HierarchyHeader
通过这种方法。对话框中没有相应的复选框。
与其他方法进行比较的示例列标题:
HierarchyHeader // this seems to be a fixed text for the first column
COL2 // here: ORG_OBJID for the Id column
COL3
COL4
COL5 // here: ORG_SHORT for the "Kürzel" column
...
COL14
getColumnNames()
getColumnNames() 返回当前显示在树中的列的列表,即用户通过列配置选择的列。
重要的是要知道:列名称列表然后用 null
填充到左侧项目。您不能调用getColumnIndexFromName()
和getColumnTitleFromName()
与 null
作为参数。
示例输出:
COL1 // corresponds to HierarchyHeader but is not the string "HierarchyHeader"
COL2 // here: ORG_OBJID
COL5 // here: ORG_SHORT
COL9 // here ORG_BEGDA
COL10 // here: ORG_ENDDA
null
...
null
getColumnTitles()
Silk4J 中的 getColumnTitles() 返回与 getColumnHeaders()
完全相同的结果。这有点奇怪,因为方法 getColumnTitleFromName()
返回屏幕上显示的人类可读文本,这表明 getColumnTitles()
也应该这样做。
这似乎不是 Silk4J 中的错误,因为它使用正确的属性名称从 SAP 脚本自动化(反编译的 JAR)获取它:
关于java - getColumnHeaders()、getColumnNames() 和 getColumnTitles() 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28873934/
我正在使用 Silk4J 自动化测试。对于SapTree [MicroFocus]类,有方法getColumnHeaders() [Microfocus] , getColumnNames() [Mi
我是一名优秀的程序员,十分优秀!