python+winappdriver实现Windows桌面程序界面自动化测试 详细环境搭建+例子演示(上)

目录

安装python环境

安装winappdriver

安装inspect.exe 

安装FlaUInspect

安装方法一:

1.下载flauinspect

2.安装.NET Framework 4.8

安装方法二:

1.安装choco(如果你安装了那么忽略这一步)

2.下载FlaUInspect

安装需要的python库

1.安装 Appium-Python-Client

2.安装urllib3 

执行以下命令卸载现有的urllib3

执行以下命令安装urllib3的1.26.2版本

开始测试

先要打开开发人员模式

 一、命令行窗口启动winappdriver

二、开始测试代码的编写


为了保证兼容性,请按照以下版本安装,因为这一套流程在我这边是走通了的,我的环境是windows10

安装python环境

1.安装python环境,安装的是python3.8,不会安装的转到我另外一个博客

windows10 python3.8下载安装-CSDN博客

安装winappdriver

1.安装winappdriver,安装的版本是1.2.1

winappdriver是windows上的一个应用驱动程序,有它我们才能驱动应用进行操作

下载链接:Releases · microsoft/WinAppDriver · GitHub 

  • 点击windowsApplicationDriver_1.2.1.msi进行下载
  • 下载好之后一路next进行安装

  • 如果你没有改路径,那么你就可以在默认路径下找到它 

安装inspect.exe 

该工具是用来检查获取元素属性的

官网下载:Windows SDK - Windows 应用开发 | Microsoft Developer 

  • 进入链接后点击下载安装程序 

下载成功之后点击一路next进行安装,如果你没有换安装目录,那么你可以在C:\Program Files (x86)\Windows Kits\10\该路径下找到inspect.exe  

安装FlaUInspect

flauinspect也是一个辅助工具和inspect.exe一样,我主要是用来获取元素xpath路径的

安装方法一:

1.下载flauinspect

下载地址:GitHub - FlaUI/FlaUInspect: Inspect tool to inspect UIs from an automation perspectiveRelease FlaUInspect v1.3.0 · FlaUI/FlaUInspect · GitHubGitHub - FlaUI/FlaUInspect: Inspect tool to inspect UIs from an automation perspective 

下载解压后可以看到有个FlaUInspect.exe,这个就是待会我们要使用的

  

注意:FlaUInspect.exe的运行是要依赖与.NET Framework环境的,所以需要安装.NET Framework 4.8

2.安装.NET Framework 4.8

下载:下载 .NET Framework 4.8 Web Installer

下载后一路next安装

安装方法二:

以choco的方式来安装 ,choco是Windows的包管理工具,可以让你在windows下像linux一样用命名行安装软件 

  • 以管理员方式打开powershell

  

1.安装choco(如果你安装了那么忽略这一步) 

在打开的 PowerShell 窗口中,运行以下命令以下载并运行 Chocolatey 安装脚本: 

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

如果你没有.NET环境,那么执行完以上的命令之后,会出现爆红的提示,提示信息如下,提示表明安装程序已经下载并安装了 .NET Framework 4.8,但需要系统重新启动才能完成安装,所以重启你的系统,重启系统之后,再次以管理员方式打开powershell窗口,重新运行一下以上的安装脚本

CategoryInfo : OperationStopped: (.NET Framework ...ocolatey again.:String) [], RuntimeException + FullyQualifiedErrorId : .NET Framework 4.8 was installed, but a reboot is required. Please reboot the system and try to install/upgrade Chocolatey again. 

2.下载FlaUInspect

 在powershell的命令行窗口运行以下命令

 choco install flauinspect

  • 可以看到提示了我们安装路径 

  • 根据路径发现已经安装成功 

 

安装需要的python库

  • 需要的版本为:
  • Appium-Python-Client 1.1.0
  • selenium 3.141.0
  • urllib3 1.26.2

1.安装 Appium-Python-Client

需要的版本为1.1.0版本,在cmd窗口执行以下命令进行安装

pip install Appium-Python-Client==1.1.0

pip list查看一下版本,selenium版本正确不需要再重新安装

2.安装urllib3 

执行pip install Appium-Python-Client==1.1.0命令的时候自动安装了urllib3,我们需要把urllib3换成1.26.2的版本

执行以下命令卸载现有的urllib3

 pip uninstall urllib3

执行以下命令安装urllib3的1.26.2版本

 pip install urllib3==1.26.2

开始测试

先要打开开发人员模式

  • 设置 -> 更新和安全 -> 开发者选项

以下测试以Windows记事本为例子

 一、命令行窗口启动winappdriver

  • 先cd到winappdriver.exe所在的目录,默认是在C:\Program Files (x86)\Windows Application Driver

  • 执行以下命令启动winappdriver 

WinAppDriver.exe 4723/wd/hub

启动成功之后不要把这个窗口给关闭了! 

二、开始测试代码的编写

  • 创建一个test.py的模块在这里面来编写代码并运行,先导入 Appium 的 webdriver 模块。
  • 创建一个选项字典,指定要在远程控制的系统上运行的应用程序。在这里,指定的应用程序是 Notepad(记事本)的可执行文件路径,语法为:option = {"app": "要测试的可执行程序的绝对路径"}
  • 创建一个名为pc_driver的远程 WebDriver 实例,用于与系统进行通信和控制。command_executor 参数指定了 winappdriver的地址,desired_capabilities 参数指定了所需的能力,其中包括要运行的应用程序的路径。

代码如下:

from appium import webdriver
#创建一个选项字典,指定用于测试的记事本程序的绝对路径
option = {
            "app": r"C:\Windows\system32\notepad.exe"
        }
#创建一个名为 pc_driver 的远程 WebDriver 实例,用于控制程序
pc_driver = webdriver.Remote(command_executor="http://127.0.0.1:4723/wd/hub", desired_capabilities=option)

执行以上代码会发现记事本被自动打了

我走通前面的这一套流程并能驱动打开不报错花的时间是最多的,后面的东西就不怎么难了,明天我再写

  • 31
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值