इसके माध्यम से साझा किया गया


Power Apps परीक्षण इंजन YAML स्वरूप (पूर्वावलोकन)

नोट

पूर्वावलोकन सुविधाएँ उत्पादन में उपयोग के लिए नहीं होती हैं और इनकी कार्यक्षमता प्रतिबंधित हो सकती हैं. यह सुविधाएँ आधिकारिक रिलीज़ से पहले उपलब्ध होती हैं ताकि ग्राहक शीघ्र पहुँच प्राप्त कर सकें और प्रतिक्रिया प्रदान कर सकें.

YAML में परीक्षणों को उसी दिशानिर्देशों का पालन करते हुए परिभाषित किया जाता है जैसे Power Fx करता है। Power Fx YAML सूत्र व्याकरण के बारे में अधिक जानें.

विस्तृत उदाहरणों के लिए PowerApps-TestEngine/samples फ़ोल्डर देखें.

YAML स्कीमा परिभाषाएँ

जायदाद विवरण
टेस्टसुइट एक परीक्षण सूट, परीक्षण सूट में परीक्षण मामलों और परीक्षण सूट के लिए विशिष्ट कॉन्फ़िगरेशन को परिभाषित करता है
testसेटिंग्स परीक्षण सूट के लिए सेटिंग्स परिभाषित करता है जो कई परीक्षण मामलों में पुन: उपयोग की जाती हैं
पर्यावरणचर उन वेरिएबल्स को परिभाषित करता है जो संभावित रूप से बदल सकते हैं क्योंकि ऐप को विभिन्न परिवेशों में पोर्ट किया जाता है

टेस्टसुइट

एक परीक्षण को परिभाषित करने के लिए उपयोग किया जाता है।

जायदाद प्रकार विवरण
persona स्ट्रिंग आवश्यक. वह उपयोगकर्ता जो परीक्षण करने के लिए लॉग इन किया गया है। उपयोगकर्ता अनुभाग में सूचीबद्ध व्यक्तित्व से मेल खाना चाहिए.
testCases टेस्टकेस आवश्यक. परीक्षण सुइट में परीक्षण मामलों को परिभाषित करता है। परीक्षण सूट में निहित परीक्षण मामलों को क्रमिक रूप से चलाया जाता है। ऐप की स्थिति एक सुइट में सभी परीक्षण मामलों में बनी रहती है।
testSuiteName स्ट्रिंग आवश्यक. परीक्षण सुइट का नाम।
appLogicalName स्ट्रिंग ऑप्शनल. उस ऐप का तार्किक नाम जिसे लॉन्च किया जाना है। इसे घोल से प्राप्त किया जा सकता है। कैनवास ऐप्स के लिए, आपको इसे प्राप्त करने के लिए इसे समाधान में जोड़ना होगा। परीक्षण योजना में अपने आवेदन की पहचान कैसे करें देखें
appId Guid ऑप्शनल. जिस ऐप को लॉन्च किया जाना है, उसकी आईडी। आवश्यक है और केवल तभी उपयोग किया जाता है जब appLogicalName मौजूद न हो। ऐप्लिकेशन आईडी का इस्तेमाल सिर्फ़ उन कैनवास ऐप्लिकेशन के लिए किया जाना चाहिए, जो समाधान में नहीं हैं. परीक्षण योजना में अपने आवेदन की पहचान कैसे करें देखें
networkRequestMocks नेटवर्करिक्वेस्ट मॉक्स ऑप्शनल. परीक्षण के लिए आवश्यक नेटवर्क अनुरोध मॉक को परिभाषित करता है।
onTestCaseComplete स्ट्रिंग ऑप्शनल. उन चरणों को परिभाषित करता है जिन्हें मामले के निष्पादन समाप्त होने के बाद एक सुइट में प्रत्येक परीक्षण मामले के लिए ट्रिगर करने की आवश्यकता होती है।
onTestCaseStart स्ट्रिंग ऑप्शनल. उन चरणों को परिभाषित करता है जिन्हें मामले को निष्पादित करने से पहले एक सुइट में प्रत्येक परीक्षण मामले के लिए ट्रिगर करने की आवश्यकता होती है।
onTestSuiteComplete स्ट्रिंग ऑप्शनल. उन चरणों को परिभाषित करता है जिन्हें सुइट के निष्पादन समाप्त होने के बाद ट्रिगर करने की आवश्यकता होती है।
testSuiteDescription स्ट्रिंग ऑप्शनल. अतिरिक्त जानकारी बताती है कि परीक्षण सूट क्या करता है।

परीक्षण योजना में अपने आवेदन की पहचान कैसे करें

