Işlevsel Testleri Çalıştır görevi

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018-TFS 2015

Not

Microsoft Team Foundation Server (TFS) 2018 ve önceki sürümlerde, derleme ve yayın işlem hatları tanımlar olarak adlandırılır, çalışmalara derlemeler denir, hizmet bağlantılarına hizmet uç noktaları denir, aşamalar ortamlar olarak adlandırılır ve işler aşamalar olarak adlandırılır.

Bu görev Azure Pipelines ve TFS 2018 ve üzeri sürümlerde kullanımdan kaldırılmıştır. Evrensel aracıda birim ve işlev testlerini çalıştırmak için, Visual Studio test görevinin sürüm 2. x veya üstünü ile birlikte kullanın.

Daha ayrıntılı bilgi için bkz. Birleşik aracılar ve ışlerle test etme.

TFS 2017 ve öncesi

Bu görevi, test aracısı kullanarak bir makine kümesi üzerinde kodlanmış UI testlerini, Selenium testlerini ve işlevsel testleri çalıştırmak için kullanın. Testleri uzak makinelerde çalıştırmak istediğinizde bu görevi kullanın ve yapı makinesinde testleri çalıştıramazsınız.

Talepler ve Önkoşullar

Bu görevin öncesinde bir Visual Studio Test Aracısı dağıtım görevi gelmelidir.

YAML kod parçacığı

# Run functional tests
# Deprecated: This task and it’s companion task (Visual Studio Test Agent Deployment) are deprecated. Use the 'Visual Studio Test' task instead. The VSTest task can run unit as well as functional tests. Run tests on one or more agents using the multi-agent job setting. Use the 'Visual Studio Test Platform' task to run tests without needing Visual Studio on the agent. VSTest task also brings new capabilities such as automatically rerunning failed tests.
- task: RunVisualStudioTestsusingTestAgent@1
  inputs:
    testMachineGroup: 
    dropLocation: 
    #testSelection: 'testAssembly' # Options: testAssembly, testPlan
    #testPlan: # Required when testSelection == TestPlan
    #testSuite: # Required when testSelection == TestPlan
    #testConfiguration: # Required when testSelection == TestPlan
    #sourcefilters: '**\*test*.dll' # Required when testSelection == TestAssembly
    #testFilterCriteria: # Optional
    #runSettingsFile: # Optional
    #overrideRunParams: # Optional
    #codeCoverageEnabled: false # Optional
    #customSlicingEnabled: false # Optional
    #testRunTitle: # Optional
    #platform: # Optional
    #configuration: # Optional
    #testConfigurations: # Optional
    #autMachineGroup: # Optional

Bağımsız değişkenler

