1

我在 Ranorex 软件中使用 C# 进行测试自动化。我从 XML 文件中获取要单击的按钮的名称和方法:

string deviceName = device.SelectSingleNode("./ButtonInTTS").InnerText.Replace(" ", "");

我得到一个字符串,其名称告诉我在我的应用程序中单击哪个按钮,然后有这个方法:repo.TiTouchScreenApp.ToolbarListBox。按钮.DoubleClick();

事实上,在 Ranorex 中,您拥有所有按钮的库,我需要将 Button 的名称更改为 deviceName 的结果。例如,如果 deviceName == "Automation",它将执行 repo.TiTouchScreenApp.ToolbarListBox。自动化.DoubleClick();

deviceName == "温度"

repo.TiTouchScreenApp.ToolbarListBox。温度.DoubleClick();

但我想在没有 IF 的情况下做到这一点。因为我有很多按钮而且我不想要:

if(deviceName == "Automation"){     
    repo.TiTouchScreenApp.ToolbarListBox.Automation.DoubleClick();
} else if(deviceName == "Temperature") {
    repo.TiTouchScreenApp.ToolbarListBox.Temperature.DoubleClick();
} etc etc...

你看到解决方案了吗?

4

1 回答 1

2

如果 repo.TiTouchScreenApp.ToolbarListBox 返回控件列表,例如按钮,则执行以下操作:

var button = repo.TiTouchScreenApp.ToolbarListBox.Buttons.Where(b => b.Name == deviceName).FirstOrDefault();

if(button != null)
{
  button.DoubleClick();
}
于 2012-07-03T13:37:54.297 回答