แชร์ผ่าน


Power Apps ฟังก์ชันการทดสอบเครื่องยนต์ Power Fx (ตัวอย่าง)

หมายเหตุ

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

เครื่องมือทดสอบใช้ฟังก์ชัน PowerFx ที่มีอยู่เหล่านี้:

ฟังก์ชั่นเหล่านี้มีไว้ใช้งานในเครื่องมือทดสอบเท่านั้น:

เครื่องมือทดสอบมีฟังก์ชันการแสดงตัวอย่าง เหล่านี้:

ทดสอบฟังก์ชั่นเครื่องยนต์

ฟังก์ชั่นเหล่านี้มีไว้ใช้งานกับเครื่องทดสอบเท่านั้น

ภาพหน้าจอ

Screenshot(fileNameOfScreenshot)

ฟังก์ชั่นนี้จะจับภาพหน้าจอของแอป ณ จุดเวลาปัจจุบัน ไฟล์ภาพหน้าจอจะถูกบันทึกลงในโฟลเดอร์ผลลัพธ์การทดสอบและมีชื่อตามที่ระบุ

หมายเหตุ

รองรับเฉพาะไฟล์ jpeg และ png เท่านั้น

ตัวอย่างภาพหน้าจอ

Screenshot("buttonClicked.png")

Wait

Wait(Control, Property, Value)

ฟังก์ชันนี้รอให้คุณสมบัติของตัวควบคุมเท่ากับค่าที่ระบุ

ตัวอย่างการรอ

Wait(Label1, "Text", "0")

ฟังก์ชั่นการดูตัวอย่าง

ฟังก์ชันต่อไปนี้สามารถเลือกรวมอยู่ในแบบทดสอบได้เมื่อเนมสเปซ Power Fx Preview โดยการเพิ่ม Preview ลงใน allowPowerFxNamespaces รายการในคุณสมบัติ extensionModules ของ testSettings

หมายเหตุ

  • ฟังก์ชั่นการดูตัวอย่างอาจมีการเปลี่ยนแปลง เมื่อฟังก์ชันเหล่านี้พร้อมสำหรับการใช้งานในวงกว้างมากขึ้น ฟังก์ชันเหล่านี้จะถูกพิจารณาให้ย้ายภายในเนมสเปซ TestEngine
  • คุณสามารถใช้ฟังก์ชันที่ผู้ใช้กำหนดเพื่อรวมฟังก์ชันต่างๆ เพื่อทำให้การโยกย้ายไปยังฟังก์ชันเวอร์ชันที่ไม่ใช่เวอร์ชันตัวอย่างของง่ายขึ้น Preview
  • คุณสามารถให้โมเดลส่งคืนเฉพาะวัตถุ JSON ที่คุณสามารถแยกวิเคราะห์ได้โดยใช้ฟังก์ชัน ParseJSON

ตัวอย่าง.AIExecutePrompt

Preview.AIExecutePrompt(Name, {Property: Type})

เรียก คำสั่ง AI Builder ที่กำหนดเอง และรับผลลัพธ์ข้อความของการดำเนินการ

หมายเหตุ

ตรวจสอบส่วน Dataverse การรวม AI เพื่อดูข้อมูลเกี่ยวกับความพร้อมใช้งานและการกำหนดค่าของฟังก์ชันนี้

ตรวจสอบ การใช้ Preview.AIExecutePrompt เพื่อดูรายละเอียดและคำอธิบายเพิ่มเติมเกี่ยวกับการใช้ฟังก์ชันนี้

ตัวอย่าง Preview.AIExecutePrompt

ตัวอย่างต่อไปนี้เรียกใช้ AI Prompt ที่มีชื่อว่า Country Capital โดยมีค่าพารามิเตอร์เป็น Country และคาดหวังว่าการดำเนินการโมเดลจะส่งคืนคำเดียว Paris

Assert("Paris" = Preview.AIExecutePrompt("Country Capital", { Country: "France" }).Text)

ตัวอย่างกล่องโต้ตอบการยินยอม

Preview.ConsentDialog(Table({Text: Text}));

รอการยืนยันกล่องโต้ตอบการยินยอมสำหรับแอปพลิเคชันแคนวาสหรือเพจที่กำหนดเองของแอปพลิเคชันที่ขับเคลื่อนด้วยโมเดล

ตัวอย่าง Preview.ConsentDialog

Preview.ConsentDialog(Table({Text: "Your Dialog Title"}));

ดูตัวอย่าง.หยุดชั่วคราว

Preview.Pause()

หยุดการทดสอบชั่วคราวและแสดง Playwright Inspector หากกำลังรันการทดสอบแบบโต้ตอบ

หมายเหตุ

