AutoIt的使用
《Python实现Web UI自动化测试实战:Selenium 3/4+unittest/pytest+gitlab+jenkins》读书笔记
主要是用来上传文件
安装
官网:www.autoitscript.com
下载路径: https://www.autoitscript.com/site/autoit/downloads/
安装后的目录构成
AutoIt v3 Window Info——获取窗口信息工具(Au3Info.exe)
通过finder tool,可以获取任意对象的信息,比较重要的信息有title、visible text。另外,在mouse标签下面还可以看到position信息、坐标,在summary标签下面可以看到classnameNN信息。
Compile Script to .exe——将脚本转换成“.exe”文件(Aut2Exe/Aut2exe.exe)
借助Compile Script to .exe组件将脚本转换成“.exe”文件,然后借助Python的os模块执行“.exe”文件。脚本可以参考os.system(“a.exe”)。
方法
-
等待窗口就绪 :
WinWaitActive("title"[,"text"[,timeout]])
-
返回窗体的位置信息:
WinGetPos("title"[,"text"])
-
模拟鼠标单击:
MouseClick("button" [,x,y[,clicks = 1 [,speed = 10]]])
-
睡眠:
Sleep(milliseconds)
(单位毫秒) -
将输入焦点设置为窗口中的指定控件:
ControlFocus("title", "text", controlID)
-
发送鼠标单击命令到给定控件:
ControlClick("title", "text", controlID)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0Gdy3nWT-1656483979915)(https://raw.githubusercontent.com/wuhanwoaini521/cloudimg/main/20220615141336.png)] -
设置控件的文本:
ControlSetText("title", "text", controlID, "newText")
使用SciTE Script Editor编辑脚本内容
# 等待Class为#32770的窗体
WinWaitActive("[CLASS:#32770]","",10)
# 把焦点设置在controlID为Edit1的控件中
ControlFocus("打开","","Edit1")
# 设置该控件的文本为C:\Users\qvzn0\Pictures\test.jpeg
ControlSetText("打开","","Edit1","C:\Users\qvzn0\Pictures\test.jpeg")
# 单击controlID为Button1的控件
ControlClick("打开","","Button1")
使用 Compile Script to.exe转换文件
selenium 脚本执行
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.action_chains import ActionChains
import os
driver = webdriver.Chrome()
driver.get("http://sahitest.com/demo/php/fileUpload.htm")
sleep(2)
ele = driver.find_element_by_id('file')
ActionChains(driver).click(ele).perform()
sleep(2)
os.system('D:\\A\\upload.exe')
sleep(3)
driver.quit()