Windows UI自动化

115 阅读1分钟

1、安装WindowsApplicationDriver

链接: pan.baidu.com/s/1z4SoZo_b… 提取码: ewgk 复制这段内容后打开百度网盘手机App,操作更方便哦

image.png

2、安装windows sdk

Windows SDK - Windows 应用开发 | Microsoft Developer

image.png

sdk的作用主要是用来定位元素,具体使用方案可Google

image.png

3、使用selenium+windrvier编写自动化代码

import org.junit.*;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import java.util.concurrent.TimeUnit;
import java.net.URL;
import io.appium.java_client.windows.WindowsDriver;

public class CalculatorTest {

    private static WindowsDriver CalculatorSession = null;
    private static WebElement CalculatorResult = null;

    @BeforeClass
    public static void setup() {
        try {
            DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.setCapability("app", "Microsoft.WindowsCalculator_8wekyb3d8bbwe!App");
            CalculatorSession = new WindowsDriver(new URL("http://127.0.0.1:4723"), capabilities);
            CalculatorSession.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
            CalculatorResult = CalculatorSession.findElementByAccessibilityId("CalculatorResults");
            Assert.assertNotNull(CalculatorResult);

        }catch(Exception e){
            e.printStackTrace();
        }
    }

    @AfterClass
    public static void TearDown()
    {
        CalculatorResult = null;
        if (CalculatorSession != null) {
            CalculatorSession.quit();
        }
        CalculatorSession = null;
    }

    @Test
    public void Addition()
    {
        CalculatorSession.findElementByName("零").click(); // 名称从步骤2中的工具获取
        CalculatorSession.findElementByName("加").click();
        CalculatorSession.findElementByName("七").click();
        CalculatorSession.findElementByName("等于").click();
        Assert.assertEquals("7", _GetCalculatorResultText());
    }

    protected String _GetCalculatorResultText()
    {
        return CalculatorResult.getText().replace("显示为", "").trim();
    }
}

4、启动windriver

image.png

5、直接运行代码

image.png

PS: 参考链接 UI 自动化概述 | Microsoft Learn