自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 pytest的使用入门

控制fixture的前置和后置操作是通过yield关键字进行来区分的,代码在yield前面的属于前置操作,代码在yield后面的属于后置操作。3. allure命令去生成report allure generate ./temp -o ./report --clean。2. pytest生成allure json报告格式 pytest -vs --alluredir ./temp。pytest --html ./report.html 基于pytest-html生成report页面。

2023-11-16 16:21:08 59 1

原创 Jfrog artifactory配置和使用

docker start jfrog-oss 或者 docker start a607d82adca6。启动docker:社区版请用这行命令,暴露多个端口。

2023-11-16 15:58:14 367 1

原创 Selenium的定位总结

例如:/html/body/div 选择 <html> 元素下的 <body> 元素,然后再选择其子节点中的 <div> 元素。语法差异:XPath 使用路径表达式来描述元素的位置,包括 / 和 // 等符号,而CSS选择器使用更类似于CSS样式表的选择器,包括标签名、类名、id等。定位冲突:如果有多个元素具有相同的定位属性,测试框架可能无法确定要选择哪个元素,导致定位冲突。定位表达式错误:定位元素时,使用的XPath或CSS选择器表达式可能包含错误,无法匹配任何元素。使用 @ 符号来访问元素的属性。

2023-10-27 10:25:29 62 1

原创 常见算法(以Python实现)

需要注意的是,快速排序的性能与选取的基准元素有关,如果选择的基准元素不合适,可能导致性能下降。运行示例代码后,您将看到排序后的数组。冒泡排序是一种简单的比较排序算法,其核心思想是不断地比较相邻的两个元素并交换它们的位置,将较大(或较小)的元素逐渐“浮”到数组的一端(冒泡到顶部或底部),从而实现排序。选择排序是不稳定的算法,例如43,89,21,43,28,15,经过选择第一遍排序时候会将第一个43跟最后15对调位置,原来第一个43位置放到第二个43的后面,而后面的排序步骤也不会修改两个43的相对顺序。

2023-10-26 11:40:15 47

原创 Docker入门操作

Docker 是一种开源的容器化平台,用于开发、部署和运行应用程序。它基于容器技术,允许开发者将应用程序及其所有依赖项封装到一个独立的容器中,以确保应用程序在不同环境中的可移植性和一致性。Docker 基于 Linux 容器技术,其中主要使用了 Linux 内核的一些功能,如命名空间(Namespace)和控制组(cgroup),来实现容器的隔离。命名空间允许不同容器拥有各自独立的进程、网络、文件系统、用户等空间,互相隔离,不会相互影响。

2023-10-16 15:41:09 38 1

原创 手机测试ADB入门操作

ADB(Android Debug Bridge)是 Android 开发工具的一部分,用于与 Android 设备或模拟器进行通信和调试,adb包括3部分,客户端(调试PC),服务端(adb.exe程序),手机端(deamon)

2023-10-16 15:22:10 167 1

原创 Ansible入门操作

ubuntu18.04中ansible的入门操作。

2023-10-14 14:28:35 77 1

原创 Python的paramiko中两种登录方法

Paramiko 是一个用于 SSH v2协议的 Python 库,它允许你通过编程方式与远程服务器建立 SSH 连接,并执行远程命令。Paramiko 提供了 SSH 客户端和服务器的实现,支持各种 SSH 认证方法,包括用户名/密码和密钥认证。:Paramiko 提供了 SFTP(SSH 文件传输协议)的实现,可以用于上传和下载文件到和从远程服务器。:你可以使用 Paramiko 连接到远程服务器,执行命令,获取命令的输出,并处理返回结果。用paramiko实现本地与远程主机的文件上传和下载。

2023-10-13 18:55:34 744

原创 Python的协程

在异步代码中,当一个协程等待异步操作完成时,事件循环可以切换到其他协程执行,而不会阻塞整个程序。此外,错误处理也是重要的,你需要处理可能发生的异常,以确保应用程序的稳定性。事件可以触发协程的执行,例如,当网络套接字准备好读取数据时,事件循环可以调用相应的协程进行处理。协程是一种轻量级的线程,是异步编程的一种方式,允许你在程序中执行非阻塞的、并发的任务。:协程是异步编程的核心概念。协程是一种特殊的函数,可以在执行过程中暂停,等待某些操作完成,然后再继续执行。:事件循环是异步编程的引擎,它负责调度协程的执行。

2023-10-13 15:15:13 64

原创 Python的多线程

需要导入threading库中Thread类,例如 from threading import Thread。

2023-10-12 23:22:15 229

原创 Python的多进程

需要导入multiprocessing库中Process类,例如 from multiprocessing import Process。

2023-10-12 19:51:01 227

原创 Python正则表达式处理re模块

方法用于获取正则表达式匹配的文本的子字符串,特别是在正则表达式中使用括号来创建分组时,可以使用。2. group(n): 返回第 n 个括号分组匹配的文本。从字符串的开头开始匹配模式,如果匹配成功则返回匹配对象,否则返回。3. groups(): 返回一个包含所有括号分组匹配文本的元组。返回字符串中所有与模式匹配的非重叠子字符串列表。使用模式分隔字符串,并返回分隔后的子字符串列表。替换字符串中所有与模式匹配的子字符串。方法来获取每个分组匹配的内容。返回整个正则表达式匹配的文本。

2023-10-10 16:18:52 41

原创 Python多线程基础概念

以下是一个使用条件锁的示例,假设有两个线程,一个线程负责生产数据,另一个线程负责消费数据。线程池特别适用于 I/O 密集型任务,例如网络请求、文件读写、数据库访问等,因为在这些任务中,线程通常会等待 I/O 操作完成,此时可以让其他线程执行。线程池是一组线程,用于执行异步任务,可以管理线程的生命周期、任务的提交和执行,以及线程的复用。线程池可以自动调度任务的执行,你只需提交任务给线程池,线程池会自动分配线程来执行任务,无需手动管理线程的启动和停止。线程池负责管理线程的生命周期,包括线程的创建、销毁和复用。

2023-10-10 14:43:58 46

原创 Python的迭代器和生成器

在 Python 中,迭代器(Iterator)是一种对象,它允许你按顺序访问一个可迭代对象(Iterable)中的元素,而不需要一次性将所有元素加载到内存中。总之,迭代器是 Python 中用于按顺序遍历可迭代对象的通用机制,使得你可以有效地处理大型数据集或需要逐个访问元素的情况。生成器(Generator)是 Python 中一种特殊的迭代器,它允许你按需生成值,而不是一次性生成一个完整的序列。当你只需要处理一部分数据时,生成器允许你仅生成和处理你实际需要的数据,而不必为整个数据集进行计算和处理。

2023-10-10 11:44:05 53

原创 Python装饰器

装饰器本质上是一个函数,它接受一个函数作为输入,并返回一个新的函数,通常是对输入函数的增强或修改。8. **API路由**: 在Web框架中,装饰器可以用于将函数映射到特定的URL路由,实现API的路由功能。4. **异常处理**: 装饰器可以用于捕获函数内部的异常并进行处理,以便进行错误处理或日志记录。3. **性能优化**: 装饰器可以用于缓存函数的计算结果,以避免重复计算,提高性能。6. **计时和统计**: 装饰器可以用于测量函数的执行时间,或统计函数的调用次数。是一个装饰器函数,它接受一个函数。

2023-10-08 22:56:59 57 1

空空如也

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

TA关注的人

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