Gunakan Studio Ujian

Dalam panduan ini, anda akan mencipta ujian untuk aplikasi kanvas yang dipanggil Kudos. Anda juga boleh meneroka dan menemui konsep ujian dan menggunakannya untuk menulis ujian untuk aplikasi kanvas anda sendiri. Sampel aplikasi Kudos ialah sebahagian daripada suit aplikasi perikatan pekerja yang tersedia untuk dimuat turun daripada Kit Permulaan Pengalaman Pekerja.

Tonton video ini untuk mengetahui cara untuk bekerja dengan Studio Ujian:

Buka Studio Ujian

  1. Daftar masuk ke Power Apps.

  2. Cipta aplikasi baharu atau edit aplikasi sedia ada.

  3. Simpan aplikasi anda ke Power Apps untuk membuka Studio Ujian.

    Nota

    Anda mesti menyimpan aplikasi sebelum anda boleh menulis ujian untuk aplikasi.

  4. Pilih Alat lanjutan dalam navigasi kiri.

  5. Pilih Buka ujian untuk membuka Studio Ujian untuk aplikasi ini. Tindakan ini membuka Studio Ujian dalam tab pelayar baharu.

    Buka Studio Ujian.

Nota

Ujian diterbitkan dan disimpan dalam pakej aplikasi. Mengeksport dan mengimport pakej aplikasi kanvas ke persekitaran lain juga akan termasuk semua definisi ujian seperti suit ujian dan kes ujian yang telah anda cipta.

Cipta suit ujian

Secara lalai, a suit ujian dan kes ujian dicipta untuk anda dalam Ujian Studio. Suit ujian digunakan untuk menguruskan kes ujian anda. Aplikasi boleh mengandungi satu atau lebih suit ujian. Anda boleh menggunakan suit ujian lalai dan kes untuk memulakan menulis ujian anda dengan serta-merta atau mencipta suit ujian baharu.

  1. Pilih Suit baharu.

  2. Kemas kini Nama suit dan perihalan ujian dengan memilih medan pada grid utama.

    Suit ujian baharu.

Cipta kes ujian

Bergantung pada cara anda mahu menyusun atau mengumpul ujian anda, anda boleh mencipta berbilang kes ujian dalam suit ujian. Setiap kes boleh menguji ciri khusus atau kefungsian subset dalam aplikasi anda.

  1. Pilih suit ujian.
  2. Pilih Kes baharu dalam menu atas untuk mencipta kes baharu.
  3. Kemas kini Nama suit dan perihalan ujian dengan memilih medan pada grid utama.

Kes ujian baharu.

Rekod kes ujian

Kes ujian terdiri daripada langkah ujian yang mengandungi tindakan. Tindakan ujian ditulis menggunakan ungkapan Power Apps yang melaksanakan tugas. Anda boleh menggunakan rekoder untuk menjana secara automatik langkah ujian apabila anda berinteraksi dengan aplikasi anda. Selepas anda rekod, anda boleh mengemas kini kes ujian, tambah langkah baharu, padamkan langkah dan tulis pernyataan ujian untuk mengesahkan keputusan ujian anda.

Nota

Hanya aplikasi diterbitkan dimainkan dalam mod rekod. Terbitkan sebarang perubahan terkini kepada aplikasi sebelum anda mula merakam kes ujian. Rakaman tanpa menerbitkan perubahan terkini menyebabkan versi aplikasi terakhir diterbitkan untuk dimainkan dalam mod rekod.

  1. Pilih Rekod daripada menu atas. Tindakan ini membuka aplikasi yang diterbitkan dengan mod rakaman dalam tab pelayar baharu.

    Penting

    Rakaman pada kes ujian sedia ada membatalkan sebarang langkah ujian sedia ada yang sudah wujud.

    Rekod ujian.

  2. Berinteraksi dengan aplikasi anda. Tindakan anda direkodkan dalam tetingkap kiri.

  3. Sebaik sahaja interaksi selesai, pilih Selesai. Secara alternatif, anda boleh memilih Batal untuk kembali kepada Studio Ujian tanpa interaksi anda direkod.

    Simpan rakaman.

  4. Lihat langkah ujian dan ungkapan yang dijana secara automatik untuk anda dalam Studio Ujian.

  5. Edit teks perihalan langkah dalam grid utama jika perlu. Anda juga boleh mengemas kini tindakan langkah ujian dengan memilih formula pada grid utama.

    Kemas kini kes ujian.

Tambah langkah ujian dan ujian penerapan

Setiap kes ujian perlu mempunyai keputusan yang dijangkakan. Dalam contoh Kudos, salah satu hasil yang dijangkakan menghantar kudo mencipta rekod baharu dalam pangkalan data Microsoft Dataverse (Dataverse). Anda kini akan mengemas kini kes ujian dan menambahkan langkah ujian tambahan untuk mengesahkan bahawa rekod telah berjaya dicipta.

Ikuti langkah ini untuk mengesahkan penciptaan rekod yang berjaya:

  • Mengawalkan pemboleh ubah untuk kiraan rekod kudo dalam pangkalan data pada permulaan kes ujian.
  • Mengawalkan pemboleh ubah untuk kiraan rekod kudo dalam pangkalan data pada penghujung kes ujian.
  • Tulis ungkapan penerapan ujian untuk mengesahkannya ditambah dengan satu kiraan. Jika kiraan tidak meningkatkan sebanyak satu, penerapan ujian gagal dan kes ujian anda gagal.

Untuk menambah langkah ujian dan menguji penerapan dalam aplikasi Kudos:

  1. Pilih Langkah 1 atau langkah di atas yang anda mahu masukkan langkah baharu.

  2. Pilih Masukkan langkah di atas daripada menu atas atau dengan memilih pilihan daripada baris aktif. Tindakan ini mencipta langkah yang kosong.

    Sisipkan langkah.

    Nota

    Apabila anda memilih Masukkan langkah di atas, langkah kosong baharu akan ditambah di atas langkah semasa. Anda juga boleh menggunakan Menerap, SetProperty, Pilih atau sebaliknya tindakan Jejak. Ini menambah langkah dengan formula tindakan masing-masing yang boleh anda edit.

  3. Kemas kini perihalan langkah. Contohnya, "Kiraan Kudo dalam pangkalan data".

  4. Masukkan ungkapan atau formula ke dalam input tindakan untuk mengira rekod dalam pangkalan data sebelum melaksanakan ujian.

    Anda boleh menggunakan sebarang ungkapan yang disokong. Anda juga boleh bertanya sebarang sumber data, koleksi, pemboleh ubah atau menjalankan aliran yang terkandung dalam aplikasi anda dan mencipta pemboleh ubah dan koleksi global baharu untuk digunakan dalam ujian anda.

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

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

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

    Trace("kudosBeforeTest : " & kudosBeforeTest);
    

    Kudos sebelum ujian.

  8. Pergi ke bahagian bawah kes ujian dan masukkan langkah baharu untuk mengira rekod dalam pangkalan data selepas ujian selesai.

    Set(kudosAfterTest, CountRows(Filter(Kudos, Receiver.Email = "someone@example.com")))```
    
    
  9. 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)
    

    Kudos selepas menerap ujian.

  10. Simpan kes ujian daripada menu kanan atas dalam Studio Ujian.

Mainkan semula ujian anda

Anda boleh mainkan semula ujian yang direkod untuk mengesahkan kefungsian aplikasi. Anda boleh mainkan semula semua ujian dalam suit ujian tunggal, atau kes ujian tunggal.

Sebelum anda mainkan rakaman semula dengan perubahan terkini, anda mesti terbitkan aplikasi:

Main tanpa menerbitkan.

Penting

Jika anda melangkau penerbitan, rakaman main semula tidak akan mengandungi perubahan ujian terkini anda. Kes ujian yang terakhir diterbitkan atau suit akan bermain terhadap aplikasi.

  1. Pilih Terbitkan untuk menyimpan dan menerbitkan ujian anda secara automatik.

    Terbitkan perubahan.

  2. Pilih sama ada suit ujian atau kes ujian tunggal.

  3. Pilih Main. Aplikasi yang diterbitkan dibuka dalam mod Main, dan anda boleh melihat langkah ujian anda dimainkan semula secara automatik. Tanda semak hijau menunjukkan apabila langkah ujian berjaya dilaksanakan. Jika langkah gagal, penunjuk kegagalan merah bersama dengan mesej kegagalan dipaparkan.

    Mod main.

  4. Pilih Selesai untuk kembali ke Studio Ujian.

Penerapan gagal

Dalam bahagian ini, anda akan mengubah penerapan ujian untuk mengalami ujian yang gagal:

  1. Edit langkah penerapan dengan memilih kotak ungkapan.

  2. Kemas kini + 1 kepada + 2 dalam tindakan ujian. Kemas kini ini bermakna bahawa ujian menjangkakan dua rekod akan dicipta, yang tidak betul. Jika ujian berjaya, hanya satu rekod perlu dicipta dalam pangkalan data.

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

    Terap kemas kini kiraan.

  3. Pilih Terbitkan.

  4. Pilih Main.

  5. Lihat ujian dimainkan semula. Langkah terakhir kini gagal dan menunjukkan ralat dan mesej yang anda berikan dalam langkah penerapan.

    Ralat main semula.

Mainkan ujian dalam pelayar

Anda boleh menyalin pautan untuk memainkan ujian dalam pelayar berasingan di luar Studio Ujian. Ia membantu anda mengintegrasikan ujian anda dalam binaan berterusan dan mengeluarkan talian paip seperti Azure DevOps.

Pautan main untuk ujian yang dipilih diteruskan. Ia tidak menukar untuk suit ujian atau kes ujian. Anda boleh mengemas kini ujian anda tanpa perlu mengubah suai proses binaan dan keluaran.

Untuk mainkan ujian dalam pelayar anda:

  1. Pilih suit ujian atau kes ujian dalam tetingkap kanan.

  2. Pilih Salin pautan main.

    Salin pautan main.

  3. Anda akan digesa untuk menerbitkan ujian anda jika terdapat sebarang perubahan yang belum diterbitkan.

    Terbit sebelum salin pautan.

  4. Anda boleh memilih untuk melangkau proses terbitkan dan salin pautan main. Perubahan ujian baharu tidak dimainkan jika anda melangkau.

    Main pautan disalin.

  5. Buka pelayar dan tampal URL ke dalam bar alamat untuk memainkan ujian.

  6. Lihat ujian anda dimainkan semula.

Sediakan ujian anda

Sifat OnTestCaseStart bagi Suit Ujian boleh digunakan untuk menyediakan ujian anda. Ungkapan yang dimasukkan untuk sifat ini menjadi pencetus bagi setiap kes ujian dalam suit sebelum kes memulakan pelaksanaan. OnTestCaseStart membantu anda mengelakkan penulisan langkah ujian yang lazim pada permulaan setiap kes. Anda boleh menyesuaikan sifat ini untuk menjalankan tugas persediaan yang lazim untuk semua kes dalam suit seperti:

  • Sentiasa memulakan pelaksanaan ujian dari skrin pertama.
  • Memulakan koleksi atau pemboleh ubah yang lazim.
  • Mengambil data ujian daripada sumber data untuk ujian pelaksanaan semasa

Rekod TestCaseInfo mengandungi butiran untuk ujian semasa yang sedang dilaksanakan. Ia mengandungi sifat yang berikut:

  • TestCaseName – nama kes ujian.
  • TestCaseDescription – perihalan kes ujian.
  • TestCaseId – ID kes ujian.
  • TestSuiteName – nama suit ujian yang kes digolongkan.
  • TestSuiteDescription – perihalan suit ujian.
  • TestSuiteId – ID suit ujian yang kes digolongkan.

Dalam contoh di bawah, anda akan menyesuaikan sifat OnTestCaseStart supaya setiap kes ujian bermula dari skrin pertama dalam aplikasi anda. Anda juga akan mengambil data ujian daripada sumber data yang boleh dirujukkan dalam langkah untuk kes ujian tersebut.

  1. Pilih Ujian dalam tetingkap kiri atau Pandangan pada pengepala suit.

    Uji atau lihat sifat set.

  2. Pilih tindakan OnTestCaseStart.

  3. Masukkan ungkapan untuk Navigasi ke skrin pertama dan ambil data ujian untuk ujian anda.

    //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)
    

    Contoh OnTestCaseStart.

Memproses hasil ujian

Panel ujian dapat dilihat apabila memainkan semula ujian dalam Studio Ujian tidak dapat dilihat apabila menggunakan pelayar. Disebabkan tingkah laku ini, anda tidak boleh menentukan langkah ujian khusus yang dilaksanakan atau sama ada ujian lulus atau gagal.

Untuk menentukan keputusan ujian di luar Studio Ujian, terdapat dua sifat yang dipanggil OnTestCaseComplete dan OnTestSuiteComplete tersedia dalam objek ujian yang boleh anda gunakan untuk memproses hasil ujian anda. Apabila mengintegrasikan ujian ke dalam binaan berterusan dan keluaran talian paip seperti Azure DevOps, sifat ini boleh digunakan untuk menentukan sama ada anda perlu meneruskan pelaksanaan aplikasi.

Ungkapan yang dimasukkan untuk mencetuskan sifat ini apabila setiap kes atau suit selesai. Anda boleh sesuaikan sifat ini untuk memproses dan menghantar hasil ujian anda kepada pelbagai sumber data atau perkhidmatan seperti:

  • Pelayan SQL.
  • Dataverse.
  • Power Automate.
  • E-mel menggunakan Office 365.

Tetapan ini digunakan pada setiap suit ujian atau kes ujian dalam aplikasi anda. Selepas setiap suit ujian atau kes ujian selesai, hasil ujian dan sebarang mesej jejak yang terkandung dalam ujian boleh didapati dalam TestCaseResult dan rekod TestSuiteResult.

Rekod TestCaseResult mengandungi sifat berikut:

  • TestCaseName – nama kes ujian.
  • TestCaseDescription – perihalan kes ujian.
  • TestCaseId – ID kes ujian.
  • TestSuiteName – nama suit ujian yang kes digolongkan.
  • TestSuiteDescription – perihalan suit ujian.
  • TestSuiteId – ID suit ujian yang kes digolongkan.
  • StartTime – masa mula pelaksanaan ujian.
  • EndTime – masa tamat pelaksanaan ujian.
  • Jejak – hasil sebarang ujian penerapan dan sebarang mesej daripada fungsi Jejak.
  • Berjaya – menunjukkan jika kes ujian berjaya dilengkapkan.
  • TestFailureMessage – mesej kegagalan, jika kes gagal.

Rekod TestSuiteResult mengandungi sifat berikut:

  • TestSuiteName – nama suit ujian.
  • TestSuiteDescription – perihalan suit ujian.
  • TestSuiteId – ID suit ujian.
  • StartTime – masa mula pelaksanaan suit ujian.
  • EndTime – masa tamat pelaksanaan suit ujian.
  • TestsPassed – bilangan kes ujian yang berjaya dilengkapkan di dalam suit.
  • TestsFailed- bilangan kes ujian yang gagal di dalam suit.

Dalam panduan mula cepat ini, anda akan mencipta dua jadual tersuai dalam pangkalan data Dataverse untuk menyimpan hasil ujian dengan menyesuaikan sifat OnTestCaseComplete dan OnTestSuiteComplete:

  1. Pilih Ujian dalam tetingkap kiri atau Pandangan pada pengepala suit.

    Uji atau lihat sifat set.

  2. Pilih tindakan OnTestCaseComplete.

  3. Masukkan ungkapan untuk memproses keputusan ujian anda. Sampel berikut menyimpan setiap hasil kes ujian kepada jadual AppTestResults tersuai dalam Dataverse. Hasil ujian boleh disimpan secara pilihan kepada SQL, SharePoint, atau sebarang sumber data lain. Anda mungkin perlu menetapkan atau menambah medan Jejak dalam sumber data anda seperti yang diperlukan.

    Nota

    Sampel berikut disambungkan kepada Microsoft Dataverse. Anda boleh mencipta aplikasi mudah atau membina aplikasi dari awal menggunakan Dataverse. Juga, rujuk pada Tampalan fungsi rujukan untuk butiran lanjut untuk mengubah suai rekod sumber data yang digunakan dalam sampel berikut.

    //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
    }
    );
    

    Contoh OnTestCaseComplete.

  4. Pilih tindakan OnTestSuiteComplete.

  5. Masukkan ungkapan untuk memproses keputusan ujian anda. Dalam sampel berikut, anda akan menyimpan setiap hasil set ujian kepada jadual AppTestSuiteResults tersuai dalam Dataverse.

    //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
        }
    );
    

    Contoh OnTestSuiteComplete.

Contoh lain ungkapan yang boleh anda gunakan dalam sifat ini ialah:

  • Hantar hasil ke aliran masuk Power Automate.

    MyTestResultsFlow.Run(JSON(TestCaseResult))
    
  • E-mel hasil anda.

    Office365.SendMailV2("someone@example.com", "Test case results", JSON(TestCaseResult, JSONFormat.IndentFour))
    
  • Menerima pemberitahuan aplikasi bagi hasil ujian.

    Contohnya, menerima pemberitahuan selepas selesai ujian apabila bermain ujian dalam pelayar, di luar Studio Ujian.

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

Fungsi Ujian

Selain fungsi yang tersedia dalam Power Apps, perkara berikut ialah fungsi lazim yang pada lazimnya akan anda gunakan apabila mengarang ujian:

Langkah seterusnya

Nota

Adakah anda boleh memberitahu kami tentang keutamaan bahasa dokumentasi anda? Jawab tinjauan pendek. (harap maklum bahawa tinjauan ini dalam bahasa Inggeris)

Tinjauan akan mengambil masa lebih kurang tujuh minit. Tiada data peribadi akan dikumpulkan (pernyataan privasi).