我正在使用Ranorex软件在C#中进行测试自动化。 我从XML文件和方法中获取了一个按钮的名称:
string deviceName = device.SelectSingleNode("./ButtonInTTS").InnerText.Replace(" ", "");
我得到一个字符串,其名称告诉我在我的应用程序中单击哪个按钮,然后有这个方法: 。repo.TiTouchScreenApp.ToolbarListBox 按钮 .DoubleClick();
事实上在Ranorex中你有所有按钮的库,我需要将Button的名称更改为deviceName的结果。 例如,如果deviceName ==“Automation”,它会这样做 repo.TiTouchScreenApp.ToolbarListBox的自动化 .DoubleClick();
deviceName ==“Temperature”
repo.TiTouchScreenApp.ToolbarListBox的温度 .DoubleClick();
但我想在没有IF的情况下这样做。因为我有很多按钮,我不想要:
if(deviceName == "Automation"){
repo.TiTouchScreenApp.ToolbarListBox.Automation.DoubleClick();
} else if(deviceName == "Temperature") {
repo.TiTouchScreenApp.ToolbarListBox.Temperature.DoubleClick();
} etc etc...
你看到了解决方案吗?
答案 0 :(得分:2)
如果repo.TiTouchScreenApp.ToolbarListBox返回一个控件列表,例如:按钮然后做这样的事情:
var button = repo.TiTouchScreenApp.ToolbarListBox.Buttons.Where(b => b.Name == deviceName).FirstOrDefault();
if(button != null)
{
button.DoubleClick();
}