Aracılığıyla paylaş


Test Studio ile çalışma

Bu hızlı başlangıçta Kudos adlı tuval uygulaması için testler oluşturacaksınız. Ayrıca test kavramlarını inceleyip keşfedebilir ve kendi tuval uygulamalarınız için test yazarken bunları uygulayabilirsiniz. Örnek Kudos uygulaması bir çalışan etkileşimi uygulamaları paketinin parçasıdır ve Personel Deneyimi Başlangıç Seti'nden indirilebilir.

Test Studio ile çalışma hakkında bilgi edinmek için bu videoyu izleyin:

Test Studio'yu açma

  1. Power Apps'te oturum açın.

  2. Yeni uygulama oluşturun veya mevcut bir uygulamayı düzenleyin.

  3. Test Studio'yu açmak için uygulamanızı Power Apps'e kaydedin.

    Not

    Uygulama için test yazmadan önce uygulamayı kaydetmeniz gerekir.

  4. Sol gezintide Gelişmiş araçlar'ı seçin.

  5. Testleri aç'ı seçerek bu uygulama için Test Studio'yu açın. Bu eylem, Test Stüdyosu'nu yeni bir tarayıcı sekmesinde açar.

    Test Studio'yu açma.

Not

Testler uygulama paketi içinde yayımlanır ve saklanır. Bir tuval uygulaması paketini başka bir ortama veya ortamdan aktarmak, test paketleri ve oluşturduğunuz test örnekleri gibi tüm test tanımlamalarını da içerir.

Test paketi oluşturma

Varsayılan olarak, Test Stüdyosu'nda test paketi ve test örneği sizin için oluşturulur. Test paketleri, test örneklerinizi düzenlemek için kullanılır. Bir uygulama bir veya birden fazla test paketi içerebilir. Varsayılan test paketini ve çalışmasını kullanarak testlerinizi yazmaya hemen başlayabilir ve yeni test paketi oluşturabilirsiniz.

  1. Yeni paket'i seçin.

  2. Ana kılavuzdaki alanları seçerek Test paketi adı ve açıklamasını güncelleştirin.

    Yeni test paketi.

Test örneği oluşturma

Testlerinizi nasıl düzenlemek veya gruplandırmak istediğinize bağlı olarak bir test paketinde birden fazla test örneği oluşturabilirsiniz. Her çalışma uygulamanızdaki belirli bir özelliği veya işlevlerin bir alt kümesini test edebilir.

  1. Bir test paketi seçin.
  2. Yeni bir çalışma oluşturmak için üst menüde Yeni Çalışma'yı seçin.
  3. Ana kılavuzdaki alanları seçerek Test örneği adı ve açıklamasını güncelleştirin.

Yeni test örneği.

Test örneğini kaydetme

Test örneği, eylemleri içeren test adımlarından oluşur. Test eylemleri bir görevi yerine getiren Power Apps ifadeleri kullanılarak yazılır. Kaydediciyi kullanarak, uygulamanızla etkileşimli çalışırken test adımlarının otomatik olarak oluşturulmasını sağlayabilirsiniz. Kaydı yaptıktan sonra test örneğini güncelleştirebilir, adımları silebilir ve testinizin sonucunu doğrulamak için test onayları yazabilirsiniz.

Not

Yalnızca yayımlanmış uygulamalar kayıt modunda yürütülebilir. Test örneğinin kaydını başlatmadan önce son yapılan tüm değişiklikleri uygulamada yayımlayın. Son değişiklikleri yayımlamadan kayıt yapılması, kayıt modunda uygulamanın son yayımlanan sürümünün yürütülmesine yol açar.

  1. Üst menüde Kayıt'ı seçin. Bu eylem, yayımlanan uygulamayı yeni bir tarayıcı sekmesinde kayıt modunda açar.

    Önemli

    Mevcut test örneğinin üzerine kayıt yapıldığında önceden var olan tüm test adımları geçersiz kılınır.

    Testleri kaydetme.

  2. Uygulamanızla etkileşim kurun. Eylemleriniz sol bölmede kaydedilir.

  3. Etkileşim tamamlandıktan sonra Bitti'yi seçin. İsteğe bağlı olarak, etkileşimleriniz kaydedilmeden Test Studio'ya dönmek için İptal'i de seçebilirsiniz.

    Yapılan kaydı kaydetme.

  4. Test Studio'da sizin için otomatik olarak oluşturulmuş olan test adımlarını ve ifadeleri güncelleştirin.

  5. Gerekirse ana kılavuzda adım açıklaması metnini düzenleyin. Ayrıca ana kılavuzda formülü seçerek tek adımı eylemlerini de güncelleştirebilirsiniz.

    Test örneğini güncelleştirme.

