背景
使用robotframework操作浏览器上传文件(注:框架本身对windows上传文件不太行,需要借助外部工具)
一:下载安装AutoIt3
下载地址:https://www.autoitscript.com/site/autoit/downloads/
下载后傻瓜式安装即可 安装成功截图如下
二:创建au3文件,右键编辑(用于robotframework打开上传文件界面后执行)
三:转换为可行性exe文件
点击script to exe
四:把exe文件放到指定目录 后面要用
五:在robotframework框架内执行这个exe文件
方式一:
来源:robotframework 文件上传_robotframework上传文件-CSDN博客
注:这里autolt脚本输入的文件固定的 不带参数直接点击即可
open browser file:///C:/Users/Administrator/PycharmProjects/pythonProjectYu/upfile.html chrome
Maximize Browser Window
sleep 5
press keys xpath=/html/body/div/div/input \\32
sleep 5
log 测试
evaluate os.system("D:/Program Files (x86)/AutoIt3/SciTE/upfile.exe") #执行autoIt脚本
sleep 5
log 结束
方式二:
外部引入python自定义模块,带参数调用autolt脚本
(有个很奇怪的地方 robotframework非要调用两次才生效,python调用一次就行)
open browser file:///C:/Users/Administrator/PycharmProjects/pythonProjectYu/upfile.html chrome
Maximize Browser Window
sleep 5
press keys xpath=/html/body/div/div/input \\32
sleep 5
log 测试
start_exe ${file} #执行autoIt脚本
start_exe ${file} #执行autoIt脚本
sleep 5
log 结束
注:demo.exe就是步骤三生成的文件,替换成自己的路径就可以
def start_exe(name):
'''
:param exe_path: 生成的upload.exe的路径
:param file_path: 要上传的文件的路径
'''
file_url = 'D:\\vscode_project\\court_rpa\\book_data\\temp\\'+name
try:
if os.path.exists("D:/demo.exe"):
os.system('%s %s' %("D:/demo.exe", file_url))
time.sleep(6)
return '1'
except Exception as e:
raise e