自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(565)
  • 收藏
  • 关注

原创 Allure插件常用方法介绍

Allure是一个强大的测试报告框架,提供了一系列方法来生成漂亮、交互式的测试报告。下面是Allure插件的一些常用方法的详细介绍:attach:将附件添加到报告中。step:创建一个测试步骤。feature:指定测试用例所属的功能特性。story:指定测试用例所属的用户故事。issue:指定测试用例相关的问题或缺陷。severity:指定测试用例的严重程度。link:添加一个链接到测试报告中。这些只是Allure插件的一小部分方法,它们可以帮助您创建更具可读性和可视化效果的测试报告。

2024-04-24 17:42:13 776

原创 Allure报告显示TREND和History内容

即,不直接覆盖原有文件,而是将新文件保存为新的文件名或保存在不同的子目录中。这样,你可以保留所有历史版本的数据,而不仅仅是最新的20份。如果你定期遵循这样的流程,Allure将每次保留来自最新20份报告的数据在allure-results/history中。这样,即使文件的基本名称相同,由于后缀的不同,也不会覆盖原有的文件。如果历史数据的数量超过了20份,你可以删除最旧的一些报告数据,以确保只保留最新的20份。这样,当生成新的报告时,Allure将能够访问到这些历史数据并在报告中显示趋势。

2024-04-24 15:08:40 858

原创 Python使用Grab模块和Beautiful Soup模块抓取网络数据、解析HTML内容

************************************************************************Python Grab 内置解析器 解析HTML网页内容********************************:Beautiful Soup 可以解析 HTML 和 XML 文档,能够将复杂的网页结构转换为一个 Python 对象的层次结构,方便提取其中的数据。------------------------标题: 百度一下,你就知道。

2024-04-23 10:09:55 519

原创 Python 实现 Mock 数据功能(模拟真实对象的行为)

当你需要在 Python 中测试某些代码时,有时你希望模拟(或者说替换)某些部分,以便更好地控制测试环境。Mock 对象可以模拟真实对象的行为,使你能够在测试中对其进行配置,以便更容易地进行测试。让我们以一个简单的例子来说明如何在 Python 中使用 Mock 功能。假设你有一个简单的加法函数,并使用 Mock 功能来测试。属性配置了 Mock 对象的行为,使其在调用时返回预先设定的值。最后,我们使用 Mock 对象调用了被测试的。,并且使用了 Mock 功能来测试。函数的行为,而不依赖于真实的实现。

2024-04-22 15:53:01 132

原创 pytest使用 pytest-rerunfailures 插件实现失败用例重跑功能

使用 pytest 进行测试时,你可以通过安装并配置 pytest-rerunfailures 插件来实现失败用例重跑功能。在这个示例中,我们设置了重试次数为 2 次。如果某个测试用例失败,则会在失败后重新运行该测试用例两次。通过以上步骤,你就成功地使用 pytest-rerunfailures 插件实现了失败用例重跑功能。测试用例失败了,然后在重试两次后依然失败了。其他测试用例通过了。则是一个总是失败的测试用例。是一个参数化测试用例,而。如上所示,在第一次运行时,假设你有一个测试文件。

2024-04-22 14:36:05 279

原创 Python使用random模块随机生成ip、端口、字符串

这两个字符串常量是 Python 内置的,分别表示了字母和数字的字符集。函数的第一个参数是一个可迭代对象,表示抽样的来源。在这里,我们将字母和数字和特殊符号组合在一起,构成了一个包含所有可能字符的序列。在这里,范围是从 0 到 255,即一个 IPv4 地址中的每个部分的取值范围。是 Python 中用于生成随机抽样的函数之一,它可以从给定的序列中进行有放回或无放回的抽样,生成指定数量的元素。的作用是生成一个包含四个随机整数字符串的列表,这个列表代表了一个随机的 IPv4 地址的各个部分。

2024-04-22 11:31:03 332

原创 介绍TCP三次握手、传输数据、四次挥手标志为确认号变化规律

在整个过程中,序列号和确认号的变化规律确保了数据的顺序性和可靠性。每次发送数据包时,发送方都会将当前序列号加1,并在接收方确认后,接收方会发送一个带有下一个期望序列号的确认包。在整个过程中,序列号和确认号的变化始终保持着连续性,确保了数据的正确顺序和可靠性。每个数据包都有一个唯一的序列号,接收方在发送确认包时,会指定下一个期望接收的序列号。这种机制保证了数据的完整性和顺序性,使得TCP成为一个可靠的传输协议。TCP协议的三次握手是一个关键过程,用于在客户端和服务器之间建立可靠的连接。

