Python+selenuim 自动化测试 文件上传
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python+selenuim 自动化测试 文件上传,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2496字,纯文字阅读大概需要4分钟。
内容图文
![Python+selenuim 自动化测试 文件上传](/upload/InfoBanner/zyjiaocheng/847/bfbe18fb0346431195ceec4eb0b4a4fe.jpg)
转自:https://blog.csdn.net/huilan_same/article/details/52439546
测试上传文件功能时,弹出文件选择框来选择正确的文件上传。本次用到的页面由于没有注意上传按钮的标签是input,因此查了大量关于非input上传的材料,在这里做个记录。
1.有input标签
这种比较简单,定位到元素后,直接sendkeys,输入要上传文件的绝对地址。
driver.find_element_by_xpath('/html/body/form/table/tbody/tr[1]/td[2]/input[1]').send_keys('E:\导入格式 -优先.xlsx')
2.非input标签
这种情况没有办法在网页来操作文件,只能通过os弹窗来处理,最常用的第三方工具是autoIT,借助外力。还有一种方法可以直接安装Python pywin32库,识别对话框句柄。个人觉得最好还是直接还是不靠第三方软件,因此选择安装pywin32.
dialog = win32gui.FindWindow('#32770',u'打开')
ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None)
ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None)
Edit = win32gui.FindWindowEx(ComboBox, 0, 'Edit', None) # 上面三句依次寻找对象,直到找到输入框Edit对象的句柄
button = win32gui.FindWindowEx(dialog, 0, 'Button', None) # 确定按钮Button
win32gui.SendMessage(Edit, win32con.WM_SETTEXT, 0, r'E:\导入格式 -优先.xlsx') # 往输入框输入绝对地址
win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button) # 按button
这里需要一个小工具,spy++,百度搜索下载。
使用方法,点击望远镜图标,,然后
拖拽到要操作的窗口,查找对应元素。
拓展:
简单介绍几个用到的:
win32gui.FindWindow(lpClassName=None, lpWindowName=None):
自顶层窗口开始寻找匹配条件的窗口,并返回这个窗口的句柄。
lpClassName:类名,在Spy++里能够看到
lpWindowName:窗口名,标题栏上能看到的名字
代码示例里我们用来寻找上传窗口,你可以只用其中的一个,用classname定位容易被其他东西干扰,用windowname定位不稳定,不同的上传对话框可能window_name不同,怎么定位取决于你的情况。
win32gui.FindWindowEx(hwndParent=0, hwndChildAfter=0, lpszClass=None, lpszWindow=None)
搜索类名和窗体名匹配的窗体,并返回这个窗体的句柄。找不到就返回0。
hwndParent:若不为0,则搜索句柄为hwndParent窗体的子窗体。
hwndChildAfter:若不为0,则按照z-index的顺序从hwndChildAfter向后开始搜索子窗体,否则从第一个子窗体开始搜索。
lpClassName:字符型,是窗体的类名,这个可以在Spy++里找到。
lpWindowName:字符型,是窗口名,也就是标题栏上你能看见的那个标题。
代码示例里我们用来层层寻找输入框和寻找确定按钮
win32gui.SendMessage(hWnd, Msg, wParam, lParam)
hWnd:整型,接收消息的窗体句柄
Msg:整型,要发送的消息,这些消息都是windows预先定义好的,可以参见系统定义消息(System-Defined Messages)
wParam:整型,消息的wParam参数
lParam:整型,消息的lParam参数
代码示例里我们用来向输入框输入文件地址以及点击确定按钮
内容总结
以上是互联网集市为您收集整理的Python+selenuim 自动化测试 文件上传全部内容,希望文章能够帮你解决Python+selenuim 自动化测试 文件上传所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。