Test adımları ve test onayları ekleme

Her test örneğinin beklenen bir sonucu olmalıdır. Kudos örneğinde bir kudo göndermenin beklenen sonucu Microsoft Dataverse (Dataverse) veritabanında yeni bir kayıt oluşturmaktır. Şimdi test örneğini güncelleştirecek ve kaydın başarıyla oluşturulduğunu doğrulamak için başka test adımları ekleyeceksiniz.

Kaydın başarıyla oluşturulduğunu doğrulamak için aşağıdaki adımları izleyin:

  • Test örneğinin başında, veritabanındaki kudo kaydı sayımı için bir değişken başlatın.
  • Test örneğinin sonunda, veritabanındaki kudo kaydı sayımı için bir değişken başlatın.
  • Bu sayımın bir arttığını doğrulamak için bir test onayı ifadesi yazın. Sayı bir artmadıysa test onayı başarısız olur ve test örneğiniz başarısız olur.

Kudos uygulamasına test adımları ve test onayları eklemek için:

    1. Adımı veya üzerine yeni adım eklemek istediğiniz adımı seçin.
  1. Üst menüden Yukarıya adım ekle'yi seçin veya etkin satırdan bu seçeneği belirtin. Bu eylem, boş bir adım oluşturur.

    Adım ekleme.

    Not

    Yukarıya adım ekle'yi seçtiğinizde geçerli adımın üzerine yen boş bir adım eklenir. Bunun yerine Onayla, SetProperty, Seç veya İzle eylemini de kullanabilirsiniz. Bu durumda ilgili eylemin formülünü içeren adım eklenir ve bu adımı düzenleyebilirsiniz.

  2. Adım açıklamasını güncelleştirin. Örneğin, “Count Kudo in database”.

  3. Testi yürütmeden önce veritabanındaki kayıtları saymak için eylem girişine bir ifade veya formül girin.

    Desteklenen herhangi bir ifadeyi kullanabilirsiniz. Ayrıca uygulamanızda bulunan veri kaynaklarını, koleksiyonları, değişkenleri veya çalıştırma akışlarını sorgulayabilir ve testlerinizde kullanmak için yeni genel değişkenler veya koleksiyonlar oluşturabilirsiniz.

    Set(kudosBeforeTest, CountRows(Filter(Kudos, Receiver.Email = "someone@example.com")))```
    
    
  4. Select Step 2 or the step above which you want to insert a new step.

  5. Select Insert a step above from the top menu or by selecting the option from the active row. This action creates an empty step.

  6. Enter an expression or formula in the action input to Trace and write the kudosBeforeTest value to test the results record.

    Trace("kudosBeforeTest : " & kudosBeforeTest);
    

    Test öncesi Kudos.

  7. Test örneğinin alt kısmına gidin ve test tamamlandıktan sonra veritabanındaki kayıtları saymak için yeni bir adım ekleyin.

    Set(kudosAfterTest, CountRows(Filter(Kudos, Receiver.Email = "someone@example.com")))```
    
    
  8. Add a final step to validate that the record count in the database has increased by a count of 1, and enter the following assertion action to verify:

    Assert(kudosAfterTest = kudosBeforeTest + 1, "Kudos count incorrect. Expected : " & kudosBeforeTest + 1  & " Actual :" & kudosAfterTest)
    

    Test onayı sonrası Kudos.

  9. Test Stüdyosu'nda sağ üst menüde test örneğini kaydedin.

Testinizi kayıttan yürütme

Uygulama işlevselliğini doğrulamak için kayıtlı testinizi kayıttan yürütebilirsiniz. Tek bir test paketi içindeki tüm testleri veya tek bir test örneğini kayıttan yürütebilirsiniz.

Kaydı son değişikliklerle yürütmeden önce uygulamayı yayımlamanız gerekir:

Yayımlamadan yürütme.

Önemli

