当前位置:首页 » 《关于电脑》 » 正文

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

11 人参与  2024年05月16日 11:01  分类 : 《关于电脑》  评论

点击全文阅读


目录

安装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.0selenium 3.141.0urllib3 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)

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

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


点击全文阅读


本文链接:http://zhangshiyu.com/post/109365.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1