Appium 利用 Appium 进行 windows app 自动化的探讨

yuge · 2017年05月23日 · 2824 次阅读

一早看到大神的帖子:https://testerhome.com/topics/8223
突然心血来潮,必须得试验一番。连夜倒腾总算有点成就,这里总结一下,以备将来不时之需。
这里再声明一下,我所说的 windows app 不是指 windowsphone 的应用,而是 windows 10 桌面系统上安装的应用。
另,本文代码举例使用的是 java。

环境准备

  • 需要 Win10 环境,并且开启开发人员模式(设置-》更新和安全-》针对开发人员-》开发人员模式)
  • 安装 Windows SDK https://developer.microsoft.com/zh-cn/windows/downloads/windows-10-sdk
  • 安装 Appium1.6 或以上版本。这个版本对应关系我还没找到文档或其他相关说明,但在 appium 官网看到最新的版本是appium-desktop-Setup-1.0.2-beta.2.exe 版本,就是他了
  • 确保下载的 appium java-client 包是 5.0.0 的版本,当前已经是 beta8 了。老版本应该是不支持的。selenium 的相关依赖包要不要最新我没试验,反正我使用的是 3.4 版本的

操作步骤

  • 代码准备,看下文的代码举例
  • 启动 WinAppDriver.exe,一般安装在 C:\programfiles(x86)\windows application driver 目录。这个应用无界面,请用命令行启动。正常启动的话会提示在监听 4723 端口
  • 此处特别说明一下,并不需要像手机 app 测试那样启动一下 appium 的 windows 客户端,Windows app 的自动化没他什么事。直接在 eclipse 里 run 你的代码就行了

代码举例

public class appiumforWin{
      private static RemoteWebDriver qq = null;

      public static void main(String[] args) throws Exception{
             Desiredcapabilities cap = new DesiredCapabilities();
             cap.setCapabilities("platformName","Windows");
             cap.setCapabilities("deviceName","WindowsPC");
             cap.setCapabilities("app","C:\\Program Files\\Tencent\\QQ\\Bin\\QQScLauncher.exe");
             qq = new RemoteWebDriver(new URL("http://127.0.0.1:4723"),cap);

             qq.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
             qq.findElementByName("QQ号码").sendKeys("123456");
             qq.findElementByName("密码").sendKeys("123456");
}
}
共收到 0 条回复 时间 点赞
老马 appium 1.7.0 安装与疑问记 中提及了此贴 04月17日 10:55
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册