W31-02-excel和logging使用,实现自动登录百度,并搜索雷军

news2024/9/20 17:34:52

接上文:W31-01,本文改为使用excel驱动实现数据驱动维护自动化数据,实现数据与代码分离,主要知识点如下:

1.使用excel相关功能:

pip install openyxl -i  https://pypi.tuna.tsinghua.edu.cn/simple

2.反射获取到用例里面写的关键字函数

主函数上代码,依赖文件见附件:

"""
@Time : 2024/8/10 21:28
@Auth : jany
"""
import traceback
from tools.keywords  import Web
from tools.Logger import path,logger
from tools.Excel import Reader, Writer
def run_case(web, line):
    """
    运行一行用例
    :param web: 关键字对象
    :param line: 一行Excel数据列表
    :return:
    """
    logger.info(line)

    # 第四个单元格式关键字
    method = line[3]
    # 反射获取到用例里面写的关键字函数
    func = getattr(web, method)

    # 获取参数,是一行里面4~6这三个元素
    params = line[4:7]
    # 对参数从右往左找,找最后一个不为空的,然后把所有空的全部截掉
    # 兼容都是空的情况
    index = -1
    for i in range(2, -1, -1):
        if len(params[i]) > 0:
            index = i
            break

    params = params[0:index + 1]
    return func(*params)

# 创建关键字对象
web = Web()

reader = Reader()
writer = Writer()

# 打开一个excel
reader.open_excel(path + 'lib/cases/百度搜索雷军.xlsx')
# 复制新建一个结果文件写入
writer.copy_open(path + 'lib/cases/百度搜索雷军.xlsx', path + 'lib/cases/result-百度搜索雷军.xlsx')
# 获取所有sheet
sheets = reader.get_sheets()
print(sheets)

for sheet in sheets:
    # 设置读取的sheet页面
    reader.set_sheet(sheet)
    writer.set_sheet(sheet)

    # 读取当前sheet的所有行
    lines = reader.readline()
    logger.debug(lines)
    # 遍历每一行,然后执行
    for i in range(len(lines)):
        line = lines[i]
        print(line)
        if len(line[0]) > 0 or len(line[1]) > 0:
            # 分组信息不用跑
            continue

        # 一次跑完,尽量多发现问题
        try:
            res = str(run_case(web, line))
            writer.write(i, 7, 'PASS', 3)
            writer.write(i, 8, res)
        except Exception as e:
            writer.write(i, 7, 'FAIL', 2)
            # # 简单的报错信息
            # writer.write(i, 8, e.__str__())
            # 报错堆栈信息
            writer.write(i, 8, traceback.format_exc())
            logger.exception(e)


# 记得保存
writer.save_close()




跑起来效果图如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2041425.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习——支持向量机(SVM)(1)

目录 一、认识SVM 1. 基本介绍 2. 支持向量机分类器目标 二、线性SVM分类原理(求解损失) 三、重要参数 1. kernel(核函数) 2 .C(硬间隔与软间隔) 四、sklearn中的支持向量机(自查&#…

HTTPS安全吗?来看看HTTPS有多安全

从保护银行网站到在线购物期间保护数据,HTTPS协议在互联网上随处可见。例如当您访问racent.com时,你会发现你是通过安全加密链接来访问网站的。这种安全链接会触发浏览器的网址栏旁边显示安全挂锁图标。 但HTTPS真的安全吗? 如果你想快速得…

【算法速刷(7/100)】LeetCode —— 200.岛屿数量

这题是典型的深搜题&#xff0c;只需要额外记录每个格子是否被搜索过&#xff0c;然后挨个进行陆地的深度搜索即可。&#xff08;如果要使用lambda进行递归&#xff0c;需要显式指出变量的模板类型&#xff0c;不能使用auto推导&#xff09; int numIslands(vector<vector&…

vue+ckEditor5 复制粘贴wold文字+图片并保存格式

第一步在vue2项目下安装 npm install --save ckeditor/ckeditor5-build-decoupled-document 第二 项目下新建一个plugins的文件夹将这个包ckeditor5-build-classic放入 &#xff08;包在页面最上方 有个下载按钮 可以下载&#xff09; 刚开始时 ckeditor5-build-classic文件…

ai人工智能伪原创,文章伪原创的不二选择

文章伪原创我们可以通过人工手动去完成&#xff0c;也可以通过伪原创工具去完成&#xff0c;但随着技术的发展&#xff0c;越来越多的人在做文章伪原创处理时都不再选择人工低效率的去完成&#xff0c;而是选择用ai人工智能伪原创工具实现自动完成&#xff0c;这不仅能提升文章…

百元护眼台灯哪家强?看书客、孩视宝和飞利浦护眼台灯哪个好?

护眼台灯顾名思义有着“护眼”功能&#xff0c;因此收到许多家庭的喜爱&#xff0c;许多家长纷纷给孩子选购一台护眼台灯以达到保护视力健康的效果。然而&#xff0c;随着护眼台灯的爆红&#xff0c;市面上大多数护眼灯质量良莠不齐&#xff0c;有着做工粗糙、劣质灯珠导致视力…

面试必备之——TCP/UDP(一)

OSI七层模型、TCP/IP四层五层模型 &#xff08;.森木磊石&#xff09;&#xff08;金美&#xff09; 1、应用层&#xff1a;&#xff08;七层变为三层&#xff09;是用户与网络的交互层&#xff0c;负责提供各种应用程序和服务。协议例如HTTP、FTP、TFTP等。 应用层&#xff1…

同城便民生活小程序源码系统 二手市场+求职招聘+招聘信息 到源码包以及搭建教程

系统概述 同城便民生活小程序源码系统&#xff0c;是一款专为满足城市居民日常需求而设计的综合服务平台。该系统集成了二手市场、求职招聘、招聘信息三大核心模块&#xff0c;旨在通过数字化手段&#xff0c;优化资源配置&#xff0c;促进信息流通&#xff0c;让城市居民的生…

密码学基础:彩虹表技术

文章目录 一、前期准备1.1 前缀知识1.2 工具准备 二、彩虹表技术2.1 什么是彩虹表&#xff1f;2.2 彩虹表预先计算的散列链原理2.3 其他通过加密摘要攻击用户密码的技术2.4 彩虹表存储规格2.6 彩虹表生成、排序、合并和转换命令 三、彩虹表攻击示例3.1 安装 rainbowcrack3.2 生…

Git是如何工作的

Git 是一个分布式的版本控制系统&#xff0c;这意味着它使用多个本地存储库&#xff0c;包括一个集中式存储库和服务器&#xff0c;它在从前端工作中抽象出底层机制方面做得非常出色。虽然 Git 已经演变成一个成熟的版本控制管理系统&#xff0c;但这并不是作者最初的意图&…

网络硬盘录像机NVR程序源码和NVR模组展示及设备开机配置和主界面使用介绍

NVR软硬一体机支持录像设置&#xff0c;还具有录像回放、录像备份和报警设置等多种功能。接下来&#xff0c;我们首先看一下硬件连接&#xff0c;并开机后的基础配置操作。 NVR的优势&#xff08;包括不限于&#xff09;&#xff1a; 1.支持录像回放 支持设置冗余录像&#…

Java开发中使用腾讯云OCR进行身份证识别与COS云存储实践

文章目录 完整代码代码讲解总结 在Java开发中&#xff0c;处理身份证识别和云存储是一项常见的需求&#xff0c;尤其是在需要用户身份验证的应用场景中。今天&#xff0c;我想和大家分享一个实际的案例&#xff0c;展示如何利用腾讯云的OCR服务进行身份证识别&#xff0c;并将识…

记一次:Datawhale AI夏令营-第四期-魔搭-AIGC-Task03

前言&#xff1a;书接上回&#xff0c;前面说了AIGC的了解和精读baseline&#xff0c;那么我们可以再次的抽丝拔茧&#xff0c;开始了解GUI部分和微调部分。 一、ComfyUI应用部分 1、什么是GUI&#xff1f; 2、什么是ComfyUI&#xff1f; 3、ComfyUI核心模块 4、ComfyUI图片生…

搭建高可用OpenStack(Queen版)集群(七)之部署dashbord(Horizon)控制节点集群

一、搭建高可用OpenStack&#xff08;Queen版&#xff09;集群之部署dashbord&#xff08;Horizon&#xff09;控制节点集群 一、Dashboard(horizon)简介 Dashboard(horizon)是一个web接口&#xff0c;使得云平台管理员以及用户可以管理不同的openstack资源及服务。 二、部署da…

AAAI Reproducibility Checklist Latex 模板

官网介绍 AAAI-25 Reproducibility Checklist - AAAI This paper: Includes a conceptual outline and/or pseudocode description of AI methods introduced (yes/partial/no/NA)Clearly delineates statements that are opinions, hypothesis, and speculation from object…

Science Robotics封面 | 当机器人学会用‘快照‘导航,轻重量小内存实现‘长途跋涉‘

一个仅重56克的微型无人机实现了自主视觉导航&#xff0c;这听起来似乎不可思议。 然而&#xff0c;荷兰代尔夫特理工大学的研究人员通过向大自然学习&#xff0c;成功让这样一个轻如鸿毛的小家伙完成了长达100米的自主视觉路径跟随。 这一突破性成果不仅为微型机器人的自主导…

【Vue3】高颜值后台管理模板推荐

ELP - 权限管理系统 基于Vue 3框架与PrimeVue UI组件库技术精心构建的高颜值后台权限管理系统模板。该模板系统已成功实现基于RBAC&#xff08;Role-Based Access Control&#xff09;模型的权限管理系统和字典数据管理模块&#xff0c;后端则使用了Spring Boot框架&#xff0…

008 | 基于RNN和LSTM的贵州茅台股票开盘价预测

&#x1f449;&#x1f449;&#x1f449; 《玩转Python金融量化专栏》&#x1f448;&#x1f448;&#x1f448; 订阅本专栏的可以下载对应的代码和数据集 &#x1f680; 上一篇&#x1f31f; 下一篇⬅️ 007 期权定价与布莱克-斯科尔斯计算009 上证50ETF基金数据分析及预测…

WebRTC音视频开发读书笔记(一)

一、基本概念 WebRTC(Web Real-Time Communication&#xff0c;网页即时通信)于2011年6月1日开源&#xff0c;并被纳入万维网联盟的W3C推荐标准&#xff0c;它通过简单API为浏览器和移动应用提供实时通信RTC功能。 1、特点 跨平台&#xff1a;可以在Web&#xff0c;Android、…

Unity扩展 Text 彩虹文本

本文章用于原生组件 Text 的扩展 TextRainbow&#xff0c;对于新版TextMeshPro不适用。 一、效果预览图&#xff1a; 默认&#xff1a; 随机&#xff1a; 循环&#xff1a; 二、原理 通过强制刷新顶点数据&#xff0c;来修改颜色。 通过Unity中自带的 BaseMeshEffect 抽…