按列名识别 table 个单元格
Identify table cells by column name
假设我有以下 table:
|A|B|C|
|1|2|3|
|4|5|6|
要从(第 1 行,第 2 列)修改值(从 2 到 7),我使用了以下行:
mouseClick(waitForObjectItem(":Dummy_JTable", "0/1"))
type(waitForObject(":Dummy_JTable"), "7")
...但是如果要在 SW 中引入新功能,假设在 A 和 [= 之间有一列 D 23=]B,那么上面提到的代码会将 7 放入新列 D.
有没有办法键入与列 names/text 相关的值(table header)?
更新:我在 Python 中使用 Squish 5.1.3。
根据你所说的,我不相信有。您可以做的是编写一个函数,读取所有 table 项,以及 returns 您要查找的项。例如:
children = object.children(":Dummy_JTable")
for counter in range(len(children)):
cell_value = children[counter].text
if cell_value == "searched cell value":
mouseClick(waitForObjectItem(":Dummy_JTable", children[counter]))
type(waitForObject(":Dummy_JTable"), "7")
"searched cell value" = the value you expect to be in the cell.
我测试的软件也有这个问题,因为我经常遇到GUI变化,我真的必须使用这种功能,即使使用cell/row也容易得多。
假设我有以下 table:
|A|B|C| |1|2|3| |4|5|6|
要从(第 1 行,第 2 列)修改值(从 2 到 7),我使用了以下行:
mouseClick(waitForObjectItem(":Dummy_JTable", "0/1"))
type(waitForObject(":Dummy_JTable"), "7")
...但是如果要在 SW 中引入新功能,假设在 A 和 [= 之间有一列 D 23=]B,那么上面提到的代码会将 7 放入新列 D.
有没有办法键入与列 names/text 相关的值(table header)?
更新:我在 Python 中使用 Squish 5.1.3。
根据你所说的,我不相信有。您可以做的是编写一个函数,读取所有 table 项,以及 returns 您要查找的项。例如:
children = object.children(":Dummy_JTable")
for counter in range(len(children)):
cell_value = children[counter].text
if cell_value == "searched cell value":
mouseClick(waitForObjectItem(":Dummy_JTable", children[counter]))
type(waitForObject(":Dummy_JTable"), "7")
"searched cell value" = the value you expect to be in the cell.
我测试的软件也有这个问题,因为我经常遇到GUI变化,我真的必须使用这种功能,即使使用cell/row也容易得多。