KULLANıCı arabirimi testiyle ilgili dikkat edilmesi gerekenler

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

CI/CD işlem hattında otomatikleştirilmiş testleri çalıştırırken Selenium, Appium veya Kodlanmış UI testleri gibi ui testlerini çalıştırmak için özel bir yapılandırmaya ihtiyacınız olabilir. Bu konu başlığı altında, kullanıcı arabirimi testlerini çalıştırmayla ilgili dikkat edilmesi gereken genel noktalar açıklanmaktadır.

Önkoşullar

Aracıları tanıma ve Windows'da aracı dağıtma.

Başsız mod mu yoksa görünür ui modu mu?

Bir web uygulaması için Selenium testleri çalıştırırken tarayıcıyı iki şekilde başlatabilirsiniz:

  1. Başsız mod. Bu modda, tarayıcı normal şekilde çalışır ancak kullanıcı arabirimi bileşenleri görünür olmadan çalışır. Bu mod açıkça web'e göz atmak için kullanışlı olmasa da, otomatikleştirilmiş testleri BIR CI/CD işlem hattında katılımsız bir şekilde çalıştırmak için kullanışlıdır. Chrome ve Firefox tarayıcıları başsız modda çalıştırılabilir.

    Kullanıcı arabirimi işlenmediğinden ve testler daha hızlı çalıştığından bu mod genellikle makinede daha az kaynak tüketir. Sonuç olarak, toplam test yürütme süresini azaltmak için aynı makinede paralel olarak daha fazla test çalıştırılabilir.

    Ekran görüntüleri bu modda yakalanabilir ve sorun giderme hataları için kullanılabilir.

    Not

    Microsoft Edge tarayıcısı şu anda başsız modda çalıştırılamaz.

  2. Görünür kullanıcı arabirimi modu. Bu modda tarayıcı normal şekilde çalışır ve kullanıcı arabirimi bileşenleri görünür durumdadır. Windows'da testleri bu modda çalıştırırken aracıların özel yapılandırması gerekir.

WinAppDriver veya Kodlanmış UI testleri kullanan Appium testleri gibi bir masaüstü uygulaması için kullanıcı arabirimi testleri çalıştırıyorsanız, aracıların özel bir yapılandırması gerekir.

İpucu

Uçtan uca kullanıcı arabirimi testleri genellikle uzun süre çalışır. Görünür ui modunu kullanırken, test çerçevesine bağlı olarak, uygulamanın klavye ve fare olaylarını almak için odakta olması gerektiğinden testleri aynı makinede paralel olarak çalıştıramayabilirsiniz. Bu senaryoda, testleri farklı makinelerde paralel olarak çalıştırarak test döngülerini hızlandırabilirsiniz. Visual Studio Test görevini kullanarak test çalıştırıcıları paralel çalıştırma ve testleri paralel çalıştırma bölümüne bakın.

Görünür kullanıcı arabirimi modunda kullanıcı arabirimi testi

Aracıların ui testlerini görünür ui modunda çalıştırması için özel bir yapılandırma gereklidir.

Microsoft tarafından barındırılan aracıları kullanarak görünür kullanıcı arabirimi testi

Microsoft tarafından barındırılan aracılar, hem web uygulamaları hem de masaüstü uygulamaları için kullanıcı arabirimi testi ve kullanıcı arabirimi testleri için önceden yapılandırılmıştır. Microsoft tarafından barındırılan aracılar, Selenium testlerini çalıştırmak için kullanılabilecek popüler tarayıcılar ve eşleşen web sürücüsü sürümleriyle de önceden yapılandırılmıştır. Tarayıcılar ve ilgili web sürücüleri düzenli aralıklarla güncelleştirilir. Selenium testlerini çalıştırma hakkında daha fazla bilgi edinmek için bkz . Selenium ile kullanıcı arabirimi testi

Şirket içinde barındırılan Windows aracılarını kullanarak görünür kullanıcı arabirimi testi

Hizmet olarak çalışacak şekilde yapılandırılmış aracılar Selenium testlerini yalnızca başsız tarayıcılarla çalıştırabilir. Başsız tarayıcı kullanmıyorsanız veya masaüstü uygulamaları için kullanıcı arabirimi testleri çalıştırıyorsanız, Windows aracıları otomatik oturum açma etkinken etkileşimli bir işlem olarak çalışacak şekilde yapılandırılmalıdır .

Aracıları yapılandırırken hizmet olarak çalıştırılması istendiğinde 'Hayır' seçeneğini belirleyin. Ardından sonraki adımlar aracıyı otomatik oturum açma ile yapılandırmanıza olanak sağlar. Ui testleriniz çalıştırıldığında, uygulamalar ve tarayıcılar otomatik oturum açma ayarlarında belirtilen kullanıcı bağlamında başlatılır.

Otomatik oturum açma ile bir aracının çalıştığı bilgisayara erişmek için Uzak Masaüstü'nü kullanırsanız, Uzak Masaüstü bağlantısının kesilmesi bilgisayarın kilitlenmesine neden olur ve bu aracıda çalışan tüm ui testleri başarısız olabilir. Bunu önlemek için uzak bilgisayardaki tscon komutunu kullanarak Uzak Masaüstü bağlantısını kesin. Örneğin:

%windir%\System32\tscon.exe 1 /dest:console

Bu örnekte, '1' sayısı uzak masaüstü oturumunun kimliğidir. Bu sayı uzak oturumlar arasında değişebilir, ancak Görev Yöneticisi'nde görüntülenebilir. Alternatif olarak, geçerli oturum kimliğini bulmayı otomatikleştirmek için aşağıdaki kodu içeren bir toplu iş dosyası oluşturun:

for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do (
  %windir%\System32\tscon.exe %%s /dest:console
)

Toplu iş dosyasını kaydedin ve bunun için bir masaüstü kısayolu oluşturun, ardından kısayol özelliklerini 'Yönetici olarak çalıştır' olarak değiştirin. Toplu iş dosyasının bu kısayoldan çalıştırılması uzak masaüstü bağlantısını keser, ancak kullanıcı arabirimi oturumunu korur ve ui testlerinin çalışmasına izin verir.

Ui testi için Azure VM'lerinde aracı sağlama

Azure'da sanal makineler (VM' ler) sağlarsanız, UI testi için aracı yapılandırması DevTest Labs için Aracı yapıtı aracılığıyla kullanılabilir.

agentArtifactDTL

Ekran çözünürlüğünü ayarlama

UI testlerini çalıştırmadan önce, uygulamaların doğru şekilde işlenmesi için ekran çözünürlüğünü ayarlamanız gerekebilir. Bunun için Market'ten bir ekran çözümleme yardımcı programı görevi sağlanır. Ekran çözünürlüğünü aracı makine tarafından desteklenen bir değere ayarlamak için işlem hattınızda bu görevi kullanın. Varsayılan olarak, bu yardımcı program çözümlemeyi aracı makinesi tarafından desteklenen en uygun değere ayarlar.

Ekran çözümleme görevini kullanarak hatalarla karşılaşırsanız, aracının otomatik oturum açma etkin olarak çalışacak şekilde yapılandırıldığından ve yukarıda açıklandığı gibi tscon komutu kullanılarak tüm uzak masaüstü oturumlarının güvenli bir şekilde bağlantısının kesildiğinden emin olun.

Not

Ekran çözümleme yardımcı programı görevi birleşik derleme/yayın/test aracısıyla çalışır ve kullanım dışı bırakılmış İşlevsel Testleri Çalıştır göreviyle kullanılamaz.

Kullanıcı arabirimi testlerindeki hataları giderme

Ui testlerini katılımsız bir şekilde çalıştırdığınızda, ekran görüntüleri veya video gibi tanılama verilerini yakalamak, hatayla karşılaşıldığında uygulamanın durumunu bulmak için yararlıdır.

Ekran görüntülerini yakala

Kullanıcı arabirimi test çerçevelerinin çoğu ekran görüntüleri yakalama olanağı sağlar. Toplanan ekran görüntüleri, bu sonuçlar sunucuda yayımlandığında test sonuçlarının eki olarak kullanılabilir.

Testleri çalıştırmak için Visual Studio test görevini kullanırsanız, yakalanan ekran görüntülerinin test raporunda kullanılabilir olması için sonuç dosyası olarak eklenmesi gerekir. Bunun için aşağıdaki kodu kullanın:

İlk olarak, TestContext'in test sınıfınızda tanımlandığından emin olun. Örneğin: public TestContext TestContext { get; set; }

kullanarak ekran görüntüsü dosyasını ekleme TestContext.AddResultFile(fileName); //Where fileName is the name of the file.

Sonuçları yayımlamak için Test Sonuçlarını Yayımla görevini kullanırsanız, test sonucu ekleri yalnızca VSTest (TRX) sonuç biçimini veya NUnit 3.0 sonuç biçimini kullanıyorsanız yayımlanabilir.

JUnit veya xUnit test sonuçları kullanıyorsanız sonuç ekleri yayımlanamaz. Bunun nedeni, bu test sonucu biçimlerinin sonuç şemasındaki ekler için resmi bir tanımı olmamasıdır. Bunun yerine test eklerini yayımlamak için aşağıdaki yaklaşımlardan birini kullanabilirsiniz.

  • Derleme (CI) işlem hattında testleri çalıştırıyorsanız, testlerinizde oluşturulan ek dosyaları yayımlamak için Derleme Yapıtlarını Kopyala ve Yayımla görevini kullanabilirsiniz. Bunlar derleme özetinizin Yapıtlar sayfasında görünür.

  • Gerekli ekleri yayımlamak için REST API'lerini kullanın. Kod örnekleri bu GitHub deposunda bulunabilir.

Video yakalama

Testleri çalıştırmak için Visual Studio test görevini kullanırsanız, testin videosu yakalanabilir ve test sonucuna ek olarak otomatik olarak kullanılabilir. Bunun için video veri toplayıcısını bir .runsettings dosyasında yapılandırmanız ve bu dosyanın görev ayarlarında belirtilmesi gerekir.

çalıştırın Ayarlar

Yardım ve destek