python - web自动化测试 - 文件上传操作
# 12. 上传操作
#
# (1)如果是input可以直接输入路径的,直接使用send_keys输入路径
# (2)非input标签的,需要借助第三方工具:
# A. AutoIt : 调用其生成的au3或exe文件
# B. SendKeys第三方库:目前只支持到2.7版本
# C. Python pywin32库:识别对话框句柄,进而操作 # 工具:pywin32 和 WinSpy(识别windows控件的工具)
# 在pywin32中,查找一层窗口的方法为:win32gui模块下的FindWindow
# 在某窗口下查找子窗口的方法为:win32gui模块下的FindWindowEx
# 执行编辑操作、点击操作的方法为:win32gui模块下的SendMessage # win32gui.FindWindow(IpClassName,IpWindowName)
# 自顶层窗口开始寻找匹配条件的窗口,并返回这个窗口的句柄
# IpClassName : 类名,在Spy++里能够看到
# IpWindowName: 窗口名,标题栏上能看到的名字 # win32gui.FindWindowEx(hwndParent=0,hendChildAfter=0,lpszClass=None,lpszWindow=None)
# 搜索类名和窗体名匹配的窗体,并返回这个窗体的句柄;找不到就返回0
# hwndParent : 若不为0,则搜索句柄为hwndParent窗体的子窗体
# hwndChildAfter :若不为0,则按照z-index的顺序从hwndChildAfter向后开始搜索子窗体,否则从第一个子窗体开始搜索
# IpClassName : 字符型,是窗体的类名
# IpWindowName : 字符型,是窗口名 # win32gui.SendMessage(hWnd,Msg,wParam,lParam)
# hWnd : 整型,接收消息的窗体句柄
# Msg :整型,要发送的消息,这些消息都是windows预先定义好的
# wParam:整型,消息的wParam参数
# lParam:整型,消息的lParam参数
import win32gui
import win32con def upload_chrome(filepath):
# 一级窗口
dialog = win32gui.FindWindow('#32770','打开')
# 二级窗口
ComboBoxEx32 = win32gui.FindWindowEx(dialog,0,'ComboBoxEx32',None)
# 三级窗口
ComboBox = win32gui.FindWindowEx(ComboBoxEx32,0,'ComboBox',None)
# 四级窗口 - 路径输入框
edit = win32gui.FindWindowEx(ComboBox,0,'edit',None)
# 二级窗口 - 打开按钮
button = win32gui.FindWindowEx(dialog,0,'Button','打开(&O)') # 操作
win32gui.SendMessage(edit,win32con.WM_SETTEXT,None,filepath)
win32gui.SendMessage(dialog,win32con.WM_COMMAND,1,button) file_path = 'F:\VOC\测试图片\视频遮挡\遮挡.png'
upload_chrome(file_path)
python - web自动化测试 - 文件上传操作的更多相关文章
- python-web自动化-文件上传操作(非input标签的上传,需要借助第三方工具)
文件上传操作 一.文件上传分两种情况:1. 如果是input可以直接输入路径的,可以直接调send_keys输入路径 2. 非input标签的上传,需要借助第三方工具: 2.1 Autolt 需 ...
- 七牛云存储的 Javascript Web 前端文件上传
因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,七牛云存储的 Web 前端文件上传 七牛是不错的云存储产品,特别是有免费的配额可 ...
- ui自动化chrome文件上传操作
web自动化,再chrome浏览器中文件上传操作
- Web Uploader文件上传插件
http://www.jq22.com/jquery-info2665 插件描述:WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现 ...
- Web Uploader文件上传&&使用webupload有感(黄色部分)
引入资源 使用Web Uploader文件上传需要引入三种资源:JS, CSS, SWF. <!--引入CSS--> <link rel="stylesheet" ...
- python Django之文件上传
python Django之文件上传 使用Django框架进行文件上传共分为俩种方式 一.方式一 通过form表单进行文件上传 #=================================== ...
- Python 基于Python实现Ftp文件上传,下载
基于Python实现Ftp文件上传,下载 by:授客 QQ:1033553122 测试环境: Ftp客户端:Windows平台 Ftp服务器:Linux平台 Python版本:Python 2.7 ...
- 基于python的selenium两种文件上传操作
方法一.input标签上传 如果是input标签,可以直接输入路径,那么可以直接调用send_keys输入路径,这里不做过多赘述,前文有相关操作方法. 方法二.非input标签上传 这种上传方 ...
- python django web 端文件上传
利用Django实现文件上传并且保存到指定路径下,其实并不困难,完全不需要用到django的forms,也不需要django的models,就可以实现,下面开始实现. 第一步:在模板文件中,创建一个f ...
随机推荐
- 关于ajax中return并不能作为方法的返回值
接下来关于ajax中的return值最后没有办法是方法的最终返回值问题 login(username,password) { console.log("进入方法"); $.ajax ...
- JavaBean+jsp开发模式 --结合form表单 实例
1.创建form表单 <%@ page language="java" contentType="text/html; charset=UTF-8" pa ...
- Python+Selenium与Chrome如何进行完美结合
zhuan:http://blog.51cto.com/starpoint/2102975?cid=704621 使用WebDriver在Chrome浏览器上进行测试时,需要从http://chrom ...
- tomcat的work目录不是缓存
最近发现,很多网友喜欢把tomcat的work目录里的东西叫做缓存,其实那不是很恰当,work目录只是tomcat的工作目录,也就是tomcat把jsp转换为class文件的工作目录,这也正是为什么它 ...
- python基础教程总结7——异常
1.Python异常类 Python是面向对象语言,所以程序抛出的异常也是类.常见的Python异常有: 异常 描述 NameError 尝试访问一个没有申明的变量 ZeroDivisionError ...
- OpenLayers 3 的 图层控制控件
openlayers3的control中没有提供默认的图层控制控件. 但是git上已经有造好的轮子,直接拿来用就可以了.地址 https://github.com/walkermatt/ol3-lay ...
- Codeforces Round #320 (Div. 1) [Bayan Thanks-Round] C A Weakness and Poorness (三分)
显然f(x)是个凹函数,三分即可,计算方案的时候dp一下.eps取大了会挂精度,指定循环次数才是正解. #include<bits/stdc++.h> using namespace st ...
- 删除Chrome地址栏记录中自动补全的网址
为了删除某个自动补全的网站,多年的历史纪录没了,还浪费我十多分钟,蠢哭_(:з」∠)_ 不是历史记录.不是清除浏览器数据.不是myactivity(谷歌账号)中的历史纪录,直接在书签中搜索,删除,OK ...
- Opencascade术语笔记。
1. chamfer 倒角 vs fillet 圆角: 2.boolean operatiron(布尔操作): common(相加),fuse(相交),cut(相减): 3.depressions( ...
- Django 的母板及布局(Bootstrap)
title: Django 的母板及布局(Bootstrap) tags: Django --- Django 的母板及布局(Bootstrap) Django 的母板是作为公共的部分,其他的页面都能 ...