zoukankan      html  css  js  c++  java
  • python自动化上传文件

    零基础转行测试交流群631450326

    在UI测试中,经常会涉及到文件上传,文件上传一般包含的文件是图片,视频以及如csv,excel,记事本等文件,文件上传的实现大体分为两种,一种是input标签,一种非input标签。
    非input如下展示
    def upLoad_File(self, filePath):
    """
    使用 python 的 win32api,win32con 模拟按键输入,实现文件上传操作。
    :param webEle: 页面中的上传文件按钮,是已经获取到的对象
    :param filePath: 要上传的文件地址,绝对路径。如:D:\timg (1).jpg
    """
    pyperclip.copy(filePath) # 复制文件路径到剪切板

    time.sleep(3) # 等待程序加载 时间 看你电脑的速度 单位(秒)
    # 发送 ctrl(17) + V(86)按钮
    win32api.keybd_event(17, 0, 0, 0)
    win32api.keybd_event(86, 0, 0, 0)
    win32api.keybd_event(86, 0, win32con.KEYEVENTF_KEYUP, 0) # 松开按键
    win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0)
    time.sleep(1)
    win32api.keybd_event(13, 0, 0, 0) # (回车)
    win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0) # 松开按键
    win32api.keybd_event(13, 0, 0, 0) # (回车)
    win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0)
    time.sleep(2)
    webEle.click()  # 点击上传图片按钮
    调用上传文件函数upLoad_File(r'D:\timg (1).jpg')
    
    

    input标签上传方式:send_keys()自动化上传

    简单的input标签上传方式要使用自动化上传不难,先定位到上传按钮,然后send_keys把路径作为值给传进去就好了。

    例如我们找到那个控制上传的input标签,例如<input type="file" name="upload">这样的,然后对这个按钮进行定位再传路径:

    driver.find_element_by_name("upload").send_keys('D:\filename.txt')

    这种方式很简单,只要有input标签一般都可以通过这种方式简单的一条语句就可以实现。

    
    
    
    
    


  • 相关阅读:
    Python 元组
    Python 字典
    Python 列表
    Python 数字(函数)
    Python 序列操作符与函数(字符串)
    JavaScript使用IEEE 标准进行二进制浮点运算,产生莫名错误
    网站用户体验要点(翻译理论)
    去掉checkbox边框的方法
    WPF数据模板样式选择器
    JS中年份问题的纠结!
  • 原文地址:https://www.cnblogs.com/LtTest/p/14686309.html
Copyright © 2011-2022 走看看