Aracılığıyla paylaş


İzlenecek yol: Kodlanmış Bir UI Testi Oluşturmak Düzenlemek ve Sürdürmek

Bu yönergede kodlanmış UI testinin nasıl oluşturulduğunu, düzenlendiğini ve korunduğunu göstermek üzere basit bir Windows Presentation Foundation (WPF) oluşturacaksınız.İzlenecek yol çeşitli zamanlama sorunları ve yeniden düzenlemeyi denetleme tarafından kırılan testleri düzeltmeye ilişkin çözümler sağlar.

Önkoşullar

Bu örnek için şunlar gerekir:

  • Visual Studio Ultimate veya Visual Studio Premium.

Basit WPF Uygulaması Oluşturma

  1. Dosya menüsünde, Yeni'nin üzerine gelin ve sonra Proje'yi seçin.

    Yeni Proje iletişim kutusu görüntülenir.

  2. İçinde yüklü bölmesinde genişletin **Visual C#**ve sonra seçin Windows.

  3. Orta bölmede hedef çerçeve açılır listesinin .NET Framework 4.5 olarak ayarlandığını doğrulayın.

  4. Ortadaki bölmeden WPF Uygulaması şablonunu seçin.

  5. Ad metin kutusuna, SimpleWPFApp yazın.

  6. Projeyi kaydetmek için bir klasör seçin.Konum metin kutusuna klasörün adını yazın.

  7. Tamam'ı seçin.

    Visual Studio için WPF Tasarımcısı açılır ve projenin MainWindow öğesini görüntüler.

  8. Araç kutusu açık değilse, açın.Seçin Görünüm , menü ve sonra seçin araç.

  9. Tüm WPF Denetimleri bölümü altında, tasarım yüzeyindeki MainWindow üzerine bir Button, CheckBox ve ProgressBar denetimi sürükleyin.

  10. Düğme kontrolünü seçin.Özellikler penceresinde İçerik özelliğinin değerini Düğme'den Başlat'a değiştirin.

  11. ProgressBar kontrolünü seçin.Özellikler penceresinde Maksimum özelliğinin değerini 100'den 1000'e değiştirin.

  12. Onay kutusu kontrolünü seçin.Özellikler penceresinde IsEnabled özelliğini temizleyin.

    Basit WPF uygulaması

  13. Eleman olay eklemek için düğme denetimini çift tıklatın.

    MainWindow.xmal.cs yeni button1_Choose olayındaki imleç ile Kod Düzenleyicisi'nde görüntülenir.

  14. MainWindow sınıfının en üstünde, bir temsilci ekleyin.Temsilci ilerleme çubuğu için kullanılacaktır.Temsilci eklemek için aşağıdaki kodu ekleyin:

            private delegate void ProgressBarDelegate(
            System.Windows.DependencyProperty dp, Object value);
    
  15. Button1_Choose yöntemine aşağıdaki kodu ekleyin:

                double progress = 0;
    
                ProgressBarDelegate updatePbDelegate =
            new ProgressBarDelegate(progressBar1.SetValue);
    
                do
                {
                    progress ++;
    
                    Dispatcher.Invoke(updatePbDelegate,
                        System.Windows.Threading.DispatcherPriority.Background,
                        new object[] { ProgressBar.ValueProperty, progress });
                    progressBar1.Value = progress;
                }
                while (progressBar1.Value != progressBar1.Maximum);
    
                checkBox1.IsEnabled = true;
    

WPF Uygulamasının Düzgün Çalıştığını Doğrulayın

  1. Hata Ayıkla menüsünde Hata Ayıklamayı Başlat öğesini seçin veya F5 tuşuna basın.

  2. Seçim Start.

    Birkaç saniye içinde ilerleme çubuğu tam %100 bitmiş olmalıdır.Onay kutusu denetimi şimdi etkinleştirildi.

  3. SimpleWPFApp Uygulamasını Kapatın.

