1、安装WindowsApplicationDriver
链接: pan.baidu.com/s/1z4SoZo_b… 提取码: ewgk 复制这段内容后打开百度网盘手机App,操作更方便哦
2、安装windows sdk
Windows SDK - Windows 应用开发 | Microsoft Developer
sdk的作用主要是用来定位元素,具体使用方案可Google
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
5、直接运行代码
PS: 参考链接 UI 自动化概述 | Microsoft Learn