• python自动化测试,下载文件然后进行查询判断并且删除(比较准确!可用于多个重复的文件)


    1、前提:近期在做python的自动化测试,下载某个文件,然后想确认下载文件是否正确,因此做了以下的处理。
    2、环境:谷歌浏览器

    import re
    import time
    import datetime
    from pathlib import Path
    import os
    '''
    使用前提:
    1、需要设置长一点的等待时间,需要等文件下载完才能判断
    2、随便里面有多少个同名文件 都可以进行判断了
    3、以下代码不包括下载的操作。
    4、需要点击下载就进行查询,此处无法进行多个文件同时查询
    5、名字固定不变的文件
    '''


    time.sleep(1)
    #谷歌的默认的下载地址
    result_dir = 'C:\Users\Administrator\Downloads'
    list = os.listdir(result_dir)

    # 重新按时间对目录下的文件进行排序 获取最新下载文件的名字
    list.sort(key=lambda fn: os.path.getmtime(result_dir + "\" + fn))
    #list[-1]的这个地方需要拿的是最后一个文件,也就是时间最新的文件
    file = os.path.join(result_dir, list[-1])
    #这个是获取下载文件的名字,下载时候如果有相同文件 就会带上(1.2....)情况,因此用正则表达式进行去掉括号已经括号的内容
    name = re.sub('(.*?)', "", list[-1]).strip()
    result_name = re.sub('s+', '', name).strip()
    #此处是对于名字的一个判断
    self.assertEqual(result_name,"xxx.xls","文字名称不正确,当前没有下载成功")

    #获取文件的时间:年月日,与当前的年月日进行比较判断是不是已经下载了
    time1=datetime.date.fromtimestamp(os.path.getmtime(result_dir + "\"+list[-1]))
    time2=time1.strftime('%Y%m%d')
    timestr1 = time.strftime('%Y%m%d', time.localtime(time.time()))
    self.assertEqual(time2,timestr1,"时间对比不正确,可能就没有下载成功噢")

    #print(type(list[-1]))
    try:
    #删除文件
    os.remove(Path(file))
    except:
    print("没有出现文件")

  • 相关阅读:
    作业三:模拟 mysql 进行增删改查
    作业一:购物车程序
    作业一:登陆接口
    python输出带颜色详解
    浅谈面向对象开发原则:高内聚,低耦合
    DIV+CSS命名规范
    ModelSim 仿真教程
    [HDL]除法器的设计与仿真(转)
    ModelSim中Altera仿真库的添加(转)
    PictureBox中的Image对象(或者图片)转存到数据库
  • 原文地址:https://www.cnblogs.com/zz-1021/p/14601283.html
Copyright © 2020-2023  润新知