SimpleWPFApp için Kodlanmış Kullanıcı Arabirimi Testi Oluşturun ve Çalıştırın

  1. Çözüm Gezgini'nde, çözüm üzerinde sağ tıklayın, seçim Ekle seçip Yeni bir proje.

    Yeni Proje Ekle iletişim kutusu görüntülenir.

  2. İçinde yüklü bölmesinde genişletin **Visual C#**ve sonra seçin Test.

  3. Orta bölmede seçin Kodlanmış UI Test projesi şablonu.

  4. Tamam'ı seçin.

    Solution Explorer'da, yeni kodlanmış UI test projesi adlı CodedUITestProject1 çözümünüze eklenir.

    Kodlanmış UI Testi için Kod Üret iletişim kutusu görünür.

  5. Seçin eylemleri Kaydet, UI eşlemesini düzenle veya add assertions seçin ve seçenek Tamam.

    UIMap – Kodlanmış UI Test Oluşturucusu görünür, ve Visual Studio penceresini simge durumuna küçültülür.

    İletişim kutusundaki seçenekler hakkında daha fazla bilgi için bkz. Kodlanmış UI testleri oluşturma.

  6. Daha önce oluşturduğunuz SimpleWPFApp uygulamasını bulup çalıştırın.Varsayılan olarak, uygulama C:\Users\<username>\Documents\Visual Studio 2012\Projects\SimpleWPFApp\SimpleWPFApp\bin\Debug\SimpleWPFApp.exe yer alacaktır

  7. SimpleWPFApp uygulaması için bir masaüstü kısayolu oluşturun.SimpleWPFApp.exe dosyasını sağ tıklayın ve Kopyala'yı seçin.Masaüstünüzde sağ tıklatın ve Kısayolu yapıştır'ı seçin.

    İpucuİpucu

    Uygulamaya bir kısayol eklenmesi, uygulamayı hızlıca başlatmanızı sağladığından uygulamanız açısından Kodlanmış UI testleri ekleyip değiştirmenizi kolaylaştırır.Ona gitmeniz gerekmez.İzlenecek bu yolda uygulamayı yeniden çalıştırmanız gerekir.

  8. Seçim kaydı başlatmak üzerinde UIMap – Kodlanmış UI Test Oluşturucusu.Birkaç saniye içinde Kodlu UI Testi Oluşturucusu hazır olacak.

  9. SimpleWPFApp.exe dosyasını masaüstü kısayolunu kullanarak çalıştırın.

  10. SimpleWPFApp öğesindeki seçin Start.

    Birkaç saniye içinde ilerleme çubuğu tam %100 bitmiş olmalıdır.Onay kutusu denetimi şimdi etkinleştirildi.

  11. Onay Kutusu denetimi kutusunu seçin.

  12. SimpleWPFApp uygulamasını kapatın.

  13. UIMap - Kodlanmış UI Test Oluşturucusu üzerinde seçin Kod Üret.

  14. SimpleAppTest yönteminin adını yazın ve seçin Ekle ve Üret.Birkaç saniye içinde Kodlu UI testi görünür ve Çözüm'e eklenir.

  15. UIMap uygulamasını kapatın– Kodlanmış Kullanıcı Arabirimi Test Oluşturucusu.

    Kod Editörü'nde CodedUITest1.cs dosyası görüntülenir.

Kodlu UI Testi Çalıştırma

  • CodedUITest1.cs dosyasında CodedUITestMethod yöntemini bulun, sağ tıklatın ve Testleri Çalıştır'ı seçin.

    Kodlanmış UI testi çalışırken, SimpleWPFApp görülebilir.Bir önceki yordamda yaptığınız adımları oluşturur.Ancak, test CheckBox denetimi için onay kutusunu seçmeyi denerken, Test sonuçları penceresi testin başarısız olduğunu gösterir.Bu, testin onay kutusunu seçmeye çalışmasından, ancak ilerleme çubuğu %100 olacak şekilde tamamlanana kadar CheckBox denetiminin devre dışı olduğunun farkında olmamasından kaynaklanır.Kodlanmış arayüz testleri için mevcut çeşitli UITestControl.WaitForControlXXX() yöntemlerini kullanarak, bunu ve benzeri sorunları düzeltebilirsiniz.Sonraki yordamı bu testin başarısız olmasına neden olan sorunu düzeltmek için WaitForControlEnabled() yöntemini kullanmayı gösterir.Daha fazla bilgi için bkz. Kayıttan Yürütme Sırasında Belirli Olaylar için Kodlanmış UI Testlerini Bekletme.