आपको या तो appLogicalName सेट करने की आवश्यकता है या अपने appId आवेदन की पहचान करने के लिए। आप किसका उपयोग करते हैं, यह इस बात पर निर्भर करता है कि आपका ऐप्लिकेशन किसी समाधान में परिभाषित है या नहीं.

जब आप समाधानों के भीतर अपने ऐप्स को परिभाषित करते हैं, तो आपके परीक्षण सभी परिवेशों में पोर्टेबल रहते हैं। प्रॉपर्टी को appLogicalName यह इंगित करने के लिए सेट करें कि ऐप समाधान आधारित है।

ऐप के तार्किक नाम का पता लगाने के लिए:

  1. Power Apps में अपने अनुप्रयोग वाला समाधान खोलें
  2. सूची में नाम ( प्रदर्शन नाम नहीं) का उपयोग करें. नाम मान में समाधान प्रकाशक के लिए अनुकूलन उपसर्ग शामिल होता है.

स्टैंडअलोन ऐप्स

जब आपके ऐप्लिकेशन को किसी समाधान में परिभाषित नहीं किया जाता है, तो आपको प्रॉपर्टी का उपयोग करने की आवश्यकता होती है appId .

ऐप की आईडी का पता लगाने के लिए:

  1. Power Apps सूची में ऐप का पता लगाएँ
  2. विवरण खोलें और ऐप आईडी GUID नोट करें

नेटवर्करिक्वेस्ट मॉक्स

जायदाद प्रकार विवरण
requestURL स्ट्रिंग आवश्यक. अनुरोध URL जिसे नकली प्रतिक्रिया मिलती है। ग्लोब पैटर्न स्वीकार किए जाते हैं
responseDataFile स्ट्रिंग आवश्यक. नकली प्रतिक्रिया सामग्री के साथ एक पाठ फ़ाइल. इस फ़ाइल के सभी पाठ को प्रतिक्रिया के रूप में पढ़ा जाता है
headers सरणी ऑप्शनल. [fieldName: fieldValue] के स्वरूप में अनुरोध में शीर्ष लेख फ़ील्ड्स की एक सूची
method स्ट्रिंग ऑप्शनल. अनुरोध की विधि (GET, POST, आदि)
requestBodyFile स्ट्रिंग ऑप्शनल. अनुरोध मुख्य भाग के साथ एक पाठ फ़ाइल. इस फ़ाइल के सभी पाठ को अनुरोध मुख्य भाग के रूप में पढ़ा जाता है

वैकल्पिक गुणों के लिए, यदि कोई मान निर्दिष्ट नहीं है, तो रूटिंग सभी पर लागू होती है। उदाहरण के लिए, यदि शून्य है, तो method हम नकली प्रतिक्रिया वापस भेजते हैं जो भी विधि तब तक होती है जब तक कि अन्य गुण सभी मेल खाते हैं।

Sharepoint/Dataverse/Connector ऐप्स के लिए, requestURL और method सभी अनुरोधों के लिए समान हो सकता है। x-ms-request-method और हेडर x-ms-request-url में विभिन्न अनुरोधों की पहचान करने के लिए उस मामले में कॉन्फ़िगर करने की आवश्यकता हो सकती है।

टेस्टकेस

जायदाद प्रकार विवरण
testCaseName स्ट्रिंग आवश्यक. परीक्षण मामले का नाम जो सफलता और विफलता की रिपोर्ट करने में उपयोग किया जाता है
testSteps टेस्टस्टेप्स आवश्यक. Power Fx फ़ंक्शंस का एक सेट जो परीक्षण मामले को निष्पादित करने के लिए आवश्यक चरणों का वर्णन करता है। TestSteps उदाहरण देखें
testCaseDescription No ऑप्शनल. अतिरिक्त जानकारी बताती है कि परीक्षण मामला क्या करता है

टेस्टस्टेप्स

  • TestSteps किसी भी मौजूदा टेस्ट इंजन पावर एफएक्स फ़ंक्शंस या इस ढांचे द्वारा परिभाषित विशिष्ट परीक्षण कार्यों का उपयोग कर सकते हैं।
  • मान को एक पाइप प्रतीक ()| से शुरू होना चाहिए ताकि मल्टीलाइन YAML व्यंजकों के लिए अनुमति दी जा सके और उसके बाद एक बराबर ()= चिह्न के बाद यह इंगित किया जा सके कि यह एक Power Fx अभिव्यक्ति है
  • कार्यों को अर्धविराम (); से अलग किया जाना चाहिए।
  • टिप्पणियों का उपयोग किया जा सकता है और डबल बैकस्लैश वर्णों () से// शुरू होना चाहिए।

टेस्टस्टेप्स उदाहरण

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

