Power Apps รูปแบบ YAML กลไกการทดสอบ (ไม่สนับสนุน)

โน้ต

กลไกการทดสอบจะถูกยกเลิกและ จะถูกลบออกในการเผยแพร่ในอนาคต ใช้ตัวอย่าง Power Platform Playwright สําหรับความสามารถในการทดสอบระบบอัตโนมัติใน Power Platform และบริการ Dynamics 365

มีการกําหนดการทดสอบใน YAML ตามแนวทางเดียวกับ Power Fx เรียนรู้เพิ่มเติมเกี่ยวกับไวยากรณ์สูตร Power Fx YAML

ดูโฟลเดอร์ PowerApps-TestEngine/samples สําหรับตัวอย่างโดยละเอียด

ข้อกําหนดของสคีมา YAML

คุณสมบัติ รายละเอียด
testSuite กําหนดชุดการทดสอบหนึ่งชุด กรณีการทดสอบในชุดการทดสอบและการกําหนดค่าเฉพาะสําหรับชุดการทดสอบ
testSettings กําหนดการตั้งค่าสําหรับชุดการทดสอบที่นํามาใช้ใหม่ในกรณีการทดสอบหลายรายการ
environmentVariables กําหนดตัวแปรที่อาจเปลี่ยนแปลงได้เมื่อมีการพอร์ตแอปในสภาพแวดล้อมที่แตกต่างกัน

testSuite

ใช้เพื่อกําหนดหนึ่งการทดสอบ

คุณสมบัติ ชนิด รายละเอียด
persona สตริง ต้องระบุ ผู้ใช้ที่เข้าสู่ระบบเพื่อทําการทดสอบ ต้องตรงกับ persona ที่แสดงอยู่ในส่วนผู้ใช้
testCases TestCases ต้องระบุ กําหนดกรณีการทดสอบในชุดการทดสอบ กรณีการทดสอบที่มีอยู่ในชุดการทดสอบจะถูกเรียกใช้ตามลําดับ สถานะของแอปจะยังคงอยู่ในกรณีการทดสอบทั้งหมดในชุดการทดสอบ
testSuiteName สตริง ต้องระบุ ชื่อของชุดการทดสอบ
appLogicalName สตริง ไม่จำเป็น ชื่อตรรกะของแอปที่จะเปิดใช้งาน ซึ่งสามารถรับได้จากโซลูชัน สําหรับแอปพื้นที่ทํางาน คุณจําเป็นต้องเพิ่มลงในโซลูชันเพื่อรับโซลูชัน ดู วิธีการระบุแอปพลิเคชันของคุณในแผนทดสอบ
appId Guid ไม่จำเป็น ID ของแอปที่จะเปิดใช้งาน จําเป็นและใช้เฉพาะเมื่อ appLogicalName ไม่มีอยู่เท่านั้น ควรใช้ ID แอปสําหรับแอปพื้นที่ทํางานที่ไม่ได้อยู่ในโซลูชันเท่านั้น ดู วิธีการระบุแอปพลิเคชันของคุณในแผนทดสอบ
networkRequestMocks NetworkRequestMocks ไม่จำเป็น กําหนดการทดสอบคําขอเครือข่ายที่จําเป็นสําหรับการทดสอบ
onTestCaseComplete สตริง ไม่จำเป็น กําหนดขั้นตอนที่จําเป็นต้องทริกเกอร์สําหรับทุกกรณีการทดสอบในชุดหลังจากกรณีเสร็จสิ้นการดําเนินการ
onTestCaseStart สตริง ไม่จำเป็น กําหนดขั้นตอนที่จําเป็นต้องทริกเกอร์สําหรับทุกกรณีการทดสอบในชุดก่อนที่กรณีจะเริ่มดําเนินการ
onTestSuiteComplete สตริง ไม่จำเป็น กําหนดขั้นตอนที่จําเป็นต้องทริกเกอร์หลังจากชุดเสร็จสิ้นการดําเนินการ
testSuiteDescription สตริง ไม่จำเป็น ข้อมูลเพิ่มเติมอธิบายสิ่งที่ชุดการทดสอบทํา

