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ş testler ç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 makalede, kullanıcı arabirimi testlerini çalıştırmak için dikkat edilmesi gereken tipik 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:
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 web'de gezinmek 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.
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
içinde görünür kullanıcı arabirimi testi, Microsoft tarafından barındırılan aracılarda desteklenmez. Test "öğe etkileşimli değil" hata iletisiyle başarısız oluyor. Microsoft tarafından barındırılan aracılar, başsız tarayıcı testlerini destekler.
Microsoft tarafından barındırılan aracıları kullanarak başsız mod kullanıcı arabirimi testi
Microsoft tarafından barındırılan aracılar, web 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ının otomatik oturum açma etkinken etkileşimli bir işlem olarak çalışacak şekilde yapılandırılması gerekir .
Aracıları yapılandırırken hizmet olarak çalıştırılması istendiğinde 'Hayır' seçeneğini belirleyin. 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.
Bir aracının otomatik oturum açma ile ç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. Hatadan kaçınmak 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ğlanıyorsanız, UI testi için aracı yapılandırması DevTest Labs için Aracı yapıtı aracılığıyla kullanılabilir.
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 kullanırken hatalarla karşılaşırsanız, aracının otomatik oturum etkinleştirilmiş 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. Çözüm yardımcı programı görevi, Azure sanal makineleri için de çalışmaz.
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ıma sahip olmamasına neden olur. 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 diğer 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.
Yardım ve destek
- Sorun giderme sayfamıza bakın
- Stack Overflow hakkında öneri alın ve Geliştirici Topluluğu aracılığıyla destek alın