Kodlanmış Kullanıcı Arabirimi Testini Düzenleme ve Yeniden Çalıştırma

  1. Test Sonuçları penceresinde başarısız testi sağ tıklatın ve Test Sonuçları Ayrıntılarını Görüntüle'yi seçin.

    CodedUITestMethod1 [sonuçlar] görüntülenir.

  2. İçinde Hata yığını izlemesi bölümünde, ilk bağlantıyı görüntülenmemesini TestProject1.UIMap.SimpleAppTest().

    Kodda vurgulanan hata noktasını içeren UIMap.Designer.cs dosyası açılır:

    // Select 'CheckBox' check box
    uICheckBoxCheckBox.Checked = this.SimpleAppTestParams.UICheckBoxCheckBoxChecked;
    
  3. Bu sorunu düzeltmek için WaitForControlEnabled() yöntemini kullanarak bu yolda devam etmeden önce kodlanmış UI testinin CheckBox denetiminin etkin olmasını beklemesini sağlayabilirsiniz.

    Uyarı notuUyarı

    UIMap.Designer.cs dosyasını doğrudan değiştirmeyin.UIMap - Kodlanmış UI Test Oluşturucusu kullanarak kodu her oluşturduğunuzda, UIMapDesigner.cs dosyasında yaptığınız herhangi bir kod değişikliğinin üzerine yazılır.Kayıtlı bir yöntemi değiştirmeniz gerekiyorsa, yöntemi UIMap.cs dosyasına kopyalayıp yeniden adlandırmanız gerekir.UIMap.cs dosyası, UIMapDesigner.cs dosyasındaki yöntemleri ve özellikleri geçersiz kılmak için kullanılabilir.Kodlanmış UITest.cs dosyasındaki orijinal yönteme referansı kaldırıp yeniden adlandırılan yöntem adıyla değiştirmelisiniz.

  4. Çözüm Gezgini'nde bulun UIMap.uitest kodlanmış UI test projenizdeki.

  5. Açmak için kısayol menüsünü UIMap.uitest ve açık.

    Kodlanmış UI testi kodlanmış UI Test Düzenleyicisi'nde görüntülenir.Şimdi görüntüleyebilir ve kodlanmış UI testi düzenleyebilirsiniz.

  6. İçinde UI eylem bölmesi, test kodu ne zaman üzerine olmayacaktır, özel kod işlevselliği kolaylaştırmak için UIMap.vb veya UIMap.cs dosyasına taşımak istediğiniz test yöntemi farklı versiyonlarla seçin.

  7. Seçim Hareket kodu kodlanmış UI Test Düzenleyicisi araç çubuğundaki düğmesini.

  8. Microsoft Visual Studio iletişim kutusu görüntülenir.Bunu, yöntemi UIMap.cs dosyasına UIMap.uitest dosyasından taşınır ve siz artık kodlanmış UI Test Düzenleyicisi'ni kullanarak yöntemi düzenlemeniz mümkün olacağını sizi uyarır.Seçim Evet.

    Test yöntemi UIMap.uitest dosyadan kaldırılır ve artık UI eylemler bölmesinde görüntülenir.Taşınan test dosyasını düzenlemek için Çözüm Gezgini'nden UIMap.cs dosyasını açın.

  9. Üzerinde Visual Studio araç, seçim kaydetmek.

    Güncelleştirmeler test yöntemi UIMap.Designer dosyasında kaydedilir.

    Uyarı notuUyarı

    Yöntem taşırken, kodlanmış UI Test Düzenleyicisi'ni kullanarak artık düzenleyemezsiniz.Özel kodunuzu ekleyin ve Kod Düzenleyicisi'ni kullanarak korunması gerekir.

  10. SimpleAppTest() olan yöntemi ModifiedSimpleAppTest() olarak yeniden adlandır

  11. Aşağıdaki kullanım deyimini dosyaya ekleyin:

    using Microsoft.VisualStudio.TestTools.UITesting.WpfControls;
    
  12. Aşağıdaki WaitForControlEnabled() yöntemini önceden tanımlanmış sorunlu kod satırından önce ekleyin.

    uICheckBoxCheckBox.WaitForControlEnabled();
    
    // Select 'CheckBox' check box
    uICheckBoxCheckBox.Checked = this.SimpleAppTestParams.UICheckBoxCheckBoxChecked;
    
  13. CodedUITest1.cs dosyasında CodedUITestMethod yöntemini bulun ve ya SimpleAppTest() yöntemine yapılan başvuruyu yeniden adlandırın ya da derleme dışı bırakın ve sonra yeni ModifiedSimpleAppTest() ile değiştirin:

    [TestMethod]
            public void CodedUITestMethod1()
            {
                // To generate code for this test, select "Generate Code for Coded UI Test" from the shortcut menu and select one of the menu items.
                // For more information on generated code, see https://go.microsoft.com/fwlink/?LinkId=179463
                //this.UIMap.SimpleAppTest();
                this.UIMap.ModifiedSimpleAppTest();
            }
    
  14. Build menüsünden Build Solution'ı seçin.

  15. CodedUITestMethod yöntemini sağ tıklayın ve Testleri Çalıştır'ı seçin.

  16. Bu kez kodlanmış UI testi testteki tüm adımları başarıyla tamamlar ve Test Sonuçları penceresinde Geçildi görüntülenir.

