目录 1 环境准备 2 安装窗口识别工具和元素组件 1 窗口元素的识别工具 inspect.exe FlaUInspect 2 安装 WinAppDriver 3 appium 环境搭建 4 代码示例
1 环境准备 1 找到 开发者选项,打开 【开发人员模式】
2 安装窗口识别工具和元素组件 1 窗口元素的识别工具 类似于 uiautomatorviewer
的作用,识别出指定元素的xpath。
以下两种工具选择一种就可以,FlaUInspect
的界面会更清晰一下,容易上手。
inspect.exe 官网下载链接 :https://download.microsoft.com/download/4/d/2/4d2b7011-606a-467e-99b4-99550bf24ffc/windowssdk/winsdksetup.exe
百度云盘链接 :https://pan.baidu.com/s/1X2DHaCffAqc5_hahBQSivg?pwd=8888
inspect
的启动位置我找了好久,大致的位置都在这个路径下,可能中间的版本不太一样,一般都是10点多,可以在放各个版本的目录下搜索一下inspect.exe
C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64
FlaUInspect 官网下载地址 :https://github.com/FlaUI/FlaUInspect
2 安装 WinAppDriver
作用类似于 selenium
的自动化测试服务,在执行自动化测试前需要保证WinAppDriver
是启动状态。
官网下载地址 :https://github.com/Microsoft/WinAppDriver/releases
百度网盘链接 :https://pan.baidu.com/s/1MgAT23yIPmgyNY5nSwJ0Dg?pwd=8888
3 appium
环境搭建 安装nodejs、appium环境。
Node.js
:https://nodejs.org/en
1 pip install Appium-Python-Client==1.3.0`
4 代码示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 import osfrom appium import webdriverfrom selenium.webdriver import ActionChainsfrom selenium.webdriver.common.keys import Keysfrom time import sleepclass Auto (): driver = None def open_weixin (self, host='localhost' , port=4723 ): os.system(r'start "" /d "C:\Program Files (x86)\Windows Application Driver\" "WinAppDriver.exe"' ) desired_caps = {'platformName' : 'Windows' , 'deviceName' : 'WindowsPC' , 'app' : r"C:\Program Files (x86)\Tencent\WeChat\WeChat.exe" } try : self.driver = webdriver.Remote('http://{}:{}' .format (host, port), desired_caps) except Exception as e: raise AssertionError(e) def send_msg (self, element_name, msg ): """ :param element_name:元素name值 :param msg: :return: """ chat_element = self.driver.find_element_by_name(element_name) chat_element.click() self.driver.find_element_by_name("输入" ).send_keys(msg) self.driver.find_element_by_name("sendBtn" ).click() def tearDownFunc (self ): print ("准备退出" ) sleep(2 ) self.driver.quit() os.system(' @taskkill /f /im WinAppDriver.exe' ) if __name__ == '__main__' : auto = Auto() auto.open_weixin() auto.send_msg("文件传输助手" , "我是自动发送的哈哈" ) auto.tearDownFunc()