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 に答える