หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
หมายเหตุ
คุณลักษณะการแสดงตัวอย่างไม่ได้มีไว้สำหรับการนำไปใช้งานจริง และอาจมีการจำกัดฟังก์ชันการทำงาน คุณลักษณะเหล่านี้สามารถใช้ได้ก่อนการเปิดตัวอย่างเป็นทางการ เพื่อให้ลูกค้าสามารถเข้าใช้งานได้ก่อนเวลาและให้ข้อคิดเห็น
ภาพรวม
Power Apps Test Engine มีกรอบการทำงานแบบขยายได้ที่แข็งแกร่งซึ่งช่วยให้สามารถขยายความสามารถในการทดสอบหลักได้ผ่านจุดขยายต่างๆ บทความนี้จะอธิบายว่า:
- Microsoft ลงนามและตรวจสอบส่วนขยายของบุคคลที่หนึ่งอย่างไร
- วิธีการทำงานของโมเดลการขยายได้โดยใช้ Managed Extensibility Framework (MEF)
- ตัวเลือกสำหรับองค์กรในการสร้างส่วนขยายของตนเอง
ส่วนประกอบที่ลงนามโดย Microsoft
สำคัญ
ในระหว่างช่วงการแสดงตัวอย่างสาธารณะ คำสั่ง pac test run จะโหลดเฉพาะส่วนขยายที่ลงนามโดย Microsoft เท่านั้น การออกแบบนี้ช่วยให้มั่นใจถึงความปลอดภัย ความเสถียร และประสิทธิภาพของแพลตฟอร์ม Test Engine
Microsoft สร้าง ลงนาม และตรวจสอบส่วนประกอบของบุคคลที่หนึ่งเพื่อให้แน่ใจว่าเป็นไปตามมาตรฐานคุณภาพและความปลอดภัย ส่วนประกอบเหล่านี้ได้แก่:
- ผู้ให้บริการการตรวจสอบสิทธิ์หลัก
- ผู้ให้บริการแอป Canvas และแอปที่ขับเคลื่อนด้วยโมเดล
- ฟังก์ชันและการกระทำมาตรฐาน Power Fx
กรอบการทำงานด้านการขยาย (MEF)
Test Engine ใช้ Managed Extensibility Framework (MEF) เพื่อเปิดใช้งานสถาปัตยกรรมแบบปลั๊กอิน กรอบงานนี้รองรับส่วนขยายสามประเภทหลัก:
ส่วนขยายการตรวจสอบสิทธิ์
ส่วนขยายการตรวจสอบสิทธิ์ช่วยให้สามารถยืนยันตัวตนได้หลายวิธีด้วย Power Platform:
- การตรวจสอบสถานะการจัดเก็บข้อมูล - วิธีการตรวจสอบสิทธิ์ตามเบราว์เซอร์เริ่มต้น
- การตรวจสอบสิทธิ์ตามใบรับรอง - สำหรับการดำเนินการทดสอบแบบไม่โต้ตอบ
- ผู้ให้บริการการตรวจสอบสิทธิ์แบบกำหนดเอง - สำหรับสถานการณ์การตรวจสอบสิทธิ์เฉพาะทาง
สำหรับข้อมูลเพิ่มเติม โปรดดู การตรวจสอบสิทธิ์ในเครื่องมือทดสอบ
ส่วนขยายของผู้ให้บริการ
ส่วนขยายของผู้ให้บริการช่วยให้สามารถทดสอบแอปพลิเคชันประเภทต่างๆ ได้:
- ผู้ให้บริการแอป Canvas - สำหรับการทดสอบ Power Apps แอปพลิเคชัน Canvas
- ผู้ให้บริการแอปที่ขับเคลื่อนด้วยโมเดล - สำหรับการทดสอบ Dataverse แอปที่ขับเคลื่อนด้วยโมเดล
- Power Fx ผู้ให้บริการ - สำหรับการดำเนินการ Power Fx คำสั่งอย่างอิสระ
- ผู้ให้บริการพอร์ทัล - สำหรับการดำเนินการอัตโนมัติใน Power Apps
สำหรับข้อมูลเพิ่มเติม โปรดดู แอปพลิเคชัน Canvas, แอปพลิเคชันที่ขับเคลื่อนด้วยโมเดล และ Dataverse ส่วนขยาย
Power Fx ส่วนขยาย
Power Fx ส่วนขยายเพิ่มความสามารถในการทดสอบใหม่ผ่านฟังก์ชันที่กำหนดเอง:
- ฟังก์ชันที่ผู้ใช้กำหนด - ฟังก์ชันโค้ดต่ำที่กำหนดไว้ในแผนการทดสอบ
- การใช้งานฟังก์ชัน ReflectionFunction ของ C# - ฟังก์ชันที่กำหนดเองที่นำไปใช้ในโมดูล C#
สำหรับข้อมูลเพิ่มเติม โปรดดู Power Fx ฟังก์ชัน และ การใช้งาน C# ReflectionFunction
ตัวเลือกการพัฒนาส่วนขยาย
องค์กรต่างๆ มีตัวเลือกมากมายสำหรับการขยาย Test Engine:
การใช้เวอร์ชันโอเพนซอร์ส
Power Apps Test Engine มีให้ใช้งานเป็นโครงการโอเพ่นซอร์สภายใต้ใบอนุญาต MIT Microsoft ของบุคคลที่หนึ่ง ทีมบุคคลที่สาม และองค์กรต่างๆ สามารถ:
- สร้างผู้ให้บริการใหม่สำหรับสถานการณ์การทดสอบเฉพาะทาง
- พัฒนากลไกการตรวจสอบสิทธิ์แบบกำหนดเอง
- สร้างการใช้งาน ReflectionFunction ของ C# ใหม่
- สร้างโมดูลที่ขยายฟังก์ชันหลัก
- ส่งผลงานเพื่อพิจารณาในผลิตภัณฑ์หลัก
Power Fx ฟังก์ชันที่ผู้ใช้กำหนด
สำหรับสถานการณ์ที่ง่ายกว่า คุณสามารถสร้างฟังก์ชันที่ผู้ใช้กำหนดได้โดยตรงในแผนการทดสอบของคุณ:
testSuite:
testCases:
- testCaseName: "Test with custom functions"
userDefineFunctions:
- name: "FormatDateString"
parameters: [date]
expression: "Text(date, 'yyyy-MM-dd')"
steps:
# Use the custom function in your test steps
- action: PowerFxTestStep
expression: FormatDateString(Now())
ฟังก์ชัน C# Power Fx ที่กำหนดเองพร้อม ReflectionFunction
สำหรับสถานการณ์ที่ซับซ้อนมากขึ้น องค์กรสามารถพัฒนาฟังก์ชัน C# แบบกำหนดเองได้โดยการนำคลาส ReflectionFunction มาใช้งานและลงทะเบียนผ่านโมดูล:
// Define your function class
public class SampleFunction : ReflectionFunction
{
public SampleFunction() : base(DPath.Root.Append(new DName("Preview")), "Sample", FormulaType.Blank)
{
}
public BlankValue Execute()
{
Console.WriteLine("Sample function executed");
return BlankValue.NewBlank();
}
}
// Register your function in a module
[Export(typeof(ITestEngineModule))]
public class TestEngineSampleModule : ITestEngineModule
{
public void RegisterPowerFxFunction(PowerFxConfig config, ITestInfraFunctions testInfraFunctions,
ITestWebProvider testWebProvider, ISingleTestInstanceState singleTestInstanceState,
ITestState testState, IFileSystem fileSystem)
{
config.AddFunction(new SampleFunction());
}
// Implement other required interface methods...
}
ความร่วมมือกับทีม Test Engine
องค์กรที่พัฒนาส่วนขยายที่มีคุณค่าโดยใช้ Test Engine โอเพ่นซอร์สสามารถพิจารณาสร้างคำขอการดึงสำหรับส่วนขยายของตนเพื่อให้ส่วนขยายเหล่านั้นพร้อมใช้งานในผลิตภัณฑ์อย่างเป็นทางการ กระบวนการนี้โดยทั่วไปเกี่ยวข้องกับ:
- การพัฒนา - สร้างส่วนขยายของคุณโดยใช้ Test Engine โอเพ่นซอร์ส
- การตรวจสอบ - ทดสอบส่วนขยายของคุณอย่างละเอียดในสภาพแวดล้อมของคุณเอง
- การทำงานร่วมกัน - ทำงานร่วมกับทีม Core Test Engine เพื่อประเมินส่วนขยาย
- การรวม - หากได้รับการอนุมัติ Microsoft จะลงนามและรวมส่วนขยายเข้ากับผลิตภัณฑ์
รูปแบบการทำงานร่วมกันนี้ทำให้เกิดนวัตกรรมในขณะที่ยังคงรักษาความปลอดภัยและความน่าเชื่อถือของผลิตภัณฑ์ Test Engine อย่างเป็นทางการ
จุดบูรณาการทางเทคนิค
หัวข้อต่อไปนี้จะอธิบายว่าความสามารถในการขยาย Test Engine บูรณาการกับเทคโนโลยีหลัก เช่น Playwright และวงจรชีวิตฟีเจอร์ได้อย่างไร การทำความเข้าใจจุดบูรณาการเหล่านี้จะช่วยให้คุณพัฒนาและใช้งานส่วนขยายแบบกำหนดเองได้อย่างมีประสิทธิภาพ
การบูรณาการนักเขียนบทละคร
Power Apps Test Engine ถูกสร้างขึ้นบน Playwright ซึ่งเป็นรากฐานสำหรับการทำงานอัตโนมัติของเบราว์เซอร์ ส่วนขยายแบบกำหนดเองสามารถโต้ตอบกับ IBrowserContext ของ Playwright เพื่อสร้างความสามารถในการทดสอบบนเบราว์เซอร์ที่ซับซ้อน
วงจรชีวิตคุณลักษณะ
ส่วนขยายใหม่ปฏิบัติตาม วงจรชีวิตคุณลักษณะ:
- เนมสเปซตัวอย่าง - ส่วนขยายใหม่พร้อมใช้งานครั้งแรกในเนมสเปซตัวอย่างสำหรับการทดสอบเบื้องต้น
- เนมสเปซ TestEngine - หลังจากการตรวจสอบ ส่วนขยายจะย้ายไปยังเนมสเปซ TestEngine หลัก
ประโยชน์ของโมเดลการขยายได้
โมเดลความสามารถในการขยายได้ให้ผลประโยชน์ที่สำคัญ:
- การกำหนดมาตรฐาน - ส่วนประกอบที่ลงนามโดย Microsoft รับประกันคุณภาพและความปลอดภัยที่สม่ำเสมอ
- นวัตกรรม - โมเดลโอเพนซอร์สช่วยให้เกิดนวัตกรรมที่ขับเคลื่อนโดยชุมชน
- ความยืดหยุ่น - องค์กรสามารถสร้างส่วนขยายเฉพาะสำหรับความต้องการเฉพาะได้
- การรวม - ส่วนขยายที่มีคุณค่าจะได้รับการพิจารณาให้รวมอยู่ในผลิตภัณฑ์อย่างเป็นทางการ