UFT Mobile - Azure DevOps Pipeline Entegrasyonu

Sinem Merve Ozdemir
KoçSistem
Published in
4 min readNov 29, 2022

Merhabalar,

Bu yazımda sizlere UFT One’da hazırlamış olduğumuz test scriptlerimizi Azure DevOps pipelines aracılığıyla nasıl otomatize edebileceğimizden bahsedeceğim.

UFT One ile mobil otomasyon testlerimizi nasıl hazırladığımızı Ayfer Gürbüz arkadaşımın UFT One & Mobil Test Otomasyonu adlı yazısında inceleyebilirsiniz 😊

Öncelikle, hazırladığımız repomuz source olacak şekilde bir build pipeline’ı oluşturmamız gerekiyor.

UFT Mobile’da yazdığımız test scriptlerimizi Azure DevOps pipelines aracılığıyla otomatize etmek istediğimizde dikkat etmemiz gereken ilk kural, kuracağımız Agent’ı “Run Interactively” seçeneğiyle çalıştırmak gerektiğidir.

Bu konu hakkında detaylı bilgiye : Deploy an Azure Pipelines agent on Windows — Azure Pipelines sayfasından erişebilirsiniz.

Agent kurulumunu da tamamladıktan sonra Tasks tabına Agent Job konfigüre ederek tasklarımızı eklemeye başlayabiliriz.

Variable Ekleme

Pipeline’da Variables alanında UFT_LAUNCHER değişkenini tanımlamamız gerekiyor.

Value parametresi UFTWorking dizininin full path’i olması gerekiyor ve “Settable at release time” seçeneğinin aktif olduğundan emin olalım.

Testlerin Trigger Edilmesi

Testleri trigger edebilmek için dokümanda da bahsedilen (Use Azure DevOps Server or Services to trigger a local test) batch file kullanılarak yapılan yöntemi tercih ettik ve bir .mtbx file oluşturduk.

<Mtbx>

<Test name="MobilTest Test" path="C:\UFTMobile-Demo\UftMobile" reportPath="uft_reports">
</Test>

</Mtbx>

Job’da Eklenmesi Gereken Tasklar

1.Task: Copy files to test folder

Artifact olarak Agent’ın altında bir dizine indirilen test kodlarını, herhangi bir path related problemle karşılaşmamak için testleri geliştirdiğimiz dizinin altına taşımamız gerekiyor.

2.Task: Delete Previous Test Run Results

UFT Mobile, maalesef önceki koşulardan kalan raporları silmediği için, o anki sonuçları Publish etmemize engel oluyordu. Bu engeli kaldırmak için bu task’ı ekleyerek son koşudan önceki eski tüm raporları siliyoruz.

3.Task: Run From File System

UFT One, File System Run taskını kullanarak, batch file’da belirtmiş olduğumuz testleri koşmasını istiyoruz. Continue on error seçeneği önemli, bu seçenek hata olsa da raporları paylaşabilmemize yarıyor.

4.Task: Publish Test Run Results

Bu task ise, test sonuçlarını Azure DevOps Server’a publish ettiğimiz tasktır.

Azure DevOps Pipelines aracılığıyla hazırlamış olduğumuz bu pipeline Classic Editor olarak geçmektedir.

Test Sonuçlarını Görüntüleme:

Aynı task adımlarını kullanarak YAML formatında da bir build pipeline hazırlamak da mümkün.

pool:
name: Default
demands: uft

variables:
UFT_LAUNCHER: 'C:\UFT\UFTWorking'

steps:
- task: CopyFiles@2
displayName: 'Copy Files to: C:\UFTMobile-Demo'
inputs:
TargetFolder: 'C:\UFTMobile-Demo'
CleanTargetFolder: true

- task: DeleteFiles@1
displayName: 'Delete files from $(UFT_LAUNCHER)\res'
inputs:
SourceFolder: '$(UFT_LAUNCHER)\res'
Contents: '*xml'

- task: RunFromFileSystemTask@3
inputs:
testPathInput: 'C:\UFTMobile-Demo\testsuit.mtbx'
uploadArtifact: 'no'

- task: PublishTestResults@2
displayName: 'Publish Test Results **/*.xml'
inputs:
testResultsFiles: '**/*.xml'
searchFolder: '$(UFT_LAUNCHER)\res'
mergeTestResults: true

Umarım UFT One’da hazırlamış olduğumuz test scriptlerimizi Azure DevOps pipelines aracılığıyla nasıl otomatize edebileceğimize dair sizler için de faydalı bir yazı olmuştur. Şimdilik bahsedeceklerim bu kadar. Bir sonraki yazımda görüşmek üzere! 😊

O zamana dek,

HappyTesting! 😊

Kaynaklar:

Deploy an Azure Pipelines agent on Windows — Azure Pipelines | Microsoft Learn

Use Azure DevOps Server or Services to trigger a local test (microfocus.com)

UFT One and Azure DevOps Server or Services (microfocus.com)

--

--