2016-03-29 11 views
1

ile Infragistics Kullanıcı Arabirimi bileşenlerine erişme Izgaralar, durum çubukları vb. Dahil çeşitli Infragistics bileşenlerini kullanan bir C# WinForms uygulamasına sahibim.TestStack.White

TestStack.White kullanarak UI sınamasını otomatikleştirmeye çalışıyorum: Şimdiye kadar, düzenli .net bileşenleriyle başarıyla etkileşimde bulundum.

Uygulamayı keşfetmek ve istenen UI bileşenlerini bulmak/erişmek için Visual UI Otomasyon Doğrulama aracını kullanıyorum. Bir UltraStatusBar içinde vurgulanan Köprü metnine erişmem gerekiyor. Aşağıdaki

enter image description here

kullandığım C# kodudur. UltraStatuBar'ı içeren paneli ana pencereden ve durum çubuğunun kendisinden bu panelden başarıyla alabilirim ancak bir şekilde UltraStatusBar içindeki UI bileşenlerine erişemedim.

enter image description here

Herhangi bir ipuçları?

cevap

1

Eğer Beyaz UIAComWrapper şubesini kullanarak denediniz ise, yerli MS UI Otomasyon tarafından kontrolleri bulmaya? Çok sayıda Infragistics denetiminin MS Automation 3.0 olmadan erişilemediğini (UIAComWrapper'ın sardığı şey) buldum.

0

UIComWrapper kullanarak neler görülebileceğini gösteren UIA Verify 2.0 kullandığınız anlaşılıyor. Beyaz UICom olmadan MS UI Otomasyon kullanır.

Olası çözüm değil - Beyazlar sorunu

var elementsCollection = statusBar.AutomationElement.FindAll(TreeScope.Children, Condition.TrueCondition); 
    foreach (AutomationElement element in elementsCollection) 
    { 
     if (element.Current.AutomationId.Contains("lblFileName")) 
     { 
      //do what you need 
     } 
    }