• 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标签一般都可以通过这种方式简单的一条语句就可以实现。

    
    
    
    
    


  • 相关阅读:
    实战SQL Server 2005镜像配置全过程
    Sql Server 主从数据库配置
    Windows server2003 + sql server2005 集群配置安装
    windows配置nginx实现负载均衡集群
    Nginx 在windows下配合iis搭建负载均衡过程 [转]
    服务器后端开发系列——《实战Memcached内存缓存系统》
    一步一步配置NLB(续)之深入测试
    一步一步配置NLB
    Hadoop MapReduceV2(Yarn) 框架简介[转]
    亿级Web系统搭建——单机到分布式集群[转]
  • 原文地址:https://www.cnblogs.com/LtTest/p/14686309.html
Copyright © 2020-2023  润新知