Aracılığıyla paylaş


Power Apps Test Altyapısı YAML biçimi (önizleme)

Uyarı

Önizleme özellikleri, üretimde kullanıma yönelik değildir ve sınırlı işlevselliğe sahip olabilir. Bu özellikler, müşterilerin erken erişim elde edebilmesi ve geri bildirim sağlayabilmesi için resmi bir sürümden önce kullanılabilir.

Testler YAML'de Power Fx ile aynı yönergeleri izleyerek tanımlanır. Power Fx YAML formül dil bilgisi hakkında daha fazla bilgi edinin.

Ayrıntılı örnekler için PowerApps-TestEngine/samples klasörünü görüntüleyin.

YAML şema tanımları

Mülkiyet Description
testSuite Bir test paketini, test paketindeki test çalışmalarını ve test paketine özgü yapılandırmayı tanımlar
testSettings Birden çok test çalışması arasında yeniden kullanılan test paketi ayarlarını tanımlar
environmentVariables Uygulama farklı ortamlarda taşınabilirken değişebilecek değişkenleri tanımlar

testSuite

Bir testi tanımlamak için kullanılır.

Mülkiyet Türü Description
persona String Gerekli. Testi gerçekleştirmek için oturum açmış olan kullanıcı. Kullanıcılar bölümünde listelenen bir kişi ile eşleşmelidir.
testCases TestCases Gerekli. Test paketindeki test çalışmalarını tanımlar. Test paketlerinde yer alan test çalışmaları sıralı olarak çalıştırılır. Uygulama durumu, bir paketteki tüm test çalışmalarında kalıcı hale gelir.
testSuiteName String Gerekli. Test paketinin adı.
appLogicalName String Optional. Başlatılacak uygulamanın mantıksal adı. Çözümden elde edilebilir. Tuval uygulamaları için, bunu elde etmek için bir çözüme eklemeniz gerekir. Bkz. Test planında uygulamanızı tanımlama
appId Kılavuz Optional. Başlatılacak uygulamanın kimliği. Gerekli ve yalnızca appLogicalName mevcut olmadığında kullanılır. Uygulama Kimliği yalnızca çözümde olmayan tuval uygulamaları için kullanılmalıdır. Bkz. Test planında uygulamanızı tanımlama
networkRequestMocks NetworkRequestMocks Optional. Test için gereken ağ isteği sahtelerini tanımlar.
onTestCaseComplete String Optional. Olay yürütülürken paketteki her test çalışması için tetiklenmesi gereken adımları tanımlar.
onTestCaseStart String Optional. Olay yürütülmeye başlamadan önce paketteki her test çalışması için tetiklenmesi gereken adımları tanımlar.
onTestSuiteComplete String Optional. Paketin yürütülmesi tamamlandıktan sonra tetiklenmesi gereken adımları tanımlar.
testSuiteDescription String Optional. Ek bilgiler, test paketinin ne yaptığını açıklar.

Test planında uygulamanızı tanımlama

Uygulamanızı tanımlamak için veya appLogicalName ayarlamanız appId gerekir. Kullandığınız uygulama, uygulamanızın bir çözüm içinde tanımlanıp tanımlanmadığına bağlıdır.

Uygulamalarınızı çözümler içinde tanımladığınızda testleriniz ortamlar arasında taşınabilir kalır. appLogicalName Uygulamanın çözüm tabanlı olduğunu belirtmek için özelliğini ayarlayın.

Uygulamanın mantıksal adını bulmak için:

  1. Uygulamanızı içeren çözümü Power Apps'te açma
  2. Listedeki Adı ( Görünen ad değil) kullanın. Ad değeri, çözüm yayımcısı için özelleştirme ön ekini içerir.

Tek başına uygulamalar

Uygulamanız bir çözüm içinde tanımlanmadığında özelliğini kullanmanız appId gerekir.

Uygulamanın kimliğini bulmak için:

  1. Uygulamayı Power Apps listesinde bulma
  2. Ayrıntılar'ı açın ve Uygulama Kimliği GUID'sini not edin

NetworkRequestMocks

Mülkiyet Türü Description
requestURL String Gerekli. Sahte yanıt alan istek URL'si. Glob desenleri kabul edilir
responseDataFile String Gerekli. Sahte yanıt içeriğine sahip bir metin dosyası. Bu dosyadaki tüm metinler yanıt olarak okunur
headers array Optional. İstekteki [fieldName: fieldValue] biçiminde üst bilgi alanlarının listesi
method String Optional. İsteğin yöntemi (GET, POST vb.)
requestBodyFile String Optional. İstek gövdesine sahip bir metin dosyası. Bu dosyadaki tüm metinler istek gövdesi olarak okunur