2024-04-22 09:39:08 337

原创 介绍TCP窗口

如果接收方的处理速度跟不上发送方的速度,TCP窗口可能会减小,以便发送方减缓发送速度,以防止数据丢失或拥塞。:TCP会通过接收到的确认信息来估计网络的延迟和丢包率,根据这些信息来调整发送速率和窗口大小,以尽量保持网络的稳定性和吞吐量。总之,TCP协议具有自适应性,能够根据网络条件和接收方的反馈动态调整发送速率和窗口大小,以提供最佳的性能和可靠性。:如果网络出现拥塞或丢包,TCP会根据拥塞控制算法自动调整窗口大小,以减少发送速率,从而降低网络拥塞的程度。

2024-04-19 10:52:34 300 1

原创 介绍TCP协议标志位

TCP协议中的控制位(Flags)是TCP头部中的6个标志位,用于控制TCP连接的建立、维护和终止过程,以及在数据传输中的一些特定行为。这些控制位的组合和状态变化规则定义了TCP连接的建立、维护和关闭过程,以及在数据传输中的一些特定行为,确保了TCP连接的可靠性和稳定性。总的来说,ECE和CWR用于拥塞控制,帮助TCP协议适应网络拥塞情况,而NS则是为了增强TCP协议的安全性而预留的一个标志位。

2024-04-18 10:55:30 261 1

原创 Excel使用 CONCATENATE 函数或“&”符号拼接多列数据

如果你想在Excel中拼接多列数据,你可以使用Excel的函数来实现。其中一个常用的函数是`CONCATENATE`函数或者更简洁的`&`符号。这将达到与 CONCATENATE 函数相同的效果,但使用了更简洁的语法。然后,你可以将这些公式拖动或复制到其他单元格,以便拼接整个数据集中的多列数据。这将拼接 A 列、B 列和 C 列的数据,以及一些额外的文本。1. **使用 CONCATENATE 函数:**2. **使用 & 符号:**

2024-04-16 14:07:15 316

原创 Python创建文件并写入内容

Python的文件操作来创建一个.py文件并写入内容。

2024-04-15 18:39:07 104

原创 Python调用random模块choice()函数随机选择数组中的元素

模块来获取数组中的随机值。如果数组是列表或者其他类似的序列,你可以使用。函数来随机选择一个元素。中随机选择一个元素,并将其赋值给。在Python中,你可以使用。

2024-04-15 17:37:20 97 1

原创 寄存器偏移地址介绍

总的来说,寄存器偏移地址是用于访问内存映射设备或寄存器映射设备中特定寄存器的地址偏移量,通过与基地址相加,可以确定要访问的寄存器的物理地址,从而进行读写操作。为了方便软件开发者访问设备的寄存器,通常会提供寄存器映射表,该表列出了每个寄存器的偏移地址以及其功能描述,开发者可以根据表格中的信息进行寄存器的读写操作。要访问特定寄存器,通常需要将基地址与寄存器偏移地址相加,生成要访问的寄存器的物理地址,然后通过该物理地址进行读取或写入操作。是该虚拟设备的基地址,所有寄存器的偏移地址都是相对于这个基地址而言的。

2024-04-15 10:07:18 346

原创 AXI4总线信号

AXI4(Advanced eXtensible Interface 4)是一种高性能、低功耗、可扩展的总线协议,由ARM公司推出。它被广泛应用于各种数字系统中,特别是嵌入式系统中。AXI4总线协议定义了一套规范,用于描述多个主设备和多个从设备之间的通信机制。主设备是指能发起读写事务的设备,而从设备是指接收并响应这些事务的设备。AXI4总线协议提供了高带宽、低延迟的数据传输方式,同时支持多个主设备和多个从设备的并发操作。

2024-04-10 11:32:27 555 1

原创 Visual Studio Code SSH 连接远程服务器

2. **配置 SSH**:在 VS Code 中,点击左下角的 "Remote Explorer" 图标,然后点击上方的齿轮图标,选择 "SSH Targets: Open SSH Config"。3. **连接远程服务器**:在 "Remote Explorer" 中,点击上方的连接图标,选择 "Connect to Host"。4. **免密登录**:一旦连接成功,VS Code 将使用你的私钥文件进行身份验证。确保将 "服务器IP地址或域名"、"用户名" 和 "本地私钥文件路径" 替换为实际的值。

2024-04-09 09:51:29 376 2

原创 Python 的 subprocess.Popen 指定目录启动程序输出结果写入文件