วิธีการระบุแอปพลิเคชันของคุณในแผนทดสอบ

คุณต้องตั้งค่า appLogicalName หรือ appId เพื่อระบุแอปพลิเคชันของคุณ ที่คุณใช้ขึ้นอยู่กับว่า แอปของคุณถูกกําหนดภายในโซลูชันหรือไม่

เมื่อคุณกําหนดแอปของคุณภายในโซลูชัน การทดสอบของคุณยังคงเป็นแบบพกพาตลอดทั้งสภาพแวดล้อม appLogicalNameตั้งค่าคุณสมบัติเพื่อระบุว่าแอปเป็นไปตามโซลูชัน

เมื่อต้องการค้นหาชื่อตรรกะของแอป:

  1. เปิดโซลูชันที่มีแอปของคุณใน Power Apps
  2. ใช้ ชื่อ (ไม่ใช่ ชื่อที่แสดง) ในรายการ ค่าชื่อประกอบด้วยคํานําหน้าการกําหนดค่าสําหรับผู้เผยแพร่โซลูชัน

แอปแบบสแตนด์อโลน

เมื่อไม่ได้กําหนดแอปของคุณภายในโซลูชัน คุณจําเป็นต้องใช้ appId คุณสมบัติ

เมื่อต้องการค้นหา ID ของแอป:

  1. ค้นหาแอปในรายการ Power Apps
  2. เปิดรายละเอียดและบันทึก GUID สําหรับ ID แอป

NetworkRequestMocks

คุณสมบัติ ชนิด รายละเอียด
requestURL สตริง ต้องระบุ URL คําขอที่ได้รับการตอบกลับแบบจําลอง ยอมรับรูปแบบ Glob แล้ว
responseDataFile สตริง ต้องระบุ ไฟล์ข้อความที่มีเนื้อหาการตอบสนองแบบจําลอง ข้อความทั้งหมดในไฟล์นี้จะถูกอ่านเป็นการตอบสนอง
headers อาร์เรย์ ไม่จำเป็น รายการเขตข้อมูลส่วนหัวในคําขอในรูปแบบของ [fieldName: fieldValue]
method สตริง ไม่จำเป็น วิธีการของคําขอ (GET, POST และอื่น ๆ)
requestBodyFile สตริง ไม่จำเป็น ไฟล์ข้อความที่มีเนื้อความของคําขอ ข้อความทั้งหมดในแฟ้มนี้ถูกอ่านเป็นเนื้อความของการร้องขอ

สําหรับคุณสมบัติที่เลือกได้ ถ้าไม่มีการระบุค่า การกําหนดเส้นทางจะใช้กับทั้งหมด ตัวอย่างเช่น ถ้า method เป็น null เราจะส่งการตอบสนองจําลองกลับ ไม่ว่าวิธีการดังกล่าวจะเป็นค่าใดก็ตามตราบใดที่คุณสมบัติอื่น ทั้งหมดตรงกัน

สําหรับแอป requestURL Sharepoint/Dataverse/Connector และ method อาจเหมือนกันสําหรับคําขอทั้งหมด x-ms-request-method และ x-ms-request-url ในส่วนหัวอาจจําเป็นต้องกําหนดค่าในกรณีนั้นเพื่อระบุคําขอที่แตกต่างกัน

TestCases

คุณสมบัติ ชนิด รายละเอียด
testCaseName สตริง ต้องระบุ ชื่อของกรณีการทดสอบที่ใช้ในการรายงานความสําเร็จและความล้มเหลว
testSteps TestSteps ต้องระบุ ชุดของฟังก์ชัน Power Fx ที่อธิบายขั้นตอนที่จําเป็นสําหรับการทํากรณีการทดสอบ ดู ตัวอย่าง TestSteps
testCaseDescription ไม่ ไม่จำเป็น ข้อมูลเพิ่มเติมอธิบายสิ่งที่กรณีทดสอบทํา