Bağımsız Değişken Description
Larla İsteğe bağlı olarak bağlantı noktası numarası dahil olmak üzere, makine FQDN 'leri veya IP adreslerinin virgülle ayrılmış listesi. En fazla 32 makine (veya 32 aracı). Şunları yapabilirsiniz:
-Bir Azure Kaynak grubununadı.
-Makine adlarının virgülle ayrılmış listesi. Örnek: dbserver.fabrikam.com,dbserver_int.fabrikam.com:5986,192.168.34:5986
-Önceki bir görevden çıkış değişkeni.
Test bırakma konumu Gereklidir. Test ikililerinin bir Windows makine dosya kopyası veya Azure dosya kopyalama görevi tarafından kopyalandığı test makinesindeki konum. Test Aracısı makinelerinden sistem aşaması değişkenleri bırakma konumunu belirtmek için kullanılabilir. Örnekler: c:\tests ve %systemdrive%\Tests
Test seçimi Gereklidir. Testlerin test derlemelerinden mı yoksa bir test planından mi seçilmeyeceğini belirtir.
Test derlemesi Test seçimi Test derlemesi olarak ayarlandığında gereklidir. Testlerin yürütülmesi gereken test derlemeleri. Yollar, kaynaklar dizinine göre değişir.
-Birden çok yolu noktalı virgülle ayırın.
-Varsayılan değer **\*test*.dll
-JavaScript testleri için, testleri içeren . js dosyalarının yolunu ve adını girin.
-Joker karakterler kullanılabilir. Örnek: **\commontests\*test*.dll; **\frontendtests\*test*.dll
Test filtresi ölçütleri Test seçimi Test derlemesi olarak ayarlandığında isteğe bağlı. Test derleme dosyaları içinde yürütülecek testleri belirtmek için bir filtre. /TestCaseFilter vstest.console.exeseçeneğiyle aynı şekilde çalışmaktadır. Örnek: Priority = 1 | ad = MyTestMethod
Test Planı Test seçimi test planına ayarlandığında test paketi belirtilmemişse gereklidir. Bu kuruluş için zaten yapılandırılmış bir test planı seçin.
Test paketi Test seçimi test planına ayarlandığında test planı belirtilmemişse gereklidir. Seçili test planından bir test paketi seçin.
Test yapılandırması Test seçimi test planına ayarlandığında isteğe bağlı. Seçili test planından bir test yapılandırması seçin.
Çalışma ayarları dosyası İsteğe bağlı. .runsettings .testsettings Yapı makinesindeki bir veya dosyanın yolu. Depodaki bir dosyanın yolu veya diskteki bir dosya olabilir. $(Build.SourcesDirectory)Proje kök klasörünü belirtmek için kullanın.
Test çalıştırması parametrelerini geçersiz kıl İsteğe bağlı. Dosyanın bölümünde tanımlanan parametreler için parametre geçersiz kılmalarını içeren bir dize TestRunParameters .runsettings . Örnek: Platform=$(platform);Port=8080
Kod kapsamı etkin Ayarlandığında, görev çalışma sırasında kod kapsamı bilgilerini toplar ve sonuçları sunucuya yükler. Yalnızca .NET ve C++ projeleri için desteklenir.
Testleri makine sayısına göre dağıt İşaretlendiğinde, göreve geçirilen kapsayıcı derlemelerinin ne olursa olsun, testleri derleme düzeyinde dağıtmak yerine makine sayısına göre test dağıtır.
Test çalıştırması başlığı İsteğe bağlı. Bu test çalıştırması için bir ad, raporlama ve diğer test çalıştırmaları ile karşılaştırma için tanımlamak üzere kullanılır.
Platform İsteğe bağlı. Test çalıştırmasının bildirilmesi gereken yapı platformu. Yalnızca raporlama için kullanılır.
- Build-Visual Studio şablonunu kullanıyorsanız, bu otomatik olarak tanımlanır, örneğin x64 veya x86
-Yapı görevinde platform için bir değişken tanımladıysanız, bunu burada kullanın.
Yapılandırma İsteğe bağlı. Test çalıştırmasının bildirilmesi gereken yapı yapılandırması. Yalnızca raporlama için kullanılır.
- Build-Visual Studio şablonunu kullanıyorsanız, bu otomatik olarak tanımlanır, örneğin Debug veya Release
-Yapı görevinde yapılandırma için bir değişken tanımladıysanız, burada kullanın.
Test yapılandırması İsteğe bağlı. Test çalışmasının çalıştırıldığı yapılandırmayı raporlamak için filtre (ler) i içeren bir dize. Yalnızca Microsoft Test Yöneticisi ile raporlamak için kullanılır.
-Syntax: {test metodu adı için ifade} : {Microsoft Test Yöneticisi} ÖĞESINDEN yapılandırma kimliği
-Örnek: FullyQualifiedName~Chrome:12 tamamen nitelenmiş adında Chrome içeren tüm test yöntemlerini raporlamak ve bunları Microsoft Test Yöneticisi tanımlı yapılandırma kimliği 12 ' ye eşleyin.
- DefaultTestConfiguration:{Id} Tümünü yakala olarak kullanın.
Test makineleri altındaki uygulama Test edilen uygulamanın (AUT) dağıtıldığı veya W3WP.exe gibi belirli bir işlemin çalıştığı makinelerin listesi. Bu makinelerden kod kapsamı verilerini toplamak için kullanılır. Bunu kod kapsamı etkin ayarıyla birlikte kullanın. Liste, daha önceki bir görevden gelen bir makine adı veya çıkış değişkeni olan virgülle ayrılmış bir liste olabilir.
Denetim seçenekleri Bkz. Denetim seçenekleri

Görev, en fazla 32 makine/aracıyı destekler.

Senaryolar

Tipik senaryolar şunlardır:

  • Selenium testleri için farklı tarayıcılar gibi test makinelerinde ek yüklemeler gerektiren testler
  • Kodlanmış UI testleri
  • Belirli bir işletim sistemi yapılandırması gerektiren testler
  • Birden çok test makinesi kullanarak çok sayıda birim testini daha hızlı yürütmek için

Bu görevi şu şekilde kullanın:

  • Şirket içi standart ortamlara karşı otomatikleştirilmiş testler çalıştırma
  • Mevcut Azure ortamlarında otomatikleştirilmiş testler çalıştırma
  • Yeni sağlanan Azure ortamlarında otomatik testler çalıştırın

Birim testlerini, tümleştirme testlerini, işlevsel testleri, Visual Studio Test Çalıştırıcısı 'nı (VSTest) kullanarak yürütebilmeniz gereken herhangi bir testi çalıştırabilirsiniz.

Bir makine grubunda birden çok makine kullanmak görevin, testlerin paralel olarak dağıtılmış yürütmesini çalıştırmasına olanak sağlar. Paralellik, bireysel test düzeyinde değil, test derleme düzeyindedir.