testसेटिंग्स

परीक्षण योजना में परीक्षणों के लिए सेटिंग्स को परिभाषित करने के लिए उपयोग किया जाता है।

जायदाद प्रकार विवरण
browserConfigurations ब्राउज़रकॉन्फ़िगरेशन[] आवश्यक. परीक्षण किए जाने वाले ब्राउज़र कॉन्फ़िगरेशन की एक सूची। कम से कम एक ब्राउज़र निर्दिष्ट किया जाना चाहिए।
extensionModules एक्सटेंशनमॉड्यूल ऑप्शनल. सक्षम करने के लिए एक्सटेंशन के बारे में डेटा शामिल है।
filePath स्ट्रिंग ऑप्शनल. सभी परीक्षण सेटिंग्स के साथ एक अलग yaml फ़ाइल के लिए फ़ाइल पथ। यदि प्रदान किया जाता है, तो यह परीक्षण योजना में सभी परीक्षण सेटिंग्स को ओवरराइड कर देगा।
headless boolean ऑप्शनल. डिफ़ॉल्ट सत्य है। यदि गलत पर सेट किया जाता है, तो ब्राउज़र परीक्षण निष्पादन के दौरान दिखाई देता है।
locale स्ट्रिंग ऑप्शनल. वह स्थान/संस्कृति सिंटैक्स जिसमें परीक्षण मामले या परीक्षण चरण लिखे गए हैं। यदि अनिर्दिष्ट है, CultureInfo.CurrentCulture तो परीक्षण चरणों को पार्स करने के लिए डिफ़ॉल्ट रूप से लोकेल के लिए उपयोग किया जाता है। क्षेत्र और भाषा संबंधी विचार देखें
recordVideo boolean ऑप्शनल. डिफ़ॉल्ट गलत है। यदि सही पर सेट किया जाता है, तो परीक्षण की एक वीडियो रिकॉर्डिंग कैप्चर की जाती है।
timeout पूर्ण संख्‍या ऑप्शनल. मिलीसेकंड में टाइमआउट मान। डिफ़ॉल्ट 30,000 मिलीसेकंड (30 सेकंड) है। यदि किसी ऑपरेशन में टाइमआउट सीमा से अधिक समय लगता है, तो यह परीक्षण को विफलता में समाप्त कर देता है।
powerFxTestTypes name value जोडा ऑप्शनल. प्रकार नाम और Power Fx प्रकार परिभाषाओं की एक सूची. powerFxTestTypes उदाहरण देखें
testFunctions description code जोडा ऑप्शनल. वर्णन और Power Fx फ़ंक्शन परिभाषाओं की एक सूची. testFunctions उदाहरण देखें

एक्सटेंशनमॉड्यूल

सक्षम करने के लिए एक्सटेंशन के बारे में डेटा शामिल है।

जायदाद प्रकार विवरण
enable bool एक्सटेंशन मॉड्यूल सक्षम हैं या नहीं।
allowPowerFxNamespaces सूची सक्षम करने के लिए PowerFx नामस्थानों की सूची.
parameters कुंजी मूल्य जोड़े एक्सटेंशन मॉड्यूल को नियंत्रित करने के लिए मानों के साथ गुण। इस समय, इसके लिए केवल बूलियन enableDataverseFunctions पैरामीटर मान्य है।

यह उदाहरण दिखाता है कि PowerFx Preview नामस्थान को सक्षम करने का तरीका:

testSettings:
  extensionModules:
    enable: true
    allowPowerFxNamespaces:
    - Preview

पूर्वावलोकन कार्यों के बारे में अधिक जानें

क्षेत्र और भाषा संबंधी विचार

टेस्ट इंजन विभिन्न भाषा और क्षेत्रीय सेटिंग्स जैसे दशमलव और सूची विभाजकों का समर्थन करता है। संपत्ति इन व्यवहारों को नियंत्रित करती testSettings.locale है। अधिक जानकारी के लिए, Microsoft Power Fx में वैश्विक समर्थन देखें.

PowerApps-TestEngine GitHub रिपॉजिटरी पर इन नमूना कॉन्फ़िगरेशन को देखें:

powerFxTestTypes उदाहरण

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

यह उदाहरण प्रदर्शित करता है कि आपके परीक्षण मामलों में उपयोग के लिए कस्टम Power Fx प्रकारों को कैसे परिभाषित किया जाए. प्रकार को ControlName एकल Text फ़ील्ड के साथ एक रिकॉर्ड के रूप में परिभाषित किया जाता है, जबकि प्रकार को Options रिकॉर्ड की तालिका के रूप में परिभाषित किया जाता है, प्रत्येक में प्रकार Name का एक फ़ील्ड और प्रकार Textका एक Value फ़ील्ड होता हैNumber. कस्टम प्रकारों का उपयोग अधिक जटिल और विशिष्ट परीक्षण परिदृश्य बनाने के लिए किया जा सकता है, जिससे आपकी परीक्षण परिभाषाओं का लचीलापन और शक्ति बढ़ जाती है।

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

