Appium: Windows系统桌面应用自动化测试(一)

2023-05-16

一、方案调研

1、windows桌面应用自动化测试方案

(1)WinAppDriver是微软开发的自动化测试工具,而windows是微软开发的,兼容性应该极好。

(2)WinAppDriver也可以是appium的一个自动化框架,而Appium 支持python语言。

(3)Appium 是一个开源工具,用于自动化 iOS 手机、 Android 手机和 Windows 桌面平台上的原生、移动 Web 和混合应用。它把这些系统本身提供的框架包装进一套 API —— WebDriver API 中。WebDriver,即Selenium WebDriver。

(4)Pytest是自动化测试工具,基于Unittest的封装,没那么灵活,但插件丰富。

基于这些原因,windows桌面应用的自动化测试方案采用Python+Appium+WinAppDriver+Pytest

(5)当我写完“Appium: Windows系统桌面应用自动化测试(二)”的时候,我决定弃用上述方案,当然,对于想要坚持的同志,本文依然是入门win桌面应用UI自动化的最佳选择!

https://blog.csdn.net/weixin_43431593/article/details/124299851https://blog.csdn.net/weixin_43431593/article/details/124299851

二、环境搭建

1、WinAppDriver环境搭建

(1)开启开发者选项中的“开发人员模式”

(2)windows sdk下载安装

①下载地址:

https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/

 ②选择路径安装即可

(3)WinAppDriver下载安装

①点击下载链接,并任选一个版本,打开如下图,接着根据需求选择合适自己的安装包下载即可

下载地址:https://github.com/microsoft/WinAppDriver/releases

 ②一键安装

③搜索一下安装路径

如图,默认路径为:C:\Program Files\Windows Application Driver

 ④双击打开出现以下画面则安装成功

2、appium环境搭建

(1)appium的官方文档

http://appium.io/docs/cn/about-appium/intro/

(2)根据官方文档,采用Appium的桌面方式进行安装,而且是一键安装

下载地址:https://github.com/appium/appium-desktop/releases

(3)打开如图界面则安装成功

 3、使用Appium连接WinAppDriver

(1)操作步骤

 

 (2)json配置,参数如下

{
        "app": "C:\\Program Files\\XMind\\XMind.exe",
        "deviceName": "WindowsPC",
        "platformName": "Windows"
}

 (3)Appium桌面版提供的功能

①可作为客户端或服务器使用

②提供元素查找功能

③提供脚本录制功能

④其他

三、简单使用

1、查找元素

(1)windows sdk安装路径中,有一个查找元素的组件,叫 inspect.exe,可通过搜索找到,并双击运行。打开如图界面,可以查看元素的名称,和元素支持的点击等操作。

(2)inspect.exe查找到的元素的键值对,与python语言使用方法的对应关系,如下表:

inspect.exe查找到的键值对python查找元素的方法
AutomationId

driver.find_element_by_accessibility_id()  
ClassName

driver.find_element_by_class_name()  
RuntimeId (decimal)

driver.find_element_by_id()  
Name

driver.find_element_by_name()  
LocalizedControlType (upper camel case)

driver.find_element_by_tag_name()  
Any

driver.find_element_by_xpath()  

2、编写脚本

前面,我们已经使用Appium作为客户端成功连接了服务端WinAppDriver;现在,我们通过python脚本连接WinAppDriver。

(1)打开pycharm创建虚拟环境,并打开虚拟环境的cmd对话窗口,安装如下:

pip install Appium-Python-Client Selenium

 (2)编写脚本,实现连接,代码如下

from appium import webdriver
from selenium.webdriver.support.ui import WebDriverWait