ปัญหาที่ทราบ: ฟังก์ชัน Preview.Pause ไม่เปิดตัวตรวจสอบสำหรับการรันการทดสอบ pac อย่างถูกต้อง
คำอธิบาย: ฟังก์ชัน Preview.Pause ไม่สามารถเปิดตัวตรวจสอบในระหว่าง pac test run
วิธีแก้ปัญหา: สามารถใช้เวอร์ชันโอเพ่นซอร์สของ Test Engine เพื่อหยุดการทำงานชั่วคราวได้

ตัวอย่างการดูตัวอย่าง การหยุดชั่วคราว

Preview.Pause()

ตัวอย่าง SelectControl

Preview.SelectControl(Control: ControlName, Index: Number)

เลือกการควบคุมโดยใช้ Document Object Model

ตัวอย่าง Preview.SelectControl

เลือกคู่แรก Button3

Preview.SelectControl(Button3,1);

ตัวอย่าง.นักเขียนบทละครแอ็คชั่น

Preview.PlaywrightAction(Text, Text)

ดำเนินการในหน้าปัจจุบันโดยใช้ Playwright CSS หรือ XPath Locator

ตัวอย่าง. ตัวอย่างการกระทำของนักเขียนบทละคร

Preview.PlaywrightAction("//button", "click");
Preview.PlaywrightAction("//button", "exists");
Preview.PlaywrightAction("//button", "wait");

ตัวอย่าง.ค่าการกระทำของนักเขียนบทละคร

Preview.PlaywrightActionValue(Text, Text, Text)

ดำเนินการบนหน้าปัจจุบันโดยใช้ Playwright CSS หรือ XPath Locator ที่มีค่า

ตัวอย่างค่าการกระทำของนักเขียนบทละคร

Preview.PlaywrightAction("//input[@data-id='1']", "fill", "Hello");

ตัวอย่างบทละคร

Preview.PlaywrightScript(Text)

ดำเนินการสคริปต์ C# บนหน้าปัจจุบัน

หมายเหตุ

ฟังก์ชันนี้ใช้งานได้เฉพาะกับการสร้าง Debug จากเวอร์ชันโอเพ่นซอร์สของ Test Engine เท่านั้น ไม่ใช่ใน การรันการทดสอบ pac

ตัวอย่างบทละครตัวอย่าง

Preview.PlaywrightScript("sample.csx")

โดยมีเนื้อหา sample.csx คล้ายกับโค้ดนี้:

// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

#r "Microsoft.Playwright.dll"
#r "Microsoft.Extensions.Logging.dll"
using Microsoft.Playwright;
using Microsoft.Extensions.Logging;
using System.Linq;
using System.Threading.Tasks;

public class PlaywrightScript {
    public static void Run(IBrowserContext context, ILogger logger) {
        Execute(context, logger).Wait();
    }

    public static async Task Execute(IBrowserContext context, ILogger logger) {
        var page = context.Pages.First();

        if ( page.Url == "about:blank" ) {
            var nextPage = context.Pages.Skip(1).First();
            await page.CloseAsync();
            page = nextPage;
        }

        foreach ( var frame in page.Frames ) {
            if ( await frame.Locator("button:has-text('Button')").CountAsync() > 0 ) {
                await frame.ClickAsync("button:has-text('Button')");
            }
        }
    }
}

ตัวอย่างการเชื่อมต่อจำลอง

Preview.SimulateConnector({name: Text, then: Record})

เมื่อมีการโทรจาก Power Apps ถึงประเภทตัวเชื่อมต่อที่พบจาก รายการตัวเชื่อมต่อ Power Apps ทั้งหมด

ตัวอย่าง Preview.SimulateConnector

Preview.SimulateConnector({
   name: "msnweather", 
   then: {responses: { 
      daily: { 
         day: { 
            summary: "You are seeing the mock response" }
            }
         }
      }
   })

ตัวอย่าง.จำลองข้อมูล

Preview.SimulateDataverse({Action: Text, Entity: Text, Then: Table})

ตัวอย่าง Preview.SimulateDataverse

ตัวอย่างนี้เมื่อมีการเรียกเพื่อสอบถาม Dataverse เอนทิตีที่มีชื่อเชิงตรรกะ sample_combotable ระบบจะส่งคืนเรกคอร์ดโดยใช้ฟังก์ชัน ตาราง

Preview.SimulateDataverse({
    Action: "Query",
    Entity: "sample_combotable",
    Then: Table(
    {
        'sample_name': "Item 1",
        'sample_id': 3,
        'sample_combotableid': "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
        'createdon': "2024-12-02T17:52:45Z"
    },
    {
        'sample_name': "RR2",
        'sample_id': 4,
        'sample_combotableid': "bbbbbbbb-1111-2222-3333-cccccccccccc",
        'createdon': "2024-12-02T17:54:45Z"
    },
        {
        'sample_name': "RR3",
        'sample_id': 5,
        'sample_combotableid': "cccccccc-2222-3333-4444-dddddddddddd",
        'createdon': "2024-12-02T17:54:45Z"
    }
    )
});

Dataverse และการจำลองตัวเชื่อมต่อด้วย Test Engine (ตัวอย่าง)