标准输出(stdout)和标准错误(stderr):子进程的输出会被解码为文本,而不是字节流。标准输出(stdout)和标准错误(stderr):子进程的输出会被解码为文本,而不是字节流。标准输入(stdin):如果你向子进程发送文本数据,Python 会将其编码为字节流并传递给子进程的标准输入。的作用是在 Python 中使用文本模式处理标准输入、输出和错误流,使得处理文本数据更加方便。的作用是在 Python 中使用文本模式处理标准输入、输出和错误流,使得处理文本数据更加方便。

2024-03-27 11:07:44 977

原创 Python subprocess 模块poll() 函数、wait() 函数、terminate() 函数介绍

一、poll()一、poll()

2024-03-26 17:11:32 546

原创 python修改txt文件指定行内容

在这个示例中,我们首先读取了文件的所有行内容,然后修改了第三行(索引为2)的内容为 "New content for line 3",最后将修改后的内容写回到文件中。

2024-03-22 10:49:06 335

原创 python实现 linux 执行命令./test启动进程,进程运行中,输入参数s, 再输入参数1, 再输入参数exit, 获取进程运行结果重定向写入到文件

在这段代码中,我们使用 `subprocess.Popen` 来启动 `./test` 进程,并使用 `stdin.write` 方法向进程输入参数,通过 `stdin.flush` 确保输入被发送到进程。要在 Python 中实现执行 `./test` 启动进程,并在进程运行中依次输入参数 `s`、`1`,最后输入参数 `exit`,并将进程的输出结果重定向写入到文件,你可以使用 `subprocess` 模块。你可以直接执行这段代码来实现输入参数、控制进程功能,并将进程的输出结果写入到文件中。

2024-03-21 18:52:41 371

原创 Python测试框架Hypothesis 常用函数、方法

Hypothesis 是一个基于属性的测试框架,提供了各种函数和方法来帮助生成测试数据、定义属性和执行测试。

2024-03-21 17:14:30 309

原创 Python基于属性的测试库Hypothesis 介绍和使用

测试用例中我们定义了两个随机浮点数作为输入,并使用 `assert` 语句验证了被测函数 `divide` 的行为是否满足属性(即除法的逆运算)。在 Python 中,Hypothesis 是一个基于属性的测试库,它用于支持测试驱动开发(TDD)和属性-based testing。它提供了丰富的数据生成策略,使得测试用例可以覆盖更广泛的输入空间,从而提高测试的质量和全面性。通过这种方式,Hypothesis 将自动生成大量的随机测试数据,并运行测试函数,以便发现潜在的 bug 或异常情况。

2024-03-21 16:44:42 386

原创 Python生成器模式

在 Python 中,生成器模式的实现原理主要基于生成器函数和迭代器协议。生成器函数是一种特殊的函数,它可以在需要时生成值并保持函数的执行状态,从而能够动态生成数据序列。生成器函数使用yield关键字来产生值,每次调用生成器函数时会返回一个生成器对象。

2024-03-20 10:59:39 547

原创 Linux普通用户,上传文件为何必须选择普通用户所在目录

这是出于安全性考虑的一种限制,目的是确保用户无法随意修改系统文件或其他用户的文件。当一个普通用户登录时,其当前工作目录通常是其家目录,因此上传文件时会默认保存到当前工作目录,即普通用户所在目录。如果想要上传文件到其他目录,需要确保该目录对应的权限允许该用户进行写操作,否则会受到权限拒绝的错误。在 Linux 中,超级用户(root 用户)可以在系统的任何目录进行写操作,因为超级用户拥有最高权限。但对于普通用户来说,上传文件必须选择普通用户所在目录或有相应权限的目录进行操作,以遵守文件系统权限的规则。

2024-03-19 11:37:17 187

原创 Python使用Scapy库修改pcap包MAC地址

此外,如果你需要更直观的工具来修改pcap包中的MAC地址,你也可以考虑使用Wireshark这样的网络协议分析器。请注意,修改pcap文件中的MAC地址可能会导致数据包在网络中不被正确处理,因为MAC地址是用于在网络层进行地址解析的。在修改MAC地址后,你可能需要重新计算数据包的校验和或进行其他必要的调整,以确保数据包在网络中的正确传输。脚本将读取原始pcap文件,修改每个数据包的MAC地址,并将修改后的数据包保存到一个新的pcap文件中。替换为你要修改的原始pcap文件的路径,将。"新的源MAC地址"

2024-03-18 17:05:42 397

原创 Python尝试循环连接服务器,如果连接成功则退出,如果超过3次连接失败则退出