TestSteps

  • TestSteps สามารถใช้ ฟังก์ชัน Test Engine Power Fx ใด ๆ ที่มีอยู่หรือ ฟังก์ชันการทดสอบเฉพาะ ที่กําหนดโดยเฟรมเวิร์กนี้
  • ค่าควรเริ่มต้นด้วยสัญลักษณ์ไปป์ (|) เพื่ออนุญาตให้นิพจน์ YAML หลายบรรทัดตามด้วยเครื่องหมายเท่ากับ (=) เพื่อระบุว่าเป็นนิพจน์ Power Fx
  • ฟังก์ชันควรคั่นด้วยเครื่องหมายอัฒภาค (;)
  • ข้อคิดเห็นสามารถใช้ได้ และควรเริ่มต้นด้วยอักขระเครื่องหมายทับขวาคู่ (//)

ตัวอย่าง 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

ใช้เพื่อกําหนดการตั้งค่าสําหรับการทดสอบในแผนทดสอบ

คุณสมบัติ ชนิด รายละเอียด
browserConfigurations BrowserConfiguration[] ต้องระบุ รายการของการกําหนดค่าเบราว์เซอร์ที่จะทดสอบ ต้องระบุอย่างน้อยหนึ่งเบราว์เซอร์
extensionModules extensionModules ไม่จำเป็น ประกอบด้วยข้อมูลเกี่ยวกับส่วนขยายเพื่อเปิดใช้งาน
filePath สตริง ไม่จำเป็น พาธไฟล์ไปยังไฟล์ yaml ที่แยกต่างหากด้วยการตั้งค่าการทดสอบทั้งหมด ถ้าระบุไว้ ระบบจะ แทนที่ การตั้งค่าการทดสอบทั้งหมดในแผนทดสอบ
headless บูลีน ไม่จำเป็น ค่าเริ่มต้นคือ จริง ถ้าตั้งค่าเป็น false เบราว์เซอร์จะแสดงในระหว่างการดําเนินการทดสอบ
locale สตริง ไม่จำเป็น ไวยากรณ์ภาษา/วัฒนธรรมที่ใช้เขียนกรณีทดสอบหรือขั้นตอนการทดสอบ ถ้าไม่ได้ระบุ CultureInfo.CurrentCulture จะใช้สําหรับตําแหน่งที่ตั้งตามค่าเริ่มต้นสําหรับการแยกวิเคราะห์ขั้นตอนการทดสอบ ดู ข้อควรพิจารณาเกี่ยวกับภูมิภาคและภาษา
recordVideo บูลีน ไม่จำเป็น ค่าเริ่มต้นเป็นเท็จ ถ้าตั้งค่าเป็น จริง การบันทึกวิดีโอของการทดสอบจะถูกบันทึกไว้
timeout จำนวนเต็ม ไม่จำเป็น ค่าหมดเวลาในหน่วยมิลลิวินาที ค่าเริ่มต้นคือ 30,000 มิลลิวินาที (30 วินาที) ถ้าการดําเนินการใด ๆ ใช้เวลานานกว่าขีดจํากัดการหมดเวลา การทดสอบจะสิ้นสุดในความล้มเหลว
powerFxTestTypes name value คู่ ไม่จำเป็น รายการของชื่อชนิดและข้อกําหนดประเภท Power Fx ดู ตัวอย่าง powerFxTestTypes
testFunctions description code คู่ ไม่จำเป็น รายการคําอธิบายและข้อกําหนดฟังก์ชัน Power Fx ดู ตัวอย่างฟังก์ชันการทดสอบ

extensionModules

ประกอบด้วยข้อมูลเกี่ยวกับส่วนขยายเพื่อเปิดใช้งาน

คุณสมบัติ ชนิด รายละเอียด
enable ค่าบูลีน เปิดใช้งานโมดูลส่วนขยายหรือไม่
allowPowerFxNamespaces รายการ รายการของเนมสเปซ PowerFx เพื่อเปิดใช้งาน
parameters คู่ค่าคีย์ คุณสมบัติที่มีค่าสําหรับควบคุมโมดูลส่วนขยาย ในขณะนี้ เฉพาะพารามิเตอร์บูลีน enableDataverseFunctions เท่านั้นที่ถูกต้องสําหรับสิ่งนี้

ตัวอย่างนี้แสดงวิธีการเปิดใช้งานเนมสเปซ PowerFx Preview :

testSettings:
  extensionModules:
    enable: true
    allowPowerFxNamespaces:
    - Preview

เรียนรู้เพิ่มเติมเกี่ยวกับฟังก์ชันการแสดงตัวอย่าง

ข้อควรพิจารณาเกี่ยวกับภูมิภาคและภาษา

กลไกจัดการการทดสอบรองรับภาษาและการตั้งค่าภูมิภาคต่าง ๆ เช่น ตัวคั่นทศนิยมและรายการ คุณสมบัติ testSettings.locale ควบคุมลักษณะการทํางานเหล่านี้ สําหรับข้อมูลเพิ่มเติม โปรดดูที่ การสนับสนุน Global ใน 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 เพื่อรอจนกว่าตัวควบคุมที่ระบุจะมองเห็นได้ โดยใช้การดําเนินการ Playwright ฟังก์ชัน GetOptions เรียกใช้ตัวเลือกสําหรับตัวควบคุมที่ระบุจาก Model Driven App (MDA) โดยใช้ตัวควบคุม Power Fx ฟังก์ชันแบบกําหนดเองเหล่านี้ช่วยเพิ่มความยืดหยุ่นและพลังของข้อกําหนดการทดสอบของคุณ ซึ่งช่วยให้สถานการณ์การทดสอบซับซ้อนและเฉพาะเจาะจงมากขึ้น

BrowserConfiguration

การทดสอบทุกชุดต้องมี อย่างน้อยหนึ่งBrowserConfigurationรายการ

คุณสมบัติ ชนิด รายละเอียด
browser สตริง ต้องระบุ เบราว์เซอร์ที่จะเปิดใช้งานเมื่อทําการทดสอบ ควรตรงกับเบราว์เซอร์ที่สนับสนุนโดย Playwright
device สตริง ไม่จำเป็น อุปกรณ์ที่จะจําลองเมื่อเปิดใช้งานเบราว์เซอร์ ควรตรงกับ อุปกรณ์ที่สนับสนุนโดย Playwright
screenHeight จำนวนเต็ม ไม่จำเป็น ความสูงของหน้าจอที่จะใช้เมื่อเปิดใช้งานเบราว์เซอร์ ถ้าระบุ screenWidth ต้องระบุด้วย
screenWidth จำนวนเต็ม ไม่จำเป็น ความกว้างของหน้าจอที่จะใช้เมื่อเปิดใช้งานเบราว์เซอร์ ถ้าระบุ screenHeight ต้องระบุด้วย

environmentVariables

คุณสามารถจัดเก็บค่าชนิดต่างๆ เป็นค่าสภาพแวดล้อมได้ แต่กรณีที่พบบ่อยที่สุดคือการจัดเก็บข้อมูลข้อมูลประจําตัวพร้อมรายการผู้ใช้

ผู้ใช้

เพื่อให้แน่ใจว่าข้อมูลประจําตัวถูกจัดเก็บไว้ในลักษณะที่ปลอดภัย ข้อกําหนดการทดสอบจะอ้างอิงผู้ใช้โดยใช้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 Test Engine และ Power Fx (เลิกใช้แล้ว)