ये परीक्षण फ़ंक्शन उदाहरण प्रदर्शित करते हैं कि आपके परीक्षण मामलों में उपयोग के लिए कस्टम Power Fx फ़ंक्शंस को कैसे परिभाषित किया जाए. WaitUntilVisible फ़ंक्शन नाटककार क्रियाओं का उपयोग करके निर्दिष्ट नियंत्रण दिखाई देने तक प्रतीक्षा करने के लिए एक DOM चयनकर्ता का उपयोग करता है। GetOptions फ़ंक्शन Power Fx नियंत्रण का उपयोग करते हुए मॉडल चालित अनुप्रयोग (MDA) से निर्दिष्ट नियंत्रण के लिए विकल्प पुनर्प्राप्त करता है. ये कस्टम फ़ंक्शन आपकी परीक्षण परिभाषाओं के लचीलेपन और शक्ति को बढ़ाते हैं, जिससे अधिक जटिल और विशिष्ट परीक्षण परिदृश्यों की अनुमति मिलती है।

ब्राउज़रकॉन्फ़िगरेशन

प्रत्येक testSettings के लिए कम से कम एक की BrowserConfigurationआवश्यकता होती है।

जायदाद प्रकार विवरण
browser स्ट्रिंग आवश्यक. परीक्षण करते समय लॉन्च किया जाने वाला ब्राउज़र। Playwright द्वारा समर्थित ब्राउज़रों से मेल खाना चाहिए।
device स्ट्रिंग ऑप्शनल. ब्राउज़र लॉन्च करते समय अनुकरण करने के लिए डिवाइस। Playwright द्वारा समर्थित उपकरणों से मेल खाना चाहिए
screenHeight पूर्ण संख्‍या ऑप्शनल. ब्राउज़र लॉन्च करते समय उपयोग करने के लिए स्क्रीन की ऊंचाई। यदि निर्दिष्ट किया गया है, screenWidth तो भी निर्दिष्ट किया जाना चाहिए।
screenWidth पूर्ण संख्‍या ऑप्शनल. ब्राउज़र लॉन्च करते समय उपयोग करने के लिए स्क्रीन की चौड़ाई। यदि निर्दिष्ट किया गया है, screenHeight तो भी निर्दिष्ट किया जाना चाहिए।

पर्यावरणचर

आप विभिन्न प्रकार के मानों को पर्यावरणीय मूल्यों के रूप में संग्रहीत कर सकते हैं, लेकिन सबसे आम मामला उपयोगकर्ताओं की सूची के साथ क्रेडेंशियल जानकारी संग्रहीत करना है।

उपयोगकर्ताओं

यह सुनिश्चित करने के लिए कि क्रेडेंशियल्स सुरक्षित तरीके से संग्रहीत किए गए हैं, परीक्षण परिभाषा उपयोगकर्ताओं को .personaName परीक्षण योजना फ़ाइलों में क्रेडेंशियल्स संग्रहीत करना समर्थित नहीं है.

उदाहरण:

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

परीक्षण personaName परिभाषा के हिस्से के रूप में उपयोग किया जाता है ताकि यह इंगित किया जा सके कि परीक्षण को किस उपयोगकर्ता के रूप में चलाना है।

समर्थित क्रेडेंशियल्स भंडारण तंत्र

क्रेडेंशियल्स को परिवेश चर के रूप में संग्रहीत करने के लिए, आप उन्हें निम्नानुसार सेट कर सकते हैं:

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

YAML में, दो गुणों को यह इंगित करने के लिए परिभाषित करने की आवश्यकता है कि इस उपयोगकर्ता के क्रेडेंशियल्स पर्यावरण चर में संग्रहीत हैं:

  • emailKey: उपयोगकर्ता के ईमेल को संग्रहीत करने के लिए उपयोग किया जाने वाला पर्यावरण चर।

उदाहरण YAML:

    - personaName: "User1"
      emailKey: "user1Email"

उदाहरण PowerShell YAML के आधार पर उपयोगकर्ता क्रेडेंशियल्स सेट करने के लिए:

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

इसे भी देखें

Power Apps टेस्ट इंजन अवलोकन (पूर्वावलोकन)
Power Apps परीक्षण इंजन Power Fx फ़ंक्शंस (पूर्वावलोकन)