# appium服务监听地址(WinAppDriver地址)
server='http://127.0.0.1:4723'
# app启动参数
desired_caps={
        "app": "C:\\Program Files\\XMind\\XMind.exe",
        "deviceName": "WindowsPC",
        "platformName": "Windows"
}
# 连接
driver = webdriver.Remote(server, desired_caps)
wait = WebDriverWait(driver, 30)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Appium: Windows系统桌面应用自动化测试(一) 的相关文章

  • 网络Socket编程指南

    文章目录 前言1 xff09 说明2 xff09 介绍3 xff09 读者对象4 xff09 平台和编译器5 xff09 Windows程序员要注意的事情 正文一 何为Socket 1 xff09 什么是 socket 2 xff09 In
  • N-ary Trie的实现与分析(字典树)

    实现功能 初始化文档 xff08 默认文档中全是小写字母 xff0c 并且无重复单词 xff09 xff0c 将内部单词存入字典树 xff08 每行一个单词 xff09 xff0c 实现以下功能 xff1a 查找单词 xff08 输出单词行
  • linux c++select多人聊天程序

    比较简单的多人聊天程序 xff0c 可直接运行 主要是实现功能 没有界面也没有多余功能 xff0c 只是实现群聊天的功能 c s模式 server端用select多路复用来做 xff0c 可以接受多个客户端连接 client端启动2个线程控
  • Week12-必做题2(BFS搜索三维迷宫)

    问题描述 zjm被困在一个三维的空间中 现在要寻找最短路径逃生 xff01 空间由立方体单位构成 zjm每次向上下前后左右移动一个单位需要一分钟 xff0c 且zjm不能对角线移动 空间的四周封闭 zjm的目标是走到空间的出口 是否存在逃出
  • TT的奖励(动态规划)

    问题描述 在大家不辞辛劳的帮助下 xff0c TT 顺利地完成了所有的神秘任务 神秘人很高兴 xff0c 决定给 TT 一个奖励 xff0c 即白日做梦之捡猫咪游戏 捡猫咪游戏是这样的 xff0c 猫咪从天上往下掉 xff0c 且只会掉在
  • Q老师与十字叉

    问题描述 Q老师 得到一张 n 行 m 列的网格图 xff0c 上面每一个格子要么是白色的要么是黑色的 Q老师认为失去了 十字叉 的网格图莫得灵魂 一个十字叉可以用一个数对 x 和 y 来表示 其中 1 x n 并且 1 y m 满足在第
  • Q老师的考验(矩阵快速幂)

    问题描述 Q老师 对数列有一种非同一般的热爱 xff0c 尤其是优美的斐波那契数列 这一天 xff0c Q老师 为了增强大家对于斐波那契数列的理解 xff0c 决定在斐波那契的基础上创建一个新的数列 f x 来考一考大家 数列 f x 定义
  • ZJM 与纸条(KMP算法)

    问题描述 ZJM 的女朋友是一个书法家 xff0c 喜欢写一些好看的英文书法 有一天 ZJM 拿到了她写的纸条 xff0c 纸条上的字暗示了 ZJM 的女朋友 想给 ZJM 送生日礼物 ZJM 想知道自己收到的礼物是不是就是她送的 xff0
  • TT数鸭子

    问题描述 这一天 xff0c TT因为疫情在家憋得难受 xff0c 在云吸猫一小时后 xff0c TT决定去附近自家的山头游玩 TT来到一个小湖边 xff0c 看到了许多在湖边嬉戏的鸭子 xff0c TT顿生羡慕 此时他发现每一只鸭子都不一
  • Safari下载东西太慢怎么办?

    因为latex环境出了一点问题 xff0c 找半天都没找到解决方案 xff0c 所以决定卸载重装 打开MaxTex官网后 xff0c 下载 xff1a 这个时候 xff0c 我们需要打开safari的偏好设置 选择最下面的 xff1a 在菜
  • 为什么等价无穷小不能在加减法中使用

    无论是课堂上还是教科书中 xff0c 都会告诉我们 xff0c 等价无穷小替换只能在乘除法中使用 xff0c 不能在加减法中使用 但是大家会发现 xff0c 有的时候在加减法中使用等价无穷小是可以得到正确结果的 xff0c 那是否在加减法中
  • B Spline(B样条曲线)

    文章目录 说明B样条曲线代码 说明 在阅读此博客前 xff0c 请访问2018级山东大学计算机学院图形学实验汇总 原笔记通过latex编写 xff0c csdn只支持latex部分功能 xff0c 所以下面主要是将pdf截屏上传 部分内容参
  • 从几何意义上理解逆矩阵与伴随矩阵的特征值与特征向量

    文章目录 矩阵 行列式 逆矩阵 伴随矩阵的几何意义矩阵逆矩阵行列式伴随矩阵 特征值与特征向量的几何意义逆矩阵与伴随矩阵的特征值和特征向量后记 矩阵 行列式 逆矩阵 伴随矩阵的几何意义 矩阵 首先要理解矩阵的作用 xff0c 矩阵是一种空间变
  • 树莓派——win10远程登录以及蓝屏问题(转载)

    https blog csdn net yolanda salvatore article details 106439903
  • 从数学上推导伴随矩阵特征值

    矩阵A的特征值非0的情况 设矩阵A的特征值为 lambda xff0c 则有 A x 61
  • [leetcode] 863二叉树中所有距离为K的结点

    问题描述 给定一个二叉树 xff08 具有根结点 root xff09 xff0c 一个目标结点 target xff0c 和一个整数值 K 返回到目标结点 target 距离为 K 的所有结点的值的列表 答案可以以任何顺序返回 示例 输入
  • “操作无法完成,因为其中的文件或文件夹一再另一程序打开”解决方法

    windows系统中 xff0c 有时时候我们想要修改某个文件 xff0c 就出现出现如下提示 xff1a 操作无法完成 xff0c 因为其中的文件或文件夹已在另一程序打开 请关闭该文件或文件夹 xff0c 然后重试 出现这个上面提示的原因
  • 谷歌浏览器的本地收藏夹在什么位置?

    谷歌浏览器的本地收藏夹在什么位置 xff1f 为什么写这个文章呢 xff1f 主要是因为自己平常学习的时候会将很多自己想要保存的网页或者课程网址放到自己谷歌浏览器的收藏夹下 但是怕以后要重装系统的时候将之前的本地谷歌收藏夹删除 所以自己特意
  • Android Studio 出现 attribute android:layout_width is not allowed here等问题

    这种问题一般是Gradle的问题 xff0c 因为被墙所以同步失败 xff0c 完美解决方案就是科学上网 xff0c 之后在File Settings Appearance amp Behavior System Settings HTTP
  • 关于在Linux上创建快捷方式时.desktop文件无图标且双击无法启动程序的解决办法

    如果你没有执行以下操作 xff0c 你会发现你打开的只是文本编辑器 右键 desktop文件 xff0c 选择Allow Launching Then the problem is solved

随机推荐