Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Nota
Fitur pratinjau tidak dibuat untuk penggunaan produksi dan mungkin memiliki fungsionalitas yang dibatasi. Fitur-fitur ini tersedia sebelum rilis resmi sehingga pelanggan bisa mendapatkan akses awal dan memberikan umpan balik.
Pengujian didefinisikan dalam YAML mengikuti panduan yang sama seperti power Fx. Pelajari selengkapnya tentang tata bahasa rumus Power Fx YAML.
Lihat folder PowerApps-TestEngine/samples untuk contoh terperinci.
Definisi skema YAML
| Harta benda | Description |
|---|---|
| testSuite | Mendefinisikan satu rangkaian pengujian, kasus pengujian di rangkaian pengujian dan konfigurasi khusus untuk rangkaian pengujian |
| testSettings | Menentukan pengaturan untuk rangkaian pengujian yang digunakan kembali di beberapa kasus pengujian |
| environmentVariables | Menentukan variabel yang berpotensi berubah saat aplikasi di-port di berbagai lingkungan |
testSuite
Digunakan untuk menentukan satu pengujian.
| Harta benda | Tipe | Description |
|---|---|---|
persona |
string | Dibutuhkan. Pengguna yang masuk untuk melakukan pengujian. Harus cocok dengan persona yang tercantum di bagian Pengguna . |
testCases |
TestCases | Dibutuhkan. Mendefinisikan kasus pengujian di rangkaian pengujian. Kasus pengujian yang terkandung dalam rangkaian pengujian dijalankan secara berurutan. Status aplikasi dipertahankan di semua kasus pengujian di suite. |
testSuiteName |
string | Dibutuhkan. Nama rangkaian pengujian. |
appLogicalName |
string | Optional. Nama logis aplikasi yang akan diluncurkan. Ini dapat diperoleh dari solusi. Untuk aplikasi kanvas, Anda perlu menambahkannya ke solusi untuk mendapatkannya. Lihat Cara mengidentifikasi aplikasi Anda dalam rencana pengujian |
appId |
Panduan | Optional. ID aplikasi yang akan diluncurkan. Diperlukan dan digunakan hanya saat appLogicalName tidak ada. ID Aplikasi harus digunakan hanya untuk aplikasi kanvas yang tidak ada dalam solusi. Lihat Cara mengidentifikasi aplikasi Anda dalam rencana pengujian |
networkRequestMocks |
NetworkRequestMocks | Optional. Menentukan tiruan permintaan jaringan yang diperlukan untuk pengujian. |
onTestCaseComplete |
string | Optional. Menentukan langkah-langkah yang perlu dipicu untuk setiap kasus pengujian dalam rangkaian setelah kasus selesai dieksekusi. |
onTestCaseStart |
string | Optional. Menentukan langkah-langkah yang perlu dipicu untuk setiap kasus pengujian dalam rangkaian sebelum kasus mulai dieksekusi. |
onTestSuiteComplete |
string | Optional. Menentukan langkah-langkah yang perlu dipicu setelah rangkaian selesai dijalankan. |
testSuiteDescription |
string | Optional. Informasi tambahan menjelaskan apa yang dilakukan rangkaian pengujian. |
Cara mengidentifikasi aplikasi Anda dalam rencana pengujian
Anda perlu mengatur salah satu appLogicalName atau appId untuk mengidentifikasi aplikasi Anda. Yang Anda gunakan bergantung pada apakah aplikasi Anda ditentukan dalam solusi.
Aplikasi berbasis solusi (disarankan)
Saat Anda menentukan aplikasi dalam solusi, pengujian Anda tetap portabel di seluruh lingkungan. Atur appLogicalName properti untuk menunjukkan bahwa aplikasi berbasis solusi.
Untuk menemukan nama logis aplikasi:
- Buka solusi yang berisi aplikasi Anda di Power Apps
- Gunakan Nama (bukan Nama tampilan) dalam daftar. Nilai nama menyertakan awalan kustomisasi untuk penerbit solusi.
Aplikasi mandiri
Saat aplikasi Anda tidak ditentukan dalam solusi, Anda perlu menggunakan appId properti .
Untuk menemukan ID aplikasi:
- Temukan aplikasi di daftar Power Apps
- Buka Detail dan catat GUID ID Aplikasi
NetworkRequestMocks
| Harta benda | Tipe | Description |
|---|---|---|
requestURL |
string | Dibutuhkan. URL permintaan yang mendapatkan respons tiruan. Pola glob diterima |
responseDataFile |
string | Dibutuhkan. File teks dengan konten respons tiruan. Semua teks dalam file ini dibaca sebagai respons |
headers |
array | Optional. Daftar bidang header dalam permintaan dalam format [fieldName: fieldValue] |
method |
string | Optional. Metode permintaan (GET, POST, dll.) |
requestBodyFile |
string | Optional. File teks dengan isi permintaan. Semua teks dalam file ini dibaca sebagai isi permintaan |
Untuk properti opsional, jika tidak ada nilai yang ditentukan, perutean berlaku untuk semua. Misalnya, jika method null, kami mengirim kembali respons tiruan apa pun metodenya selama properti lain semuanya cocok.
Untuk aplikasi Sharepoint/Dataverse/Connector, requestURL dan method bisa sama untuk semua permintaan.
x-ms-request-method dan x-ms-request-url di header perlu dikonfigurasi dalam hal ini untuk mengidentifikasi permintaan yang berbeda.
TestCases
| Harta benda | Tipe | Description |
|---|---|---|
testCaseName |
string | Dibutuhkan. Nama kasus pengujian yang digunakan dalam melaporkan keberhasilan dan kegagalan |
testSteps |
TestSteps | Dibutuhkan. Sekumpulan fungsi Power Fx yang menjelaskan langkah-langkah yang diperlukan untuk melakukan kasus pengujian. Lihat contoh TestSteps |
testCaseDescription |
Tidak. | Optional. Informasi tambahan menjelaskan apa yang dilakukan kasus pengujian |
TestSteps
-
TestStepsdapat menggunakan fungsi Test Engine Power Fx yang ada atau fungsi pengujian tertentu yang ditentukan oleh kerangka kerja ini. - Nilai harus dimulai dengan simbol pipa (
|) untuk memungkinkan ekspresi YAML multibaris diikuti dengan tanda sama dengan (=) untuk menunjukkan bahwa itu adalah ekspresi Power Fx - Fungsi harus dipisahkan oleh titik koma (
;). - Komentar dapat digunakan dan harus dimulai dengan karakter garis miring terbalik ganda (
//).
Contoh TestSteps
testCases:
- testCaseName: Fill in a city name and do the search
testSteps: |
= Screenshot("connectorapp_loaded.png");
SetProperty(TextInput1.Text, "Atlanta");
Select(Button1);
Assert(Label4.Text = "You are seeing the mock response", "Validate the output is from the mock");
Screenshot("connectorapp_end.png");
testSettings
Digunakan untuk menentukan pengaturan untuk pengujian dalam rencana pengujian.
| Harta benda | Tipe | Description |
|---|---|---|
browserConfigurations |
BrowserConfiguration[] | Dibutuhkan. Daftar konfigurasi browser yang akan diuji. Setidaknya satu browser harus ditentukan. |
extensionModules |
extensionModules | Optional. Berisi data tentang ekstensi yang akan diaktifkan. |
filePath |
string | Optional. Jalur file ke file yaml terpisah dengan semua pengaturan pengujian. Jika disediakan, itu akan mengambil alih semua pengaturan pengujian dalam rencana pengujian. |
headless |
Boolean | Optional. Nilai default adalah benar. Jika diatur ke false, browser muncul selama eksekusi pengujian. |
locale |
string | Optional. Sintaks lokal/budaya tempat kasus pengujian atau langkah pengujian ditulis. Jika tidak ditentukan, CultureInfo.CurrentCulture digunakan untuk lokal secara default untuk mengurai langkah-langkah pengujian. Lihat Pertimbangan wilayah dan bahasa |
recordVideo |
Boolean | Optional. Secara default adalah false. Jika diatur ke true, rekaman video pengujian akan diambil. |
timeout |
bilangan bulat | Optional. Nilai batas waktu dalam milidetik. Defaultnya adalah 30.000 milidetik (30 detik). Jika ada operasi yang memakan waktu lebih lama dari batas waktu habis, operasi mengakhiri pengujian dalam kegagalan. |
powerFxTestTypes |
name
value pasang |
Optional. Daftar nama jenis dan definisi jenis Power Fx. Lihat contoh powerFxTestTypes |
testFunctions |
description
code pasang |
Optional. Daftar deskripsi dan definisi fungsi Power Fx. Lihat contoh testFunctions |
extensionModules
Berisi data tentang ekstensi yang akan diaktifkan.
| Harta benda | Tipe | Description |
|---|---|---|
enable |
bool | Apakah modul ekstensi diaktifkan atau tidak. |
allowPowerFxNamespaces |
daftar | Daftar namespace PowerFx yang akan diaktifkan. |
parameters |
pasangan nilai kunci | Properti dengan nilai untuk mengontrol modul ekstensi. Saat ini, hanya parameter boolean enableDataverseFunctions yang valid untuk ini. |
Contoh ini memperlihatkan cara mengaktifkan namespace PowerFx Preview :
testSettings:
extensionModules:
enable: true
allowPowerFxNamespaces:
- Preview
Pelajari selengkapnya tentang fungsi pratinjau
Pertimbangan wilayah dan bahasa
Test Engine mendukung berbagai pengaturan bahasa dan regional seperti pemisah desimal dan daftar. Properti testSettings.locale mengontrol perilaku ini. Untuk informasi selengkapnya, lihat Dukungan Global di Microsoft Power Fx.
Lihat konfigurasi sampel ini di repositori GitHubPowerApps-TestEngine:
- Untuk wilayah yang menggunakan titik koma sebagai pemisah daftar
- Untuk wilayah yang menggunakan koma sebagai pemisah desimal
contoh powerFxTestTypes
powerFxTestTypes:
- name: ControlName
value: |
{ControlName: Text}
- name: Options
value: |
[{Name: Text, Value: Number}]
Contoh ini menunjukkan cara menentukan jenis Power Fx kustom untuk digunakan dalam kasus pengujian Anda. Jenis didefinisikan ControlName sebagai rekaman dengan satu Text bidang, sementara Options jenis didefinisikan sebagai tabel rekaman, masing-masing berisi Name bidang jenis Text dan Value bidang jenis Number. Jenis kustom dapat digunakan untuk membuat skenario pengujian yang lebih kompleks dan spesifik, meningkatkan fleksibilitas dan kekuatan definisi pengujian Anda.
contoh testFunctions
testFunctions:
- description: Wait until control is visible using Document Object Model (DOM) selector
code: |
WaitUntilVisible(control: Text): Void =
Preview.PlaywrightAction(Concatenate("//div[@data-id='", control, "']"), "wait");
- description: Get the options for a control using Power Fx control from Model Driven App (MDA)
code: |
GetOptions(control: ControlName): Options =
Preview.GetOptions(control);
Contoh fungsi pengujian ini menunjukkan cara menentukan fungsi Power Fx kustom untuk digunakan dalam kasus pengujian Anda. Fungsi ini WaitUntilVisible menggunakan pemilih DOM untuk menunggu hingga kontrol tertentu terlihat, menggunakan tindakan Playwright. Fungsi GetOptions mengambil opsi untuk kontrol tertentu dari Model Driven App (MDA), menggunakan kontrol Power Fx. Fungsi kustom ini meningkatkan fleksibilitas dan kekuatan definisi pengujian Anda, memungkinkan skenario pengujian yang lebih kompleks dan spesifik.
BrowserConfiguration
Setiap testSettings memerlukan setidaknya satu BrowserConfiguration.
| Harta benda | Tipe | Description |
|---|---|---|
browser |
string | Dibutuhkan. Browser yang akan diluncurkan saat pengujian. Harus cocok dengan browser yang didukung oleh Playwright. |
device |
string | Optional. Perangkat yang akan ditiru saat meluncurkan browser. Harus cocok dengan perangkat yang didukung oleh Playwright |
screenHeight |
bilangan bulat | Optional. Tinggi layar yang akan digunakan saat meluncurkan browser. Jika ditentukan, screenWidth juga harus ditentukan. |
screenWidth |
bilangan bulat | Optional. Lebar layar yang akan digunakan saat meluncurkan browser. Jika ditentukan, screenHeight juga harus ditentukan. |
environmentVariables
Anda dapat menyimpan berbagai jenis nilai sebagai nilai lingkungan, tetapi kasus yang paling umum adalah menyimpan informasi kredensial dengan daftar pengguna.
users
Untuk memastikan kredensial disimpan dengan cara yang aman, definisi pengujian mereferensikan pengguna menggunakan personaName. Menyimpan kredensial dalam file paket pengujian tidak didukung.
Contoh:
environmentVariables:
- users:
- personaName: "User1"
emailKey: "user1Email"
- personaName: "User2"
emailKey: "user2Email"
personaName digunakan sebagai bagian dari definisi pengujian untuk menunjukkan pengguna apa yang akan menjalankan pengujian.
Mekanisme penyimpanan kredensial yang didukung
Untuk menyimpan kredensial sebagai variabel lingkungan, Anda dapat mengaturnya sebagai berikut:
# In PowerShell - replace variableName and variableValue with the correct values
$env:variableName = "variableValue"
Dalam YAML, dua properti perlu didefinisikan untuk menunjukkan bahwa kredensial pengguna ini disimpan dalam variabel lingkungan:
-
emailKey: Variabel lingkungan yang digunakan untuk menyimpan email pengguna.
Contoh YAML:
- personaName: "User1"
emailKey: "user1Email"
Contoh PowerShell untuk mengatur kredensial pengguna berdasarkan YAML:
$env:user1Email = "someone@example.com"
Lihat juga
Gambaran umum Mesin Uji Power Apps (pratinjau)
Power Apps Fungsi Test Engine Power Fx (pratinjau)