下面是一个使用Python实现的程序,可以实现你描述的功能:通过SSH连接服务器并重启服务器,然后循环尝试连接服务器,如果连接成功则退出,如果超过3次连接失败则退出。在这个示例中,我们首先通过SSH连接服务器并重启服务器,然后循环尝试连接服务器。首先,请确保你已经安装了`paramiko`库,它是一个用于SSH连接的Python库。- `your_server_hostname_or_ip`:目标服务器的主机名或IP地址。- `your_password`:SSH连接使用的密码。

2024-03-14 15:33:34 385

原创 python 使用rsplit从右边开始分割2次,截取最后2部分以外的内容使用斜杠连接起来

在这个示例中,`rsplit()` 方法按照 `/` 进行分割,然后我们选择除了最后两个部分以外的部分并用 `/` 连接起来,得到想要的结果。要截取字符串中最后两个斜杠之前的内容,你可以使用 Python 的字符串分割和切片功能。

2024-03-14 10:11:47 119

原创 Python使用openpyxl库或pandas库创建.xlsx格式的Excel文件,并向文件不同的sheet按行或按列写入内容

【代码】Python使用openpyxl库或pandas库创建.xlsx格式的Excel文件,并向文件不同的sheet按行或按列写入内容。

2024-03-13 14:52:31 645

原创 Linux命令grep -A 9999 “指定字符串“ 文件名 | sed -n ‘/指定字符串/,$p‘ > 新文件名。查找包含指定字符串的行,并将该行之后的内容保存到另一个文件中

这个命令的作用是先用`grep`找到包含指定字符串的行以及其后的所有内容(`-A 9999`表示匹配行及其后的最大行数),然后通过`sed`命令进行进一步处理,只输出从匹配行到末尾的内容,并将其保存到新文件中。要在Linux中查找包含指定字符串的行,并将该行之后的内容保存到另一个文件中,你可以使用`grep`命令结合`-A`选项和`sed`命令来实现。grep -A 9999 "指定字符串" example.txt | sed -n '/指定字符串/,$p' > output.txt。

2024-03-12 15:25:33 153

原创 Python使用int()函数将16进制或2进制转换为10进制数

在Python中,可以使用int()函数将十六进制数转换为十进制数。这段代码首先将十六进制数1f4表示为字符串"1f4",然后使用int()函数将其转换为十进制数,结果为500。print(decimal_number) # 输出为500。

2024-03-12 11:35:18 718

原创 Alveo 概念拓扑结构

在 Alveo 加速卡中,涉及到的概念拓扑结构主要包括 Alveo 卡上的各个关键组件以及与主机系统之间的通信结构。

2024-03-08 15:33:00 645

原创 Alveo U200 和 U250 数据中心加速器卡硬件原理图

在 U200 中,PCIe 接口用于与主机系统通信,以便通过 PCIe 总线与 FPGA 进行数据交换和控制。在 U200 中,DDR 用于存储 FPGA 运行时所需的数据和程序等。闪存:闪存是一种非易失性存储器,用于存储 FPGA 的配置文件和其它的固件。在 U200 中,闪存用于存储 FPGA 的逻辑配置文件,以便在开机时加载并初始化 FPGA。维护端口:维护端口是一种特殊的串行通信接口,用于与 U200 进行调试和配置。时钟:U200 中包含多个时钟源,用于为 FPGA 和其他器件提供时钟信号。

2024-03-08 15:15:39 544

原创 Linux命令 执行后再输入 y, 或 password 等多个参数 的组合命令