Yayımlamayı atlarsanız kaydın yürütülmesinde son test değişiklikleriniz yer almaz. Uygulama için son yayımlanan test örneği veya paketi yürütülür.

  1. Testinizi otomatik olarak kaydetmek ve yayımlamak için Yayımla'yı seçin.

    Değişiklikleri yayımlama.

  2. Test paketi veya tek bir test örneği seçin.

  3. Oynat'ı seçin. Yayımlanan uygulama Yürütme modunda açılır ve test adımlarınızın otomatik olarak kayıttan yürütüldüğünü görebilirsiniz. Yeşil onay işareti, test adımının başarıyla yürütüldüğünü gösterir. Adım başarısız olursa kırmızı bir hata göstergesiyle birlikte başarısızlığı bildiren bir ileti görüntülenir.

    Yürütme modu.

  4. Test Studio'ya dönmek için Bitti'yi seçin.

Başarısız onay

Bu bölümde başarısız olan bir test deneyimini görmek için test onayını değiştireceksiniz:

  1. İfade kutusunu seçerek onay adımını düzenleyin.

  2. Test eyleminde + 1 değerini + 2 olarak güncelleştirin. Bu güncelleştirme, testin iki kayıt oluşturulmasını beklediği anlamına gelir ve bu doğru değildir. Test başarılı olursa veritabanında yalnızca bir kayıt oluşturulacaktır.

    Assert(kudosAfterTest = kudosBeforeTest + 2, "Kudos count incorrect. Expected : " & kudosBeforeTest + 2  & " Actual :" & kudosAfterTest)
    

    Onay sayısı güncelleştirmesi.

  3. Yayımla öğesini seçin.

  4. Oynat'ı seçin.

  5. Testin kayıttan yürütülmesini görüntüleyin. Şimdi son adım başarısız olur ve onay adımında sağladığınız iletiyle bir hata gösterir.

    Kayıttan yürütme hatası.

Testleri tarayıcıda yürütme

Testi, Test Stüdyosu dışında ayrı bir tarayıcıda yürütmek için bağlantıyı kopyalayabilirsiniz. Bu, testlerinizi Azure DevOps gibi bir sürekli derleme ve kullanıma sunma işlem hattına tümleştirmenize yardımcı olur.

Seçilen testin yürütme bağlantısı kalıcı olur. Test paketi veya test örneği için değişmez. Derleme ve kullanıma sunma işlemlerinde değişiklik yapmanıza gerek kalmadan testlerinizi güncelleştirebilirsiniz.

Testleri tarayıcınızda yürütmek için:

  1. Sağ bölmede bir test paketi veya test örneği seçin.

  2. Yürütme bağlantısını kopyala'yı seçin.

    Yürütme bağlantısını kopyalama.

  3. Yayımlanmamış değişiklikler varsa testlerinizi yayımlamanız istenir.

    Bağlantıyı kopyalamadan önce yayımlama.

  4. Yayımlama işlemini atlamayı ve yürütme bağlantısını kopyalamayı seçebilirsiniz. Atlarsanız yeni test değişiklikleri yürütülmez.

    Kopyalanan bağlantıyı yürütme.

  5. Testi yürütmek için tarayıcıyı açın ve URL'yi adres çubuğuna yapıştırın.

  6. Testinizin kayıttan yürütülmesini görüntüleyin.

Testlerinizi ayarlama

Test paketinin OnTestCaseStart özelliği, testinizi ayarlamak için kullanılabilir. Bu özellik için girilen ifade, örnek yürütülmeye başlamadan önce bir paketteki her test örneği için tetiklenir. OnTestCaseStart, her örneğin başında aynı test adımlarını yazmanızı önlemeye yardımcı olur. Bu özelliği, paketteki tüm örnekler için ortak olan ayarlama görevlerini çalıştıracak şekilde özelleştirebilirsiniz:

  • Test yürütmesini her zaman ilk ekrandan başlatın.
  • Ortak koleksiyonlar veya değişkenler başlatılıyor.
  • Yürütülen geçerli test için bir veri kaynağından test verileri alınıyor

