Python web自动化测试 —— 文件上传

2023-11-08

文件上传三种方式:

(一)查看元素标签,如果是input,则可以参照文本框输入的形式进行文件上传

方法:和用户输入是一样的,使用send_keys

1

2

3

4

5

步骤:1、找到定位元素,2,输入文件路径

ele=driver.find_element_by_id("id")

#说明:参数是文件的路径,在windows中,因为路径是反斜杠,所以在路径之前需要有r

ele.send_keys(r"c:\xxx.txt")

time.sleep(3)


说明:如果不是input标签,直接是div标签,则不能使用上述方法,也不能使用selenium中的(拖拽方法)drag_and_drop(value1,value2),因为文件夹中的文件,是window操作,不是浏览器中的元素,无法定位。则使用以下方式:

(二)使用pywinauto(只能在window平台上面使用)

步骤:1、下载pywinauto包------pip install pywinauto

步骤2:导入 from pywinauto .keyboard import send_keys

步骤3:打开窗口>>>输入文件地址>>>点击打开按钮就行了,请看具体代码.

具体代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

import pywinauto

from pywinauto.keyboard import send_keys

# 使用pywinauto来选择文件

app = pywinauto.Desktop()

# 选择文件上传的窗口

dlg = app["打开"]

# 选择文件地址输入框,点击激活

dlg["Toolbar3"].click()

# 键盘输入上传文件的路径>>>记住不是文件的地址啊,是文件的上一层地址.

send_keys("D:\data")

# 键盘输入回车,打开该路径

send_keys("{VK_RETURN}")

# 选中文件名输入框,输入文件名>>>只需要改文件名就行了,看以下例子

dlg["文件名(&N):Edit"].type_keys("文件名")<br>

# 例如我实战的:

dlg["文件名(&N):Edit"].type_keys("接口测试文件.pdf")<br>

# 点击打开

dlg["打开(&O)"].click()

time.sleep(4)

(三)如果电脑不是window操作系统--使用pyautogui跨平台

1

使用pyautogui跨平台

1

2

3

4

5

6

7

8

9

10

11

12

13

pip install pillow==6.2.2

pip insall pyautogui

time.sleep(1)

pyautogui.write("d:xxx.txt")

pyautogui.press("enter",2)#输入两次enter键,防止出错

# 说明,有的平台,文件路径中如果包含中文,会报错,解决办法:

import pyperclip    #pyautogui中自带的,因此不需要单独安装

pyperclip.copy(r"d:\用户\文件.txt")#复制文件路径

time.sleep(2)

pyautogui.hotkey("ctrl","v")#类似于剪切板上面的粘贴操作

pyautogui.press("enter",presses=2)#输入两次enter键,防止出错

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
 

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python web自动化测试 —— 文件上传 的相关文章

