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 ...
随机推荐
- querySelector/querySelectorAll
querySelector获取页面I属性D为test的元素: document.getElementById("test"); //or document.querySelecto ...
- td 内容自动换行 table表格td设置宽度后文字太多自动换行
设置table 的 style="table-layout:fixed;" 然后设置td的 style="word-wrap:break-word;" 即可 ...
- MapReduce的过程(2)
MapReduce的编程思想(1) MapReduce的过程(2) 1. MapReduce从输入到输出 一个MapReduce的作业经过了input.map.combine.reduce.outpu ...
- 如何清除SharePoint Server 配置缓存
日常运维中您可能需要清除SharePoint 2010/2013/2016中的过期配置缓存.例如,有时计时器作业往往会卡住,并在这种情况下清除缓存.您可以手动清除SharePoint配置缓存或者使用P ...
- 爬去豆瓣图书top250数据存储到csv中
from lxml import etree import requests import csv fp=open('C://Users/Administrator/Desktop/lianxi/do ...
- C#实现灰度图像和彩色图像的4种镜像
一:灰度图像的水平镜像核心代码: 二:灰度图像的竖直镜像 核心代码:三:彩色图像的水平镜像 核心代码: 四:彩色图像的竖直镜像 核心代码:
- uva 1601 poj 3523 Morning after holloween 万圣节后的早晨 (经典搜索,双向bfs+预处理优化+状态压缩位运算)
这题数据大容易TLE 优化:预处理, 可以先枚举出5^3的状态然后判断合不合法,但是由于题目说了有很多墙壁,实际上没有那么多要转移的状态那么可以把底图抽出来,然后3个ghost在上面跑到时候就不必判断 ...
- Ubuntu 16.04 换国内源
官方渠道,图形界面,操作简单,可以说对新手及其友好!! 依次打开:搜索,软件与更新,第一个和第三个勾上,下载自,其它,然后在中国条目下选择你想使用的镜像站点,然后点“选择服务器”,然乎点击“关闭”,选 ...
- Python3之偏函数
通过设定参数的默认值,可以降低函数调用的难度.偏函数可以做到这一点 int()函数可以把字符串转换成十进制整数,当传入字符串时,int()默认把字符串为十进制 >>> int('12 ...
- c#中的里氏转换和Java中强制类型转换在多态中的应用
在c#中: 注意: 子类并没有继承父类的构造函数,而是会默认调用父类那个无参数的构造函数. 如果一个子类继承了一个父类,那么这个子类除了可以使用自己的成员外,还可以使用从父类那里继承过来的成员.但是父 ...