TestCaseInfo kaydı, yürütülmekte olan geçerli testin ayrıntılarını içerir. Aşağıdaki özelliklerde oluşur:

  • TestCaseName – test örneğinin adı.
  • TestCaseDescription – test örneğinin açıklaması.
  • TestCaseId – test örneğinin kimliği.
  • TestSuiteName – çalışmanın ait olduğu test paketinin adı.
  • TestSuiteDescription – test paketinin açıklaması.
  • TestSuiteId – çalışmanın ait olduğu test paketinin kimliği.

Aşağıdaki örnekte, her test örneğinin uygulamanızın ilk ekranından başlaması için OnTestCaseStart özelliğini özelleştireceksiniz. Ayrıca test verilerini, test örneği için adımlarda başvurulan veri kaynağından da alabilirsiniz.

  1. Sol bölmede Test'i veya paket üstbilgisinde Görünüm'ü seçin.

    Test etme veya ayarlanan özelliği görüntüleme.

  2. OnTestCaseStart eylemini seçin.

  3. İlk ekrana Gitmek için bir ifade girin ve testiniz için test verilerini alın.

    //Start every cases on the first screen in the Kudos app
    Navigate('Dashboard Screen');
    
    //Initialize my test data for the current case. 
    Set(currentTestData, LookUp(KudosTestData, TestCase = TestCaseInfo.TestCaseName));
    
    //Set kudosBeforeTest to 0
    Set(kudosBeforeTest, 0)
    

    OnTestCaseStart örneği.

Test sonuçlarını işleme

Testler; Test Stüdyosu'nda kayıttan yürütülürken görünen test paneli, tarayıcı kullanırken görünmez. Bu davranış nedeniyle yürütülen test adımını veya bir testin başarılı olup olmadığını belirleyemezsiniz.

Test sonuçlarını Test Studio'nun dışında saptamak için, testlerinizin sonuçlarını işlerken kullanabileceğiniz test nesnesinde OnTestCaseComplete ve OnTestSuiteComplete adlı iki özellik vardır. Testleri Azure DevOps gibi bir sürekli derleme ve kullanıma sunma işlem hattıyla tümleştirirken, bu özellikler uygulama dağıtımı işlemine devam etmeniz gerekip gerekmediğini saptamak için kullanılabilir.

Her çalışma veya paket tamamlandığında, bu özelliklere girilen ifade tetiklenir. Bu özellikleri özelleştirerek testlerinizin sonuçlarını işleyebilir ve aşağıdakiler gibi çeşitli veri kaynaklarına veya hizmetlere gönderebilirsiniz:

  • SQL Server.
  • Dataverse.
  • Power Automate.
  • Office 365 kullanarak e-posta.

Bu ayarlar uygulamanızdaki her test paketi veya test örneği için geçerlidir. Her test paketi veya test örneği tamamlandıktan sonra, testlerdeki test sonuçları ve tüm izleme (Trace) iletileri TestCaseResult ve TestSuiteResult kayıtlarında sağlanır.

TestCaseResult kaydı aşağıdaki özellikleri içerir:

  • TestCaseName – test örneğinin adı.
  • TestCaseDescription – test örneğinin açıklaması.
  • TestCaseId – test örneğinin kimliği.
  • TestSuiteName – çalışmanın ait olduğu test paketinin adı.
  • TestSuiteDescription – test paketinin açıklaması.
  • TestSuiteId – çalışmanın ait olduğu test paketinin kimliği.
  • StartTime – testin yürütme zamanı başlangıcı.
  • EndTime – testin yürütme zamanı sonu.
  • Traces – test onaylarının sonuçları ve Trace işlevinden gelen iletiler.
  • Success – test örneğinin başarıyla tamamlandığını gösterir.
  • TestFailureMessage – çalışmanın başarısız olması durumunda, başarısızlık iletisi.

TestSuiteResult kaydı aşağıdaki özellikleri içerir:

  • TestSuiteName – test paketinin adı.
  • TestSuiteDescription – test paketinin açıklaması.
  • TestSuiteId – test paketinin kimliği.
  • StartTime – test paketinin yürütme zamanı başlangıcı.
  • EndTime – test paketinin yürütme zamanı sonu.
  • TestsPassed – pakette başarıyla tamamlanan test örneklerinin sayısı.
  • TestsFailed - pakette başarısız olan test örneklerinin sayısı.