echo "password")` 创建一个子 shell,在其中依次执行 `echo "y"` 和 `echo "password"`,将它们的输出合并起来。要在执行 Linux 命令后输入多个参数,比如 "y"、密码等,您可以结合使用 `echo`、`printf`、Here Document、管道和重定向等技巧来实现。如果需要输入多个参数,只需在命令序列中添加相应的 `echo` 或 `printf` 命令即可。- `echo "y"` 用于输出 "y"。

2024-03-08 09:40:10 145

原创 操作系统-进程

进程模型是操作系统中用于管理和执行进程的一种抽象概念。它描述了操作系统是如何组织和控制进程的,以及进程之间的关系和调度方式。在单任务模型中,操作系统一次只能执行一个进程,进程执行完毕后才能运行下一个进程。这种模型通常用于早期的操作系统,如单用户的DOS系统。多任务模型允许操作系统同时执行多个进程,通过时间片轮转或优先级调度等方式来实现进程间的切换和调度。现代操作系统如Windows、Linux等都采用多任务模型。并发模型强调多个进程同时执行,但不一定要求同时处理多个任务。

2024-03-06 14:49:45 826

原创 Intel网卡

支持虚拟化相关的技术,如SR-IOV(Single Root I/O Virtualization)和VMDq(Virtual Machine Device Queues),以提高在虚拟化环境下的性能和管理效率。:支持不同的以太网速率,如千兆以太网(Gigabit Ethernet)、万兆以太网(10 Gigabit Ethernet)甚至更高速率,或者无线网络速率(如Wi-Fi 6)。Intel的不同配置网卡可能会支持各种不同的功能,具体功能取决于网卡型号和规格。

2024-03-01 17:53:31 286

原创 操作系统-多核原理

传统的单核系统可能使用抢占式调度,但在多核系统中可能需要更复杂的调度算法,如将任务分配到不同的核心上,避免核心间的竞争和资源争夺。在多核系统中,需要使用适当的算法和数据结构来实现高效的信号量,以确保在多核并发访问时能够正确地进行信号量的增减操作。多核系统中,各个核心需要进行数据共享和通信,因此操作系统需要提供高效的通信机制和共享数据的管理,以确保不同核心间的数据一致性和可靠性。操作系统需要优化针对多核处理器的并发性能,例如通过并行化和线程级别的优化来充分利用多核处理器的计算能力,以提高系统的整体性能。

2024-03-01 10:45:38 670

原创 操作系统-输入输出(I/O)原理

通过复合 I/O,可以将多个独立的 I/O 操作组合成一个更大的操作单元,从而减少系统调用的次数,提高系统的性能和效率。通过可编程I/O,用户可以使用编程语言(如C、Python等)对I/O设备进行配置、控制和管理,从而实现更灵活、定制化的I/O操作。专有通道I/O是一种高级的输入输出技术,它通过专门的通道(Channel)来管理和执行I/O操作,提供了更高的性能、可靠性和扩展性。软件I/O层是指计算机系统中处理输入输出操作的软件部分,包括操作系统提供的I/O管理功能和应用程序使用的I/O接口。

2024-02-29 11:46:36 631

原创 Python 使用 MyHDL库 实现FPGA板卡仿真验证

编写 MyHDL 硬件描述:使用 MyHDL 库编写 FPGA 项目的硬件描述,包括顶层模块、信号连接等。编写仿真测试:使用 Python 编写仿真测试脚本,利用 MyHDL 提供的仿真功能对硬件描述进行仿真验证。运行仿真:运行仿真测试脚本,检查功能是否符合预期。

2024-02-28 17:13:13 341

原创 Python 使用 仿真框架cocotb 实现FPGA板卡仿真验证

要使用 Python 结合仿真框架 Cocotb(Co-simulation COrner TestBench)实现 FPGA 板卡的仿真验证,您可以利用 Cocotb 提供的功能来编写测试台和仿真环境,与 Verilog/VHDL 设计进行交互并进行仿真验证。2. **编写 Cocotb 测试脚本**:使用 Python 结合 Cocotb 编写测试脚本,与 Verilog/VHDL 设计进行交互,并定义测试场景和预期结果。通过上述步骤,您可以使用 Cocotb 框架实现 FPGA 设计的仿真验证。

2024-02-28 17:09:53 397

原创 Python 使用 PyRTL库 实现FPGA板卡仿真验证

要使用 Python 结合 PyRTL 库实现 FPGA 板卡的仿真验证,您可以利用 PyRTL 提供的硬件描述语言和仿真功能来进行 FPGA 设计的验证。1. **编写 PyRTL 硬件描述**:使用 PyRTL 库编写 FPGA 项目的硬件描述,包括顶层模块、信号连接等。2. **编写测试脚本**:使用 Python 编写测试脚本,利用 PyRTL 提供的仿真功能对硬件描述进行仿真验证。3. **仿真验证**:运行测试脚本,对硬件描述进行仿真验证,检查功能是否符合预期。Python 测试脚本。

2024-02-28 17:06:45 362

原创 Python使用HDL 模拟器实现 FPGA 板卡的仿真验证

2. **编写测试脚本**:使用 Python 编写测试脚本,通过调用 Verilog 模拟器对 Verilog 设计进行仿真,并生成仿真波形。1. **编写 Verilog 设计**:首先,您需要编写 FPGA 项目所需的 Verilog 设计代码,包括顶层模块、IP 核等。4. **与 FPGA 开发工具集成**:将验证通过的 Verilog 设计加载到 FPGA 开发工具中进行综合、布局和调试。3. **仿真验证**:运行测试脚本,对 Verilog 设计进行仿真验证,检查功能是否符合预期。

2024-02-28 17:00:20 341

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除