Bu senaryolar için desteklenir:

  • TFS şirket içi ve Azure Pipelines

  • Yapı aracıları

    • Barındırılan ve Şirket içi aracılar.
    • Yapı aracısının tüm test makineleriyle iletişim kurabilmesi gerekir. Test makineleri bir güvenlik duvarının arkasında şirket içinde ise, barındırılan derleme aracıları kullanılamaz.
    • Test aracılarını indirmek için derleme aracısının Internet erişimine sahip olması gerekir. Bu durum böyle değilse, test aracısının el ile indirilmesi ve yapı Aracısı tarafından erişilebilen bir ağ konumuna dağıtılması ve Test Aracısı konum parametresi için uygun bir yol ile birlikte bir Visual Studio Test Aracısı dağıtım görevi kullanılması gerekir. Yeni test aracısı sürümleri için otomatik denetim bu topolojide desteklenmez.
  • CI/CD iş akışı

    • Yapı-dağıtma-test (BDT) görevleri hem derleme hem de yayın işlem hatları içinde desteklenir.
  • Makine grubu yapılandırması

    • Bir makine grubu içinde BDT görevleri kullanılırken yalnızca Windows makineleri desteklenir. Linux, macOS veya bir makine grubu içindeki diğer platformların BDT görevleriyle kullanılması desteklenmez.
    • Herhangi bir test makinelerinden herhangi bir sürümü veya Visual Studio sürümünü yüklemek desteklenmez.
    • Test aracısının daha eski bir sürümünün test makinelerine yüklenmesi desteklenmez.
  • Makine topolojilerini sına

    • Azure tabanlı test makineleri, hem mevcut test makineleri hem de yeni sağlanan makineler için tam olarak desteklenmektedir.
    • Etki alanına katılmış test makineleri desteklenir.
    • Çalışma grubu ile birleştirilmiş test makinelerinde, makine grubunun oluşturulması sırasında HTTPS kimlik doğrulaması etkinleştirilmelidir ve yapılandırılmış olmalıdır.
    • Test Aracısı makinelerinin Team Foundation Server örneğine ağ erişimi olması gerekir. Ağda yalıtılmış test makineleri desteklenmez.
  • Kullanım hatası koşulları

    • Farklı makine gruplarında testleri çalıştırma ve bu makine gruplarında paralel olarak (herhangi bir BDT görevi ile) yapıları çalıştırma desteklenmez.
    • BDT görevleriyle devam eden bir derlemeyi veya yayını iptal etme desteklenmez. Bunu yaparsanız, sonraki derlemeler beklendiği gibi davranmayabilir.
    • BDT görevleri aracılığıyla kuyruğa alınan bir devam eden test çalışmasının iptal edilmesi desteklenmez.
    • Bir test Aracısı yapılandırma ve testlerin yönetici olmayan bir hesap altında veya bir hizmet hesabı altında çalıştırılması desteklenmez.

Daha fazla bilgi

Açık kaynak

Bu görev GitHub 'daaçık kaynaktır. Geribildirim ve katılımlar hoş geldiniz.

SSS

Test için bir Azure Kaynak grubu oluşturmak Nasıl yaparım??

Bkz. Azure kaynaklarınızı yönetmek Için Azure portalını kullanma ve bir kaynak grubu ve sanal ağ oluşturma Azure Resource Manager.

Çalışma ayarları dosyası hakkında nereden daha fazla bilgi edinebilirim?

Bkz .. runsettings dosyasını kullanarak birim testlerini yapılandırma

Çalışma ayarları dosyasındaki ayarları geçersiz kılma hakkında daha fazla bilgiyi nereden edinebilirim?

Bkz. testler Için çalıştırma süresi parametreleri sağlama

Kod kapsamı analizini nasıl özelleştirebilirim ve eklemeleri ve dışlamaları yönetme

Bkz. kod kapsamı analizini özelleştirme

Bir aracıya ihtiyacım var mı?

Yapınızı veya sürümünüzü çalıştırmak için en az bir aracınız olması gerekir.

Sorun yaşıyorum. Sorunları nasıl giderebilirim?

Bkz. derleme ve yayın sorunlarını giderme.

Varsayılan bir aracı havuzu seçemiyorum ve derleme veya yayınımı sıraya alamıyorum. Bu Nasıl yaparım? düzeltilsin mi?

Bkz. Aracı havuzları.

NuGet Push görevlerim şu hata ile başarısız oluyor: "hata: yerel veren sertifikası alınamıyor". Bunu nasıl giderebilirim?

Bu, güvenilen kök sertifika eklenerek düzeltilebilir. NODE_EXTRA_CA_CERTS=fileOrtam değişkenini yapı aracıya ekleyebilir veya NODE.EXTRA.CA.CERTS=file görev değişkenini işlem hattınızda ekleyebilirsiniz. Daha fazla ayrıntı için bkz. ortam değişkenleri .

TFS 'yi şirket içinde kullanıyorum ve bu özelliklerden bazılarını görmüyorum. Neden olmasın?

Bu özelliklerden bazıları yalnızca Azure Pipelines kullanılabilir ve şirket içinde henüz kullanılabilir değil. TFS 'nin en son sürümüne yükselttiysenizbazı özellikler şirket içinde kullanılabilir.

::: moniker-end

Yardım ve destek