İsteğe bağlı özellikler için değer belirtilmezse yönlendirme tümüne uygulanır. Örneğin null ise method , diğer özelliklerin tümü eşleşiyorsa yöntemi ne olursa olsun sahte yanıtı geri göndeririz.

Sharepoint/Dataverse/Connector uygulamaları requestURL için ve method tüm istekler için aynı olabilir. x-ms-request-method ve x-ms-request-url üst bilgilerinin bu durumda farklı istekleri tanımlamak için yapılandırılması gerekebilir.

TestCases

Mülkiyet Türü Description
testCaseName String Gerekli. Başarılı ve başarısız raporlamada kullanılan test çalışması adı
testSteps TestSteps Gerekli. Test çalışması gerçekleştirmek için gereken adımları açıklayan bir dizi Power Fx işlevi. Bkz . TestSteps örneği
testCaseDescription Hayı Optional. Ek bilgiler, test çalışmalarının ne yaptığını açıklar

TestSteps

  • TestSteps mevcut Test Altyapısı Power Fx işlevlerini veya bu çerçeve tarafından tanımlanan belirli test işlevlerini kullanabilir.
  • Değerin çok satırlı YAML ifadelerine ve ardından bir Power Fx ifadesi olduğunu belirtmek için eşittir () işaretine izin vermek için bir kanal simgesiyle (|=) başlaması gerekir
  • İşlevler noktalı virgülle (; ) ayrılmalıdır.
  • Açıklamalar kullanılabilir ve çift ters eğik çizgi karakterleriyle (// ) başlamalıdır.

TestSteps örneği

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

Test planındaki testlerin ayarlarını tanımlamak için kullanılır.

Mülkiyet Türü Description
browserConfigurations BrowserConfiguration[] Gerekli. Test edilecek tarayıcı yapılandırmalarının listesi. En az bir tarayıcı belirtilmelidir.
extensionModules extensionModules Optional. Etkinleştirileceği uzantılarla ilgili verileri içerir.
filePath String Optional. Tüm test ayarlarını içeren ayrı bir yaml dosyasının dosya yolu. Sağlanırsa, test planındaki tüm test ayarlarını geçersiz kılar .
headless Boolean Optional. Varsayılan değer doğrudur false olarak ayarlanırsa, test yürütme sırasında tarayıcı gösterilir.
locale String Optional. Test çalışmalarının veya test adımlarının yazıldığı yerel ayar/kültür söz dizimi. Belirtilmezse, CultureInfo.CurrentCulture test adımlarını ayrıştırma için varsayılan olarak yerel ayar için kullanılır. Bkz . Bölge ve dille ilgili dikkat edilmesi gerekenler
recordVideo Boolean Optional. Varsayılan değer false'tur. True olarak ayarlanırsa testin video kaydı yakalanır.
timeout tamsayı Optional. Milisaniye cinsinden zaman aşımı değeri. Varsayılan değer 30.000 milisaniyedir (30'lar). Herhangi bir işlem zaman aşımı sınırından daha uzun sürerse testi bir hatayla sonlandırır.
powerFxTestTypes name value çift Optional. Tür adı ve Power Fx türü tanımlarının listesi. Bkz. powerFxTestTypes örneği
testFunctions description code çift Optional. Açıklama ve Power Fx işlev tanımlarının listesi. Bkz . testFunctions örneği

extensionModules

Etkinleştirileceği uzantılarla ilgili verileri içerir.

Mülkiyet Türü Description
enable bool Uzantı modüllerinin etkinleştirilip etkinleştirilmediği.
allowPowerFxNamespaces liste Etkinleştirileceği PowerFx ad alanlarının listesi.
parameters anahtar değer çiftleri Uzantı modüllerini denetlemek için değerleri olan özellikler. Şu anda bunun için yalnızca boole enableDataverseFunctions parametresi geçerlidir.

Bu örnekte PowerFx Preview ad alanının nasıl etkinleştirileceği gösterilmektedir:

testSettings:
  extensionModules:
    enable: true
    allowPowerFxNamespaces:
    - Preview

Önizleme işlevleri hakkında daha fazla bilgi edinin

Bölge ve dil ile ilgili dikkat edilmesi gerekenler

Test Altyapısı ondalık ve liste ayırıcıları gibi çeşitli dil ve bölgesel ayarları destekler. testSettings.locale özelliği bu davranışları denetler. Daha fazla bilgi için bkz. Microsoft Power Fx'te Genel Destek.

PowerApps-TestEngine GitHub deposunda şu örnek yapılandırmalara bakın:

powerFxTestTypes örneği

powerFxTestTypes:
 - name: ControlName
   value: |
      {ControlName: Text} 
 - name: Options
   value: |
      [{Name: Text, Value: Number}]   

Bu örnekte, test çalışmalarınızda kullanmak üzere özel Power Fx türlerinin nasıl tanımlanacağı gösterilmektedir. Türü ControlName tek Text bir alana sahip bir kayıt olarak tanımlanırkenOptions, tür her biri türünde bir alan ve türünde Name bir Text alan Valueiçeren bir Number kayıt tablosu olarak tanımlanır. Özel türler, test tanımlarınızın esnekliğini ve gücünü geliştirerek daha karmaşık ve belirli test senaryoları oluşturmak için kullanılabilir.

testFunctions örneği

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

Bu test işlevi örnekleri, test çalışmalarınızda kullanmak üzere özel Power Fx işlevlerinin nasıl tanımlanacağı gösterilmektedir. İşlev, WaitUntilVisible Playwright eylemlerini kullanarak belirli bir denetimin görünür olmasını beklemek için bir DOM seçici kullanır. GetOptions işlevi, Power Fx denetimini kullanarak Model Temelli Uygulama'dan (MDA) belirtilen denetim seçeneklerini alır. Bu özel işlevler test tanımlarınızın esnekliğini ve gücünü geliştirerek daha karmaşık ve belirli test senaryolarına olanak sağlar.

BrowserConfiguration

Her testSettings için en az bir BrowserConfigurationgerekir.

Mülkiyet Türü Description
browser String Gerekli. Test sırasında başlatılacak tarayıcı. Playwright tarafından desteklenen tarayıcılarla eşleşmelidir.
device String Optional. Tarayıcı başlatılırken öykünecek cihaz. Playwright tarafından desteklenen cihazlarla eşleşmelidir
screenHeight tamsayı Optional. Tarayıcı başlatılırken kullanılacak ekranın yüksekliği. Belirtilirse, screenWidth ayrıca belirtilmelidir.
screenWidth tamsayı Optional. Tarayıcı başlatılırken kullanılacak ekranın genişliği. Belirtilirse, screenHeight ayrıca belirtilmelidir.

environmentVariables

Farklı türlerdeki değerleri ortam değerleri olarak depolayabilirsiniz, ancak en yaygın durum kimlik bilgilerini bir kullanıcı listesiyle depolamaktır.

users

Kimlik bilgilerinin güvenli bir şekilde depolandığından emin olmak için, test tanımı kullanan personaNamekullanıcılara başvurur. Kimlik bilgilerinin test planı dosyalarında depolanması desteklenmez.

Örnek:

environmentVariables:
    - users:
        - personaName: "User1"
          emailKey: "user1Email"
        - personaName: "User2"
          emailKey: "user2Email"

personaName, test tanımının bir parçası olarak testin hangi kullanıcı olarak çalıştırılabileceğini belirtmek için kullanılır.

Desteklenen kimlik bilgileri depolama mekanizmaları

Kimlik bilgilerini ortam değişkenleri olarak depolamak için bunları aşağıdaki gibi ayarlayabilirsiniz:

# In PowerShell - replace variableName and variableValue with the correct values
$env:variableName = "variableValue"

YAML'de, bu kullanıcının kimlik bilgilerinin ortam değişkenlerinde depolandığını belirtmek için iki özelliğin tanımlanması gerekir:

  • emailKey: Kullanıcının e-postasını depolamak için kullanılan ortam değişkeni.

Örnek YAML:

    - personaName: "User1"
      emailKey: "user1Email"

YAML'yi temel alan kullanıcı kimlik bilgilerini ayarlamak için örnek PowerShell:

$env:user1Email = "someone@example.com"

Ayrıca bakınız

Power Apps Test Altyapısına genel bakış (önizleme)
Power Apps Test Altyapısı Power Fx işlevleri (önizleme)