UI testi konuları

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 | TFS 2017

CI/CD işlem hattındaki 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 konuda, UI testlerini çalıştırmak için tipik konular açıklanmaktadır.

Not

Yalnızca TFS 2017 güncelleştirme 1 ve üzeri için geçerlidir.

Not

Microsoft Team Foundation Server (TFS) 2018 ve önceki sürümlerde, derleme ve yayın işlem hatlarıtanımlarolarak adlandırılır, çalışmalaraderlemelerdenir, hizmet bağlantılarınahizmet uç noktalarıdenir, aşamalarortamlarolarak adlandırılır ve işleraşamalarolarak adlandırılır.

Önkoşullar

Aracılarla ilgili bilgi edinin ve Windows bir Aracı dağıtma.

Gözetimsiz mod veya görünür kullanıcı arabirimi modu?

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

  1. Gözetimsiz mod. Bu modda, tarayıcı normal, ancak herhangi bir kullanıcı arabirimi bileşeni görünür olmadan çalışır. Bu mod, Web 'e göz atmak için yararlı olmasa da, bir CI/CD işlem hattında otomatik testlerin katılımsız bir şekilde çalıştırılması yararlı olur. Chrome ve Firefox tarayıcıları, gözetimsiz modda çalıştırılabilir.

    Bu mod genellikle makinede daha az kaynak tüketir çünkü UI işlenmez ve testler daha hızlı çalışır. Sonuç olarak, toplam test yürütme süresini azaltmak için, büyük olasılıkla daha fazla test aynı makinede paralel olarak çalıştırılabilir.

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

    Not

    Microsoft Edge browser şu anda gözetimsiz modda çalıştırılamaz.

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

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

İpucu

Uçtan uca UI testleri genellikle uzun süreli olarak çalışır. Test çerçevesine bağlı olarak, görünür UI modunu kullanırken, uygulamanın klavye ve fare olaylarını almak için odağa sahip olması gerektiğinden, testleri aynı makinede paralel olarak çalıştıramayabilir. Bu senaryoda, farklı makinelerde testleri paralel olarak çalıştırarak test döngülerini hızlandıraseçebilirsiniz. bkz. test çalıştırıcısı için testleri paralel olarak çalıştırma ve Visual Studio test görevi kullanarak testleri paralel olarak çalıştırma.

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

Aracıların Kullanıcı arabirimi testlerini görünür kullanıcı arabirimi modunda çalıştırması için özel bir yapılandırma gerekir.

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

Microsoft tarafından barındırılan aracılar, Web uygulamaları ve 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 Ayrıca, Selenium testlerini çalıştırmak için kullanılabilen popüler tarayıcılarla ve eşleşen Web sürücüsü sürümleriyle önceden yapılandırılmıştır. Tarayıcılar ve karşılık gelen Web sürücüleri düzenli aralıklarla güncelleştirilir. Selenium testlerini çalıştırma hakkında daha fazla bilgi için bkz. Selenium Ile UI testi

şirket içinde barındırılan Windows aracılarını kullanarak görünür uı testi

As hizmeti olarak çalışacak şekilde yapılandırılmış aracılar, yalnızca gözetimsiz tarayıcılarla Selenium testlerini çalıştırabilir. gözetimsiz bir tarayıcı kullanmıyorsanız veya masaüstü uygulamaları için uı testleri çalıştırıyorsanız, Windows aracıların otomatik oturum açma özelliği etkinken etkileşimli bir işlem olarak çalışacak şekilde yapılandırılması gerekir .

Aracıları yapılandırırken, bir hizmet olarak çalıştırmanız istendiğinde ' Hayır ' seçeneğini belirleyin. Sonraki adımlar daha sonra aracıyı otomatik oturum açmayla yapılandırmanıza olanak tanır. 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ünün 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. Bundan kaçınmak için Uzak Masaüstü bağlantısını kesmek üzere uzak bilgisayardaki tscon komutunu kullanın. Örnek:

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

Bu örnekte, ' 1 ' numarası 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ı otomatik hale getirmek 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 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 UI 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ğlıyorsanız, UI testi için aracı yapılandırması DevTest Labs Için aracı yapıtıaracılığıyla kullanılabilir.

te Tartıactdtl

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

UI testlerini çalıştırmadan önce, uygulamaların doğru şekilde işlemesi için ekran çözünürlüğünü ayarlamanız gerekebilir. Bunun için Market 'ten bir ekran çözünürlüğü yardımcı programı görevi vardır. Ekran çözünürlüğünü, aracı makinesi 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ünürlüğü aracı makinenin desteklediği en iyi değere ayarlar.

Ekran çözünürlüğü görevini kullanarak hatalarla karşılaşırsanız, aracının otomatik oturum açma etkinken çalışacak şekilde yapılandırıldığından ve yukarıda açıklanan şekilde 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ünürlüğü yardımcı programı görevi Birleşik derleme/sürüm/test aracısında çalışır ve kullanım dışı Çalıştır Işlevsel testleri göreviylebirlikte kullanılamaz.

UI testlerinde hata giderme sorunları

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, hata ile karşılaşıldığında uygulamanın durumunu bulmak için yararlıdır.

Ekran görüntülerini yakala

Çoğu UI test çerçevesi, ekran görüntüleri yakalama özelliğini sağlar. Toplanan ekran görüntüleri, bu sonuçlar sunucuda yayımlandığında test sonuçlarına ek olarak kullanılabilir.

testleri çalıştırmak için Visual Studio test görevi kullanıyorsanız, yakalanan ekran görüntülerinin test raporunda kullanılabilmesi için bir sonuç dosyası olarak eklenmesi gerekir. Bunun için aşağıdaki kodu kullanın:

İlk olarak, TestContext 'in test sınıfınıza tanımlandığından emin olun. Örnek: 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 yayımla test sonuçları görevini kullanırsanız, test sonucu ekleri yalnızca VSTest (trx) sonuçları biçimini veya NUnit 3,0 sonuçları biçimini kullanıyorsanız yayımlanabilir.

JUnit veya xUnit test sonuçları kullanırsanız sonuç ekleri yayımlanamaz. Bunun nedeni, bu test sonucu biçimlerinin sonuçlar şemasında ekler için biçimsel bir tanım yoktur. Bunun yerine test eklerini yayımlamak için aşağıdaki yaklaşımlardan birini kullanabilirsiniz.

  • yapı (cı) işlem hattındaki testleri çalıştırıyorsanız, testlerinizde oluşturulan ek dosyaları yayımlamak için yapı Artifacts kopyala ve yayımla görevini kullanabilirsiniz. bunlar, derleme özetinizdeki Artifacts sayfasında görüntülenir.

  • Gerekli ekleri yayımlamak için REST API 'Lerini kullanın. kod örnekleri, bu GitHub deposundabulunabilir.

Video yakala

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

runSettings

Yardım ve destek