UI Otomasyon Testi için en iyi uygulama, mümkün olduğunca az şey yapmaktır. Kullanıcı arayüzleri sık sık değişir, yani otomasyonunuzu sürekli güncellemeniz gerekir. Ürün kodunu genellikle UI Otomasyonu olmadan otomatik test yapılmasına izin verecek şekilde yapılandırmak tercih edilir.
Bununla birlikte, her zaman UI Otomasyonundan kurtulamayacaksınız. Ofisten bahsediyorsunuz, bu yüzden Windows için kodlama yaptığınızı ve .Net kullandığınızı varsayıyorum. Şu anki işimde biraz çalışıyorum. İşte öğrendiğim bazı şeyler.
1) .Net 3.0'da sunulan UIAutomation kütüphanelerine bakın. Otomasyon için kapsamlı ve kullanımı oldukça kolay bir kütüphane sağlarlar. (Http://msdn.microsoft.com/en-us/library/ms753107.aspx)
2) UISpy'ı indirin (http://msdn.microsoft.com/en-us/library/ms727247.aspx)
3) Ürününüzün kullanıcı arayüzlerini Otomatikleştirin.
3a) WPF ise AutomationID'leri her şeye koyun.
3b) Farklı denetim ve pencere sınıfı adları (kaynak kodu sınıf adı değil UI Sınıfı adları) oluşturmaya çalışın. Ne demek istediğimi bilmiyorsanız, UI Spy'ı yükleyin ve pencerelere bakmaya başlayın. Farklı uygulamalardaki kaç pencerenin # 32770 sınıf adına sahip olduğuna dikkat edin. Bu, Windows İletişim Kutusu'nun sınıf adıdır. İletişim kutusunu genişleten ve kendi adını ayarlamayan herhangi bir pencere, varsayılan olarak budur. Bu, bir UI Otomasyon açısından her türlü kedere neden olur.
4) Thread.Sleep () ifadelerinden kaçının. Bunun yerine Garsonlar'ı kullanmayı deneyin (bkz. UIAutomation belgeleri).
5) Test kodunu ASLA UI Otomasyon koduyla karıştırmayın. UI Otomasyonunu gerçekleştirmek için ayrı kütüphaneler oluşturun. Bu kütüphaneleri testlerinizden çağırın. Kullanıcı arayüzü değiştiğinde, otomasyonun güncellenmesi çok daha kolay olacaktır.
6) Olayın tetiklenmesine neden olacak eylemi gerçekleştirmeden önce mutlaka bir UI Etkinliği için bir dinleyici kaydedin. Pratikte, bu konu ile çalışacağınız anlamına gelir.
6a) Örnek: pencereyi açmak için bir düğmeyi tıklattıktan sonra Pencere Açıldı olayını beklemeye başlamayın. Pencere, garson kaydedilmeden önce açılabilir ve asla olayı alamaz.
7) Asla yeni açılan pencerenin istediğiniz pencere olduğunu varsaymayın. Windows'ta her türlü pencere beklenmedik bir şekilde açılabilir.
Daha fazla devam edebilirdim, ama bu biraz uzun sürüyor.