随机推荐

  • MySQL 数据库性能优化之缓存参数优化

    https blog csdn net truelove12358 article details 51956356 博客 学院 下载 图文课 论坛 APP 问答 商城 VIP会员 活动 招聘 ITeye GitChat 写博客 赚零钱 传
  • [构思]依据verilog源文件中的关键代码及其注释,使用脚本命令生成代码文档

    verilog代码文档的内容需求 生成文档的实现思路 依据verilog源文件中的关键代码及其注释 使用脚本命令生成代码文档 跟Doxygen工具功能类似 针对的场景是工程里的代码没有文档 阅读不方便 注释没有章法 代码越长 阅读直观感受越
  • RIP综合实验

    配置IP RI r1 int g 0 0 0 r1 GigabitEthernet0 0 0 ip address 12 0 0 1 24 Apr 6 2022 13 18 35 08 00 r1 01IFNET 4 LINK STATE
  • selenium数据提取学习(1)

    import time from selenium import webdriver 设置浏览器 driver webdriver Edge 控制浏览器访问地址 driver get https www baidu com time sle
  • 【DTale】数据分析强大工具DTale的使用

    简单介绍 使用dtale 启动 数据加载 功能介绍 主菜单选项 0 切换语言 1 创建列 2 汇总数据 3 缺失率分析 4 绘图 5 高亮功能 6 代码导出 数据导出 列菜单功能 1 冻结 2 隐藏和删除 3 替换和类型转换 4 描述性统计
  • tomcat的多实例和动静分离

    多实例 在一台服务器上有多个tomcat服务 配置成全局变量 方便后面传参 安装tomcat 安装好 jdk后编译安装tomcat cd opt tar zxvf apache tomcat 9 0 16 tar gz mkdir usr
  • android蓝牙键盘光标,罗技K810背光蓝牙键盘快捷键大全

    最近入手了一款罗技K810背光蓝牙键盘 该怎么使用键盘的快捷键实现快捷操作呢 下面我们就来看看罗技K810背光蓝牙键盘快捷键大全 需要的朋友可以参考下 一 PC版键盘上的WIN键相当于MAC iOS系统的command键 文本输入状态下 S
  • WiFi6技术细节简介

    WiFi6技术细节简介 WiFi的历史发展 WiFi历史发展中技术的迭代 WiFi6的新型技术优势 OFDMA 双向MU MMIO 多用户多输入输出 1024QAM 空间频率复用SR BSS Coloring WAP3 实际使用带来的用户体
  • docker: Error response from daemon: could not select device driver ““ with capabilities: [[gpu]].

    需要安装nvidia container toolkit或nvidia container runtime 包含nvidia container toolkit distribution etc os release echo ID VER
  • 使用 React Hooks + mock + antd构建一个完整且漂亮的 todoList

    实现效果 搭建项目 使用 create react app 快速创建一个项目 删除不必要的文件 保留文件如下 目录说明 index js 项目入口文件 index less 样式 mock js 模拟 todo 数据 TodoList js
  • 6基于二阶锥规划的主动配电网最优潮流求解

    matlab代码 6 基于二阶锥规划的主动配电网最优潮流求解 参考文献 主动配电网多源协同运行优化研究 乔珊 摘要 最优潮流研究在配 电网规划运行 中不可或缺 且在大量分布式能源接入 的主动配 电网环境下尤 为重要 传统的启发式算法 在全局
  • statsmodels.regression.linear_model.RegressionResults

    statsmodels regression linear model RegressionResults class statsmodels regression linear model RegressionResults model
  • vue上传文件夹,将file类型转为binary类型传参到后台

  • ES6-promise小技巧

    Promise all 从Promise all返回的主promise在所有成员promise都完成后才会执行 如果这些promise中有任何一个被拒绝 reject error 住promise就会被拒绝 并丢弃来自其他所有promise
  • 【Jupyter Notebook】安装及使用

    知识目录 前言 一 Jupyter Notebook安装使用 1 1 Jupyter Notebook的三种打开方式 1 点击Anaconda Prompt打开 2 点击Jupyter Notebook打开 3 使用Powershell打开
  • [计算机毕业设计]机器学习的数据驱动股票价格预测

    前言 大四是整个大学期间最忙碌的时光 一边要忙着准备考研 考公 考教资或者实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的毕设项目越来越难 有不少课题是研究生级别难度的 对本科同学来说是充满挑战 为帮助大
  • 算法设计与分析——0/1背包问题

    问题描述 给定n个重量为 w1 w2 wn 价值为 v1 v2 vn 的物品和一个容量为C的背包 0 1背包问题是求这些物品中的一个 最有价值的子集 并且能够装入背包中 基本算法思想 暴力法 用暴力法解决0 1背包问题 需要考虑给定n个物品
  • 概率密度函数

    概率密度函数 Probability Density Function 简称PDF 是描述随机变量的概率分布的函数 它对于连续型随机变量来说是非常重要的概念 PDF可以用来描述变量在不同取值上的概率分布情况 对于一个连续型随机变量X 其概率
  • 记忆化搜索 (蒟蒻练习生)

    定义 记忆化搜索是一种通过记录已经遍历过的状态的信息 从而避免对同一状态重复遍历的搜索实现方式 因为记忆化搜索确保了每个状态只访问一次 它也是一种常见的动态规划实现方式 引入 题目见 NOIP2005 采药 朴素的 DFS 做法 很容易实现
  • Python web自动化测试 —— 文件上传

    文件上传三种方式 一 查看元素标签 如果是input 则可以参照文本框输入的形式进行文件上传 方法 和用户输入是一样的 使用send keys 1 2 3 4 5 步骤 1 找到定位元素 2 输入文件路径 ele driver find e