Kayıttan Yürütme Sırasında Belirli Olaylar için Kodlanmış UI Testlerini Bekletme
Kodlu bir UI test kayıttan yürütmesinde, pencerenin belirmesi, işlem çubuğunun kaybolması vb. gibi belirli olayların olmasını beklemesi için testi yönlendirebilirsiniz. Bunu yapmak için aşağıdaki tabloda açıklandığı gibi uygun UITestControl.WaitForControlXXX() yöntemini kullanın. Bir denetimin WaitForControlEnabled() yöntemi kullanılarak etkinleştirilmesini bekleyen kodlanmış Kullanıcı Arabirimi testi örneği için bkz. İzlenecek yol: Kodlanmış Bir UI Testi Oluşturmak Düzenlemek ve Sürdürmek.
UITestControl.WaitForControlXXX() Yöntemleri
UITestControl.WaitForControlXXX() yöntemleri |
Açıklama |
---|---|
Fare veya klavye girişini kabul etmek için denetimin hazır olmasını bekler. Motor, bu API'yı tüm eylemlerin herhangi bir işlem yapmadan önce hazır olması gereken denetimi beklemeleri için örtülü olarak çağırır. Ancak, bazı ezoterik senaryolarda, açık çağrı yapmanız gerekebilir. |
|
Sihirbaz sunucuya çağrılar yaparak girişin bir takım zaman uyumsuz doğrulamasını yaparken denetimin etkinleştirilmesini bekler. Örneğin, sihirbazın Sonraki düğmesinin etkin () olmasını bekleyebilirsiniz. Bu yöntemin örneği için bkz. İzlenecek yol: Kodlanmış Bir UI Testi Oluşturmak Düzenlemek ve Sürdürmek. |
|
Denetimin UI'de belirmesini bekler. Örneğin, uygulama parametrelerin doğrulanmasını tamamladıktan sonra bir hata iletişim kutusu bekliyorsunuz. Doğrulama için harcanan zaman değişkendir. Bu yöntemi hata iletişim kutusunu beklemek için kullanabilirsiniz. |
|
Denetimin UI'den kaybolmasını bekler. Örneğin, ilerleme çubuğunun kaybolmasını bekleyebilirsiniz. |
|
Denetimin belirlenmiş özelliğinin verilen değere sahip olmasını bekler. Örneğin, durum metninin Bitti olarak değişmesini beklersiniz. |
|
Denetimin belirlenmiş özelliğinin verilen değerin tersine sahip olmasını bekler. Örneğin, düzenleme kutusu salt okunur olmamasını, başka bir deyişle düzenlenebilir olmasını beklersiniz. |
|
Belirlenmiş koşulun true olarak dönmesini bekler. Bu, yapılan bir denetimde karmaşık bekleme işlemi (OR koşulları gibi) için kullanılabilir. Örneğin, aşağıdaki kodda gösterildiği gibi durum metni Başarılı veya Başarısız olarak değişene kadar bekleyebilirsiniz:
|
|
Önceki yöntemler, UITestControl'un örnek yöntemleridir. Bu yöntem, statik bir yöntemdir. Bu yöntem belirlenmiş koşulun true olması için de bekler, fakat çoklu denetimlerde, (OR durumları gibi) karmaşık bekleme işlemi için kullanılabilir. Örneğin, aşağıdaki kodda gösterildiği gibi durum metni Başarılı olarak değişene ya da bir hata iletisi görüntülenene kadar bekleyebilirsiniz:
|
Bu yöntemler aşağıdaki davranışa sahiptir:
Bekleme başarılı ise yöntemler doğru, başarısız ise yanlış döndürür.
Bekleme işlem için kesin zaman aşımı belirtilir WaitForReadyTimeout özelliği. Bu özelliğin varsayılan değeri 60000 milisaniye (bir dakika)' dir.
Yöntemler milisaniyelerde bir açık zaman aşımı almak için aşırı yüklemeye sahiptir. Ancak, bekleme işlemi denetim için örtülü bir arama ile sonuçlanırsa ya da uygulama meşgul olduğunda, gerçek bekleme süresi belirtilen zaman aşımından daha fazla olabilir.
Önceki işlevler güçlü ve esnektir ve neredeyse tüm koşulları karşılaması gerekir. Ancak, bu yöntemler gereksinimlerinizi karşılamadığı durumda ve kodunuzda bir Wait(Int32) ya da bir Sleep(Int32) kodlamanızı gerekiyorsa, Thread.Sleep() API yerine Playback.Wait() kullanmanız önerilir. Bunun nedenleri şunlardır:
ThinkTimeMultiplier özelliğini uyku süresini değiştirmek için kullanabilirsiniz. Varsayılan olarak, bu değişken 1'dir, ancak kodun her yerindeki bekleme süresini değiştirmek için bunu azaltabilir veya artırabilirsiniz. Örneğin, özellikle bir yavaş ağ veya diğer yavaş performans çalışması üzerinde test yapıyorsanız, tüm konumlarda %50 ilave bekleme eklemek için, bu değişkeni bir konum üzerinde (veya hatta yapılandırma dosyası üzerinde) 1,5 olarak değiştirebilirsiniz.
Playback.Wait() içten Thread.Sleep() çağırır (sonra yukarıdaki hesaplamalar) daha küçük parçalar için-kullanıcı cancel\break işlem için kontrol ederken döngü içinde. Diğer bir deyişle, uyku özel durum atsa da atmasa da, Playback.Wait() beklemenin bitişinden önce kayıttan yürütmeyi iptal etmenize olanak verir.
Not
Kodlu UI Test Düzenleyicisi kodlanmış UI testlerinizi kolaylıkla değiştirmenizi sağlar. Kodlanmış UI Test Düzenleyicisi kullanarak test yöntemlerinizi bulabilir, görüntüleyebilir ve düzenleyebilirsiniz. Ayrıca UI eylemlerini ve bu eylemlerin UI denetim eşlemesindeki ilişkili denetimlerini düzenleyebilirsiniz. Kodlu UI Test Düzenleyicisi Microsoft Visual Studio 2010 Feature Pack 2'ye dahil edilmiştir. Özellik paketini karşıdan yüklemek için MSDN aboneliğiniz, Microsoft BizSpark veya MSDN Academic Alliance ile birlikte Visual Studio 2010 Ultimate, Visual Studio 2010 Premium veya Test Professional 2010 uygulamalarına sahip olmanız gerekir. Daha fazla bilgi için bkz. Editing Coded UI Tests Using the Coded UI Test Editor ve Microsoft Visual Studio 2010 Feature Pack 2.
Ayrıca bkz.
Görevler
Kodlanmış UI Testi Nasıl Oluşturulur
Kavramlar
Kullanıcı Arayüzü ile Otomatik UI Testlerini Test Etme
Kodlanmış UI Testleri ve Eylem Kayıtları için Desteklenen Yapılandırmalar ve Platformlar
Diğer Kaynaklar
İzlenecek yol: Kodlanmış Bir UI Testi Oluşturmak Düzenlemek ve Sürdürmek