概述
PC 端自动化测试使用到的 python 模块主要有 pywinauto、win32gui、pyautogui,主要功能如下:
pywinauto:python中一个用于操作windows下GUI程序的库,可以用来做PC端自动化,web自动化可以借助于他来实现文件上传。主要使用到 Application 类,用于应用程序管理(打开与关闭应用等)、窗口管理(最小化、最大化、关闭窗口)
安装命令 pip install pywinauto
pywin32:包含 win32gui、win32api、win32con 3个子模块,用于窗口管理(定位窗口、显示和关闭窗口、获取窗口位置等)
pyautogui:屏幕控制(截屏等)、鼠标控制(移动鼠标、单击、双击、右击、拖拽等)、键盘控制(编辑、按键等)
参考:PC端应用程序自动化测试——pywinauto、pywin32、pyautogui
文件上传:
web自动化上传文件,7行代码帮你搞定
练习网站:https://www.layui.com/demo/upload.html
概述
1、windows 系统可以使用pywin32 (pip install pywin32)
2、Mac系统需要使用 PyUserInput (pip install PyUserInput)
- 当元件为input时,可以直接用send_keys(“文件路径”)的方式上传,
- 如果非input则需要使用pywinauto库中相应方法操作窗口控件
pywinauto
- pywinauto模块有一个Desktop类: 用于操作桌面所有窗口
- pywinauto模块有一个keyboard类:用于操作windows系统键盘,其中send_keys方法用于向windows窗口输入
- ViewWizard:窗口检测工具,句柄检测精灵
input 元素文件上传
from pywinauto import Desktop
from selenium import webdriver
from pywinauto.keyboard import send_keys
from selenium.webdriver.common.by import By
webdr = webdriver.Chrome()
webdr.maximize_window()
webdr.get("https://www.layui.com/demo/upload.html")
# webdr.find_element(By.ID,"test2").click()
send_file = webdr.find_element_by_class_name("layui-upload-file").send_keys(r"C:\Users\Administrator\Desktop\8a4749d69e433af126dc2bdd481781d.jpg")
单文件上传
from pywinauto imp