SimpleWPFApp içinde Denetimi Yeniden Düzenleme

  1. MainWindow.xaml dosyasındaki Tasarımcı'da düğme denetimini seçin.

  2. Özellikler penceresinin üst kısmında, Button öğesinin yanındaki button1 değerini seçin ve değeri buttonA olarak değiştirin.

  3. Build menüsünden Build Solution'ı seçin.

  4. Üzerinde Test Seç menüsünden Windows ve sonra Test Görünümü.

  5. Seçmek de, Codeduıtestmethod1 altında Test adı sütun ve sonra seçin Seçimi Çalıştır araç çubuğu.

    Kodlanmış UI testi button1 olarak UIMap öğesinde başlangıçta eşlenen düğme denetimini konumlandıramadığından test başarısız.Yeniden düzenleme kodlanmış UI testlerini bu anlamda etkileyebilir.

  6. Test Sonuçları penceresinde başarısız testi sağ tıklatın ve Test Sonuçları Ayrıntılarını Görüntüle'yi seçin.

    CodedUITestMethod1 [sonuçlar] görünür.

  7. İçinde Hata yığını izlemesi bölümünde, ilk bağlantıyı görüntülenmemesini TestProject1.UIMpa.SimpleAppTest().

    UIMap.Designer.cs dosyası açılır.Hata noktası kodda vurgulanır:

    // Choose 'Start' button
    Mouse.Click(uIStartButton, new Point(27, 10));
    

    Bu yordamın başındaki kod satırının, yeniden düzenlenmeden önceki UIMap adı olan UiStartButton öğesini kullanıp kullanmadığına dikkat edin.

    Sorunu düzeltmek için UIMap'e yeniden işlenmiş denetimi Kodlanmış UI Test Oluşturucusu kullanarak ekleyebilirsiniz.Testin kodunu, kodu kullanmak için sonraki yordamda gösterildiği şekilde güncelleştirebilirsiniz.

Yeniden Düzenlenmiş Denetimi Eşleme ve Kodlanmış UI Testini Düzenleme ve Yeniden Çalıştırma

  1. Codeduıtest1.cs dosyasında bulunan Codeduıtestmethod1() yöntemi, sağ tıklatın ve seçin Kodlanmış UI testi için Kod Üret ve sonra seçin Use Coded UI Test Builder.

    UIMap – Kodlanmış UI Test Oluşturucusu görünür.

  2. Daha önce oluşturduğunuz masaüstü kısayolunu kullanarak, daha önce oluşturduğunuz SimpleWPFApp uygulamasını Çalıştırın.

  3. UIMap – Kodlanmış UI Test Oluşturucusu üzerinde artı aracını SimpleWPFApp öğesindeki Başlat düğmesine sürükleyin.

    Başlat düğmesi mavi bir kutu içine alınır ve Kodlanmış UI Test Oluşturucusunun seçili denetim için veriyi işlemesi ve denetim özelliklerini görüntülemesi birkaç saniyesini alır.AutomationUId öğesinin adının buttonA olduğuna dikkat edin.

  4. Denetimin özelliklerini UI Denetim eşlemesini genişletmek için sol üst köşesindeki oku seçin.UIStartButton1 öğesinin seçildiğinden emin olun.

  5. Araç çubuğunda, seçim kullanıcı Arabirimi denetim haritasına Denetim Ekle.

    Pencerenin altındaki durum Seçili denetim UI kontrol eşleşmesine eklendiöğesini görüntüleyerek eylemi doğrular.

  6. UIMap – Kodlanmış UI Test Oluşturucusu üzerinde seçin Kod Üret.

    Kodlanmış UI Test Oluşturucu – Kod Oluştur yeni bir yönteme gerek olmadığı notuyla görüntülenir ve bu kod yalnızca UI kontrol haritasında değişiklikler olduğunda oluşturulacaktır.

  7. Seçim üretmek.

  8. SimpleWPFApp.exe Uygulamasını Kapatın.

  9. UIMap uygulamasını kapatın – Kodlanmış Kullanıcı Arabirimi Test Oluşturucusu.

    UIMap – Kodlanmış UI Test Oluşturucusunun UI kontrol eşlemesi değişikliklerini işlemesi bir kaç saniye alır.

  10. Çözüm Gezgini'nde, UIMap.Designer.cs dosyasını açın.

  11. Oluşturucu kod sınıfı UIMainWindow öğesindeki oluşturucunun alt bölümündeki UIMap.Designer.cs dosyasında Özellikler bölgesini genişletin.public WpfButton UIStartButton1 özelliğinin eklendiğinden emin olun.

  12. UIStartButton1 özelliğinde, Arama Ölçütü bölgesini genişletin.SearchProperties özelliğinin "buttonA" olarak ayarlandığından emin olun:

    public WpfButton UIStartButton1
            {
                get
                {
                    if ((this.mUIStartButton1 == null))
                    {
                        this.mUIStartButton1 = new WpfButton(this);
                        #region Search Criteria
                        this.mUIStartButton1.SearchProperties[WpfButton.PropertyNames.AutomationId] = "buttonA";
                        this.mUIStartButton1.WindowTitles.Add("MainWindow");
                        #endregion
                    }
                    return this.mUIStartButton1;
                }
            }
    

    Şimdi yeni eşlenen denetimi kullanmak için kodlanmış kullanıcı arabirimini değiştirebilirsiniz.Önceki yordamda işaret edildiği gibi, kodlu UI testindeki herhangi bir yöntemi ya da özelliği geçersiz kılmak istiyorsanız, bunu UIMap.cs dosyasında yapmalısınız.

  13. UIMap.cs dosyasına bir oluşturucu ekleyin ve UIStartButton özelliğinin SearchProperties özelliğini, AutomationID özelliğini bir "buttonA": değeriyle kullanmak üzere belirtin.

    public UIMap()
            {
                this.UIMainWindowWindow.UIStartButton.SearchProperties[WpfButton.PropertyNames.AutomationId] = "buttonA";
            }
    
  14. Build menüsünden Build Solution'ı seçin.

  15. Test Görünümü'nde Test Adı sütununun altındaki CodedUITestMethod1 öğesini seçin ve ardından araç çubuğundaki Seçimi Çalıştır'ı tıklatın.

    Bu kez, kodlanmış UI testi testteki tüm adımları başarıyla tamamlar.Test Sonuçları Penceresi'nde Geçti durumunu göreceksiniz.

Dış Kaynaklar

Ff977233.collapse_all(tr-tr,VS.110).gifVideolar

video bağlantısı

video bağlantısı

video bağlantısı

Ff977233.collapse_all(tr-tr,VS.110).gifLaboratuvar ellerde

msdn sanal Lab: oluşturma giriş kodlanmış UI testleri Visual Studio 2010 ile

Ff977233.collapse_all(tr-tr,VS.110).gifSIK SORULAN SORULAR

Kodlanmış UI testleri sık sorulan sorular - 1

Kodlanmış UI testleri SSS -2

Ff977233.collapse_all(tr-tr,VS.110).gifForum

Visual Studio UI Otomasyon (CodedUI dahil) sınama

Ayrıca bkz.

Kavramlar

Kodlanmış Kullanıcı Arabirimi Testleri Kullanarak Kod Doğrulama

Kodlanmış UI Testleri ve Eylem Kayıtları için Desteklenen Yapılandırmalar ve Platformlar

Diğer Kaynaklar

wpf Tasarımcısı ile çalışmaya başlama

Kodlanmış UI Test Düzenleyicisi'ni Kullanarak Kodlanmış UI Testlerini Düzenleme