Bu hızlı başlangıçta, OnTestCaseComplete ve OnTestSuiteComplete özelliklerini özelleştirerek test sonuçlarını depolamak üzere Dataverse veritabanında iki özel tablo oluşturacaksınız:

  1. Sol bölmede Test'i veya paket üstbilgisinde Görünüm'ü seçin.

    Test etme veya ayarlanan özelliği görüntüleme.

  2. OnTestCaseComplete eylemini seçin.

  3. Testinizin sonuçlarını işlemek için bir ifade girin. Aşağıdaki örnekte, test çalışması sonuçlarının her biri Dataverse'te özel AppTestResults tablosuna kaydedilir. Test sonuçları isteğe bağlı olarak SQL, SharePoint veya başka bir veri kaynağında da depolanabilir. Gerekirse veri kaynağınızda Trace alanını ayarlar veya artırırsınız.

    Not

    Aşağıdaki örnekler Microsoft Dataverse'e bağlanır. Basit bir uygulama oluşturabilir veya Dataverse'i kullanarak sıfırdan uygulama derleyebilirsiniz. Ayrıca, aşağıdaki örneklerde kullanılan veri kaynağının kayıtlarını değiştirme konusundaki diğer ayrıntılar için Patch işlevi başvurusuna da bakabilirsiniz.

    //Save to Dataverse
    Patch(AppTestResults
    , Defaults(AppTestResults)
    , {
             TestPass: TestCaseResult.TestCaseName & ":" & Text(Now())
             ,TestSuiteId: TestCaseResult.TestSuiteId
             ,TestSuiteName: TestCaseResult.TestSuiteName
             ,TestCaseId: TestCaseResult.TestCaseId
             ,TestCaseName: TestCaseResult.TestCaseName
             ,StartTime: TestCaseResult.StartTime
             ,EndTime: TestCaseResult.EndTime
             ,TestSuccess: TestCaseResult.Success
             ,TestTraces: JSON(TestCaseResult.Traces)
             ,TestFailureMessage: TestCaseResult.TestFailureMessage
    }
    );
    

    OnTestCaseComplete örneği.

  4. OnTestSuiteComplete eylemini seçin.

  5. Testinizin sonuçlarını işlemek için bir ifade girin. Aşağıdaki örnekte, test paketi sonuçlarının her birini Dataverse'te özel AppTestSuiteResults tablosuna kaydedersiniz.

    //Save to Dataverse
    Patch(AppTestSuiteResults
        , Defaults(AppTestSuiteResults)
        , {
             TestSuiteId: TestSuiteResult.TestSuiteId
             ,TestSuiteName: TestSuiteResult.TestSuiteName
             ,StartTime: TestSuiteResult.StartTime
             ,EndTime: TestSuiteResult.EndTime
             ,TestPassCount: TestSuiteResult.TestsPassed
             ,TestFailCount: TestSuiteResult.TestsFailed
        }
    );
    

    OnTestSuiteComplete örneği.

Bu özelliklerde kullanabileceğiniz diğer ifadelerin örnekleri şunlardır:

  • Sonuçları Power Automate'teki bir akışa gönderin.

    MyTestResultsFlow.Run(JSON(TestCaseResult))
    
  • Sonuçlarınızı e-posta ile gönderin.

    Office365.SendMailV2("someone@example.com", "Test case results", JSON(TestCaseResult, JSONFormat.IndentFour))
    
  • Test sonucuyla ilgili bir uygulama bildirimi alın.

    Örneğin testi Test Studio'nun dışında, bir tarayıcıda yürütürken, test tamamlandıktan sonra bildirim alabilirsiniz.

    Notify(TestCaseResult.TestCaseName & " : "
            & If( TestCaseResult.Success
                , " Passed"
                , TestCaseResult.TestFailureMessage)
            ,If(  TestCaseResult.Success
                , NotificationType.Success
                , NotificationType.Error)
    )
    

Test İşlevleri

Power Apps içinde sağlanan işlevlere ek olarak aşağıdaki işlevleri de testleri yazarken yaygın olarak kullanacaksınız.

Sonraki adımlar

Not

Belge dili tercihlerinizi bizimle paylaşabilir misiniz? Kısa bir ankete katılın. (lütfen bu anketin İngilizce olduğunu unutmayın)

Anket yaklaşık yedi dakika sürecektir. Kişisel veri toplanmaz (gizlilik bildirimi).