Selenium+Python自动化测试:AutoIt工具实现本地文件上传

2019年4月28日 252点热度 0人点赞 0条评论

新书

速递

吴老的java版《selenium webdriver 实战宝典》和python版《selenium Webdriver 3.0 自动化测试框架实战指南》出版了,代码拿来就能用。

文 | Theend


Selenium+Python自动化测试

AutoIt工具实现本地文件上传


一、前言

进行web自动化测试时,可以使用Xpath、CSS、ID、name、绝对路径、相对路径等各种方式对页面元素进行定位,但对于导入、导出、另存为等操作弹出的Windows文件选择框,selenium就定位不了,所以就需引用AutoIt工具来实现。

二、背景介绍

什么是AutoIt ?
AutoIt v3 是用以编写并生成具有 BASIC 语言风格的脚本程序的免费软件,它被设计用来在Windows GUI(用户界面)中进行自动操作。通过它可以组合使用模拟键击、鼠标移动和窗口/控件操作等来实现自动化任务,而这是其它语言所无法做到或尚无可靠方法实现的(比如VBScript和SendKeys)。

AutoIt的主要功能?

1)模拟键击动作(支持大多数的键盘布局) 
2)模拟鼠标移动和点击动作。
3)对窗口进行移动、调整大小和其它操作。
 4)直接与窗口的“控件“交互(设置/获取 文字、移动、关闭,等等) 
 5)配合剪贴板进行剪切/粘贴文本操作 
 6)对注册表进行操作 

三、准备工作

1.     准备python环境及各种插件(需要什么装什么);安装PyCharm工具

图片

2.    安装AutoIt

下载地址:https://www.autoitscript.com/site/autoit/downloads/

安装完成后可以在开始菜单看到如下显示:

图片

四、实战:用Autoit定位Windows弹框

目的:导入本地文件

手动操作步骤:

1)点击页面“选择文件”按钮----弹出Windows文件选择框

2)在Windows弹框中选择文件

3)点击弹框“打开”按钮

自动化操作思路:

1)用Xpath页面元素定位的方法,定位并点击页面“选择文件”按钮

2)调用AutoIt实现Windows弹框定位并写成脚本

3)把脚本编译为可执行文件

4)回到Pycharm代码中调用可执行文件

具体步骤:

第一步:页面元素定位

在页面中定位并点击“选择文件”按钮,显示如下所示弹框,因为是页面外Windows弹框,需要使用AutoIt工具实现。

driver.find_element_by_xpath("//span [contains(.,'选择文件')]").click()

图片

第二步:写脚本

1)点击“开始”--- 找到“AutoIt V3”工具包 --- 点击“AutoItWindow Info(x64)”工具,版本按本机系统来选择,显示如下:

图片

2)鼠标选中“FinderTool”,拖动到“文件名”输入框中,即可定位该输入框。重复上述步骤定位“打开”按钮。如图显示:

图片

3)使用AutoIt工具包下的“SciTE Script Editor”写脚本,并保存为au3格式。

ControlFocus("打开","","Edit1")

WinWait("[CLASS:#32770]","",10)

ControlSetText("打开","", "Edit1", "E:\SVN\升级目录\20190418\导入模板.xlsx")

Sleep(2000)

ControlClick("打开","","Button1")

代码解释:

第一行:

ControlFocus ( "title", "窗口文本",controlID) 设置输入焦点到指定窗口的某个控件上;

第二行:

WinWait ( "title" , "窗口文本" , 超时时间 ) 暂停脚本的执行直至指定窗口存在(出现) 为止;

第三行:

ControlSetText ( "title", "窗口文本",controlID, "新文本" ) 修改指定控件的文本;

第四行:Sleep 延迟执行

第五行:ControlClick ( "title", "窗口文本",控件ID , 按钮 , 点击次数 ) 向指定控件发送鼠标点击命令;

其中:“title”即AutoIt Window Info识别出的Title字段(上图标红部分), “controlID”即AutoItWindow Info识别出的Class和Instance的拼接,就是ClassnameNN的值。

第三步:编译为可执行文件

使用AutoIT工具包下的Complie Script to .exe工具把刚编写的脚本编译成可执行文件,操作如下:

图片

注意:如果页面报错提示如下:需检查脚本中引号的使用是否正确。特别是第一行和第三行。

图片

第四步:调用可执行文件

1)打开“pycharm” ,在工程文件夹“venv”的同级目录下放入文件夹“autoit”以及之前的俩文件。刷新列表即可查看,如下显示:

图片

2)在代码中写入:

import os

os.system(os.getcwd() + "\\autoit\\import.exe")

代码运行后,文件导入成功。

图片

图片

光荣之路测试开发培训班招生简章

内推:阿里 | 测试开发

?点击链接直达或公众号内回复“2”

招聘QQ群:203715128

图片
在看点这里
图片
52110Selenium+Python自动化测试:AutoIt工具实现本地文件上传

这个人很懒,什么都没留下

文章评论