无法在编码 ui 中获取 WinTable 的列 headers

Can not get column headers for WinTable in coded ui

我正在测试一个 winform 应用程序,我想获取 table 的列 headers。我尝试使用 UITesting.WinControls 的方法,但它显示 class 路径而不是列名称。 到目前为止,我尝试了 Column Headers、getColumsn,但无法获取列名。

下面的代码给我这个 -> Microsfost.VisualStudio.TestTools,UITesting.UITestControlCollection

        WinTable uIG1Table = this.UIProMANAGEWindow.UIMakineListesiWindow.UIG1Window.UIG1Table;

        MessageBox.Show(uIG1Table.ColumnHeaders.ToString());

下面的代码带来了这个 -> System.String[]

        MessageBox.Show(uIG1Table.GetColumnNames().ToString());

System.String[] 的输出表明您有一个字符串数组。要获取您需要索引到数组中的各个列名称。尝试如下代码:

string allHeaders = "";
foreach (string header in uIG1Table.ColumnHeaders)
{
    allHeaders += header + ", ";
}
MessageBox.Show(allHeaders);

另外:

string allHeaders = "";
for (int index=0; index<uIG1Table.ColumnHeaders.Length; index++)
{
    allHeaders += index + ":" + uIG1Table.ColumnHeaders[index] + ", ";
}
MessageBox.Show(allHeaders);