2023-09-26
开源项目
00

提升开源项目质量与效率:使用 GitHub Actions 自动化流程

相关信息

在开源项目中,质量和效率是至关重要的因素。本文将介绍如何利用 GitHub Actions,结合 ChatGPT Code Review、Autofix、Codecov 和 Publish PyPI 四个强大的 Actions,打造一个自动化流程,提升开源项目的代码质量和发布效率。

2024-02-05
python
00

介绍@classmethod@abstractmethod@property@staticmethod这几个装饰器的使用。

在Python编程中,装饰器是一种强大而灵活的工具,可以在不修改源代码的情况下修改函数或类的行为。本文将介绍几个常用的装饰器,包括@classmethod@abstractmethod@property@staticmethod,并提供代码示例,以帮助你更好地理解它们的用法。

2024-02-05
python
00

背景

APScheduler 是一个强大的Python库,用于实现定时任务调度。然而,当我们在使用APScheduler时,可能会遇到一个常见的错误:MaxInstancesReachedError。这个错误通常发生在我们设置了大量的任务,而APScheduler无法同时处理所有任务的情况下。在本文中,我将介绍如何优化任务设定,以避免这个错误的产生。

问题

先来看一段报错描述

skipped: maximum number of running instances reached (1)

shell
Execution of job "task_send_pic_message (trigger: cron[hour='6', minute='0', second='0'], next run at: 2024-1-31 06:00:00 CST)" skipped: maximum number of running instances reached (1) Execution of job "task_send_pic_message (trigger: cron[hour='21', minute='0', second='0'], next run at: 2024-1-31 21:00:00 CST)" skipped: maximum number of running instances reached (1)
2024-02-05
测试开发
00

背景

在自动化测试中,使用Selenium进行浏览器自动化是一种常见的方式。然而,有时候在测试过程中会遇到浏览器的密码保存弹窗,这可能会干扰到自动化流程的进行。本文将介绍如何使用SeleniumChromeOptions来去除谷歌浏览器的密码保存弹窗。

如下图所示,在自动化流程中这个弹窗会固定在右上角阻挡页面操作!

image.png

准备工作

在开始之前,请确保已经完成以下准备工作:

  1. 安装最新版本的Chrome浏览器。
  2. 下载并安装与的Chrome浏览器版本匹配的Chromedriver驱动程序。

    最新的chromedriver下载地址:https://googlechromelabs.github.io/chrome-for-testing/

image.png

  1. 安装Selenium库,可以使用以下命令进行安装:

    pip install selenium
2023-12-07
python
00

Python 对象序列化技术

对象序列化是指将对象从内存转换为字节流的过程,以实现对象的持久化存储和网络传输。它在许多场景中都非常重要,比如远程调用、长期数据存储等。

在Python中,我们主要使用pickle和marshal这两个模块来实现对象的序列化和反序列化。我们来看看这两个模块的工作原理以及优缺点对比。

在自动化测试中的应用

测试数据存储和读取

  • 自动化测试通常需要大量测试数据作为输入。对象序列化可以对测试数据进行存储和读取,方便测试数据的管理和重复利用。

  • 例如使用pickle将测试用例的输入输出数据序列化到文件中,测试执行时直接加载这些序列化的数据进行测试。