Ambil perhatian
Akses ke halaman ini memerlukan kebenaran. Anda boleh cuba log masuk atau menukar direktori.
Akses ke halaman ini memerlukan kebenaran. Anda boleh cuba menukar direktori.
Nota
Ciri pratonton bukan untuk kegunaan pengeluaran dan kefungsian mungkin terbatas. Ciri ini tersedia sebelum keluaran rasmi agar pelanggan boleh mendapat akses awal dan memberikan maklum balas.
Ujian ditakrifkan dalam YAML mengikut garis panduan yang sama seperti yang dilakukan oleh Power Fx. Ketahui lebih lanjut tentang tatabahasa formula Power Fx YAML.
Lihat folder PowerApps-TestEngine/samples untuk contoh terperinci.
Definisi skema YAML
| Hartanah | Description |
|---|---|
| testSuite | Mentakrifkan satu suite ujian, kes ujian dalam suite ujian dan konfigurasi khusus untuk suite ujian |
| Tetapan ujian | Mentakrifkan seting untuk suite ujian yang digunakan semula merentas berbilang kes ujian |
| persekitaranPembolehubah | Mentakrifkan pembolehubah yang berpotensi berubah apabila apl dialihkan merentas persekitaran yang berbeza |
testSuite
Digunakan untuk mentakrifkan satu ujian.
| Hartanah | Jenis | Description |
|---|---|---|
persona |
rentetan | Diperlukan. Pengguna yang log masuk untuk melakukan ujian. Mesti sepadan dengan persona yang disenaraikan dalam bahagian Pengguna . |
testCases |
Kes Ujian | Diperlukan. Mentakrifkan kes ujian dalam suite ujian. Kes ujian yang terkandung dalam suite ujian dijalankan secara berurutan. Keadaan apl dikekalkan merentas semua kes ujian dalam suite. |
testSuiteName |
rentetan | Diperlukan. Nama suite ujian. |
appLogicalName |
rentetan | Tidak wajib Nama logik apl yang akan dilancarkan. Ia boleh diperolehi daripada penyelesaian. Untuk apl kanvas, anda perlu menambahkannya pada penyelesaian untuk mendapatkannya. Lihat Cara mengenal pasti permohonan anda dalam pelan ujian |
appId |
GUID | Tidak wajib ID apl yang akan dilancarkan. Diperlukan dan digunakan hanya apabila appLogicalName tidak hadir. ID Apl hendaklah digunakan hanya untuk apl kanvas yang tiada dalam penyelesaian. Lihat Cara mengenal pasti permohonan anda dalam pelan ujian |
networkRequestMocks |
RangkaianPermintaanEjekan | Tidak wajib Mentakrifkan ejekan permintaan rangkaian yang diperlukan untuk ujian. |
onTestCaseComplete |
rentetan | Tidak wajib Mentakrifkan langkah yang perlu dicetuskan untuk setiap kes ujian dalam suite selepas kes selesai dilaksanakan. |
onTestCaseStart |
rentetan | Tidak wajib Mentakrifkan langkah yang perlu dicetuskan untuk setiap kes ujian dalam suite sebelum kes mula dilaksanakan. |
onTestSuiteComplete |
rentetan | Tidak wajib Mentakrifkan langkah yang perlu dicetuskan selepas suite selesai dilaksanakan. |
testSuiteDescription |
rentetan | Tidak wajib Maklumat tambahan menerangkan perkara yang dilakukan oleh suite ujian. |
Bagaimana untuk mengenal pasti permohonan anda dalam pelan ujian
Anda perlu menetapkan sama ada appLogicalName atau appId untuk mengenal pasti permohonan anda. Yang anda gunakan bergantung pada sama ada apl anda ditakrifkan dalam penyelesaian.
Apl berasaskan penyelesaian (disyorkan)
Apabila anda mentakrifkan apl anda dalam penyelesaian, ujian anda kekal mudah alih merentas persekitaran. Tetapkan appLogicalName sifat untuk menunjukkan bahawa apl adalah berasaskan penyelesaian.
Untuk mencari nama logik apl:
- Buka penyelesaian yang mengandungi apl anda dalam Power Apps
- Gunakan Nama ( bukan Nama paparan) dalam senarai. Nilai nama termasuk awalan penyesuaian untuk penerbit penyelesaian.
Apl kendiri
Apabila apl anda tidak ditakrifkan dalam penyelesaian, anda perlu menggunakan sifat tersebut appId .
Untuk mencari ID apl:
- Cari apl dalam senarai Power Apps
- Buka Butiran dan perhatikan GUID ID Apl
RangkaianPermintaanEjekan
| Hartanah | Jenis | Description |
|---|---|---|
requestURL |
rentetan | Diperlukan. URL permintaan yang mendapat respons olok-olok. Corak glob diterima |
responseDataFile |
rentetan | Diperlukan. Fail teks dengan kandungan respons olok-olok. Semua teks dalam fail ini dibaca sebagai respons |
headers |
tatasusunan | Tidak wajib Senarai medan pengepala dalam permintaan dalam format [fieldName: fieldValue] |
method |
rentetan | Tidak wajib Kaedah permintaan (GET, POST, dll.) |
requestBodyFile |
rentetan | Tidak wajib Fail teks dengan isi permintaan. Semua teks dalam fail ini dibaca sebagai isi permintaan |
Untuk sifat pilihan, jika tiada nilai ditentukan, penghalaan digunakan untuk semua. Sebagai contoh, jika method null, kami menghantar semula respons olok-olok apa sahaja kaedahnya selagi sifat lain semuanya sepadan.
Untuk aplikasi Sharepoint/Dataverse/Connector, requestURL dan method boleh sama untuk semua permintaan.
x-ms-request-method dan x-ms-request-url pengepala dalam mungkin perlu dikonfigurasikan dalam kes itu untuk mengenal pasti permintaan yang berbeza.
Kes Ujian
| Hartanah | Jenis | Description |
|---|---|---|
testCaseName |
rentetan | Diperlukan. Nama kes ujian yang digunakan dalam melaporkan kejayaan dan kegagalan |
testSteps |
Langkah-langkah Ujian | Diperlukan. Satu set fungsi Power Fx yang menerangkan langkah-langkah yang diperlukan untuk melaksanakan kes ujian. Lihat contoh TestSteps |
testCaseDescription |
Tidak | Tidak wajib Maklumat tambahan menerangkan perkara yang dilakukan oleh kes ujian |
Langkah-langkah Ujian
-
TestStepsboleh menggunakan mana-mana fungsi Test Engine Power Fx sedia ada atau fungsi ujian khusus yang ditakrifkan oleh rangka kerja ini. - Nilai hendaklah bermula dengan simbol paip (
|) untuk membolehkan ungkapan YAML berbilang baris diikuti dengan tanda sama dengan (=) untuk menunjukkan bahawa ia adalah ungkapan Power Fx - Fungsi hendaklah dipisahkan dengan titik koma (
;). - Komen boleh digunakan dan harus bermula dengan aksara garis miring terbalik berganda (
//).
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");
Tetapan ujian
Digunakan untuk menentukan tetapan untuk ujian dalam pelan ujian.
| Hartanah | Jenis | Description |
|---|---|---|
browserConfigurations |
Konfigurasi Penyemak Imbas[] | Diperlukan. Senarai konfigurasi penyemak imbas untuk diuji. Sekurang-kurangnya satu penyemak imbas mesti ditentukan. |
extensionModules |
Modul sambungan | Tidak wajib Mengandungi data tentang sambungan untuk didayakan. |
filePath |
rentetan | Tidak wajib Laluan fail ke fail yaml yang berasingan dengan semua tetapan ujian. Jika disediakan, ia akan mengatasi semua tetapan ujian dalam pelan ujian. |
headless |
boolean | Tidak wajib Lalai ialah benar. Jika ditetapkan kepada palsu, penyemak imbas muncul semasa pelaksanaan ujian. |
locale |
rentetan | Tidak wajib Sintaks tempatan/budaya di mana kes ujian atau langkah ujian ditulis. Jika tidak ditentukan, CultureInfo.CurrentCulture digunakan untuk tempatan secara lalai untuk menghuraikan langkah ujian. Lihat Pertimbangan rantau dan bahasa |
recordVideo |
boolean | Tidak wajib Lalai ialah salah. Jika ditetapkan kepada benar, rakaman video ujian ditangkap. |
timeout |
Integer | Tidak wajib Nilai tamat masa dalam milisaat. Lalai ialah 30,000 milisaat (30s). Jika sebarang operasi mengambil masa lebih lama daripada had tamat masa, ia menamatkan ujian dengan kegagalan. |
powerFxTestTypes |
name
value Pasangan |
Tidak wajib Senarai nama jenis dan definisi jenis Power Fx. Lihat contoh powerFxTestTypes |
testFunctions |
description
code Pasangan |
Tidak wajib Senarai penerangan dan definisi fungsi Power Fx. Lihat contoh testFunctions |
Modul sambungan
Mengandungi data tentang sambungan untuk didayakan.
| Hartanah | Jenis | Description |
|---|---|---|
enable |
bool | Sama ada modul sambungan didayakan atau tidak. |
allowPowerFxNamespaces |
senarai | Senarai ruang nama PowerFx untuk didayakan. |
parameters |
Pasangan nilai utama | Sifat dengan nilai untuk mengawal modul sambungan. Pada masa ini, hanya parameter boolean enableDataverseFunctions yang sah untuk ini. |
Contoh ini menunjukkan cara mendayakan ruang nama PowerFx Preview :
testSettings:
extensionModules:
enable: true
allowPowerFxNamespaces:
- Preview
Ketahui lebih lanjut tentang fungsi pratonton
Pertimbangan wilayah dan bahasa
Test Engine menyokong pelbagai tetapan bahasa dan serantau seperti pemisah perpuluhan dan senarai. Sifat mengawal testSettings.locale tingkah laku ini. Untuk maklumat lanjut, lihat Sokongan Global dalam Microsoft Power Fx.
Lihat konfigurasi sampel ini pada repositori GitHubPowerApps-TestEngine:
- Untuk rantau yang menggunakan titik koma sebagai pemisah senarai
- Untuk rantau yang menggunakan koma sebagai pemisah perpuluhan
Contoh powerFxTestTypes
powerFxTestTypes:
- name: ControlName
value: |
{ControlName: Text}
- name: Options
value: |
[{Name: Text, Value: Number}]
Contoh ini menunjukkan cara mentakrifkan jenis Power Fx tersuai untuk digunakan dalam kes ujian anda. Jenis ditakrifkan ControlName sebagai rekod dengan satu Text medan, manakala Options jenis ditakrifkan sebagai jadual rekod, setiap satu mengandungi Name medan jenis Text dan Value medan jenis Number. Jenis tersuai boleh digunakan untuk mencipta senario ujian yang lebih kompleks dan khusus, meningkatkan fleksibiliti dan kuasa definisi ujian 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 ujian ini menunjukkan cara mentakrifkan fungsi Power Fx tersuai untuk digunakan dalam kes ujian anda. Fungsi ini WaitUntilVisible menggunakan pemilih DOM untuk menunggu sehingga kawalan tertentu kelihatan, menggunakan tindakan Playwright. Fungsi GetOptions mendapatkan semula pilihan untuk kawalan tertentu daripada Apl Didorong Model (MDA), menggunakan kawalan Power Fx. Fungsi tersuai ini meningkatkan fleksibiliti dan kuasa definisi ujian anda, membolehkan senario ujian yang lebih kompleks dan khusus.
Konfigurasi Penyemak Imbas
Setiap tetapan ujian memerlukan sekurang-kurangnya satu BrowserConfiguration.
| Hartanah | Jenis | Description |
|---|---|---|
browser |
rentetan | Diperlukan. Pelayar yang akan dilancarkan semasa menguji. Sepatutnya sepadan dengan penyemak imbas yang disokong oleh Playwright. |
device |
rentetan | Tidak wajib Peranti untuk meniru semasa melancarkan penyemak imbas. Harus sepadan dengan peranti yang disokong oleh Penulis Drama |
screenHeight |
Integer | Tidak wajib Ketinggian skrin yang akan digunakan semasa melancarkan penyemak imbas. Jika ditentukan, screenWidth mesti juga ditentukan. |
screenWidth |
Integer | Tidak wajib Lebar skrin untuk digunakan semasa melancarkan penyemak imbas. Jika ditentukan, screenHeight mesti juga ditentukan. |
persekitaranPembolehubah
Anda boleh menyimpan pelbagai jenis nilai sebagai nilai persekitaran, tetapi kes yang paling biasa ialah menyimpan maklumat kelayakan dengan senarai pengguna.
Pengguna
Untuk memastikan kelayakan disimpan dengan cara yang selamat, definisi ujian merujuk pengguna menggunakan .personaName Menyimpan kelayakan dalam fail pelan ujian tidak disokong.
Contoh:
environmentVariables:
- users:
- personaName: "User1"
emailKey: "user1Email"
- personaName: "User2"
emailKey: "user2Email"
Digunakan personaName sebagai sebahagian daripada definisi ujian untuk menunjukkan pengguna yang hendak menjalankan ujian.
Mekanisme storan kelayakan yang disokong
Untuk menyimpan kelayakan sebagai pembolehubah persekitaran, anda boleh mengesetkannya seperti berikut:
# In PowerShell - replace variableName and variableValue with the correct values
$env:variableName = "variableValue"
Dalam YAML, dua sifat perlu ditakrifkan untuk menunjukkan bahawa kelayakan pengguna ini disimpan dalam pembolehubah persekitaran:
-
emailKey: Pembolehubah persekitaran yang digunakan untuk menyimpan e-mel pengguna.
Contoh YAML:
- personaName: "User1"
emailKey: "user1Email"
Contoh PowerShell untuk mengesetkan kelayakan pengguna berdasarkan YAML:
$env:user1Email = "someone@example.com"
Lihat juga
Gambaran keseluruhan Enjin Ujian Power Apps (pratonton)
Power Apps Fungsi Enjin Ujian Power Fx (pratonton)