自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

铁马冰河入梦来

人生苦短,俺用Python!

  • 博客(316)
  • 资源 (7)
  • 收藏
  • 关注

原创 Hypium纯血鸿蒙系统 HarmonyOS NEXT自动化测试框架

- type: 设备连接方式,usb-hdc表示使用hdc命令控制设备(默认) -->-- ip: 远端设备地址,ip和port为空时使用本地设备,非空时使用远端设备 -->-- port: 远端设备端口号 -->-- sn: 设备SN号列表,SN之间用分号";"分隔,sn字段为空时使用所有本地设备,非空时使用指定的sn设备 -->-- 指定测试用例目录,为空则默认设置为当前项目下的testcase文件夹 -->

2025-01-04 11:45:16 1845 2

原创 纯血鸿蒙系统 HarmonyOS NEXT自动化测试实践

hdcarkTShypiumhmdriver2 一个鸿蒙自动化测试py库,安装方便,语法简洁鸿蒙自动化测试的查看了文档后,发现hypium是官方的自动化框架,但是安装环境比较复杂,并且他是一整套的测试框架,包括了用例套件的管理与执行等,算是比较重量级的。hmdriver2是一个轻量级的库,流程等都不复杂,先体验一下这个。

2024-11-07 10:20:55 2253 3

原创 Robotframework+Appium+夜神模拟器环境搭建

Windows下Appium自动化环境搭建一 概述Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试。 它使用WebDriver协议驱动iOS,Android应用程序。其具备以下优点:1.可以跨平台同时支持Android、iOS2.支持多种语言,JAVA、Python、PHP、Ruby等等二 环境准备 JDK Ja...

2019-05-24 13:17:15 3028

原创 Vue2+marked.js实现AI流式输出

AI流式输出前端实现。

2025-02-11 10:57:15 3404 18

原创 实时响应的秘密:用Spring Boot轻松实现流式AI输出

WebFlux模块是Spring 5引入的一部分,旨在提供一种新的方式来构建响应式的Web应用程序。它允许你以异步和非阻塞的方式处理HTTP请求,这在处理高并发场景时可以显著提高性能。

2025-01-16 09:49:44 2812

原创 Python 异步编程 asyncio

(异步输入输出)是一种编程模式,它允许程序在等待I/O操作(如文件读写、网络请求等)完成时继续执行其他任务。通过这种方式,可以更有效地利用CPU资源和提高程序的响应速度,尤其是在处理大量并发连接或长时间运行的任务时。 是 Python 的一个库,用于编写并发代码,使用协程、任务和 Futures 来处理 I/O 密集型和高延迟操作正常的发送请求,发送请求后会等待连接建立和服务器响应,这段时间内cpu是空闲的,也无法切换到其他任务asyncio允许当执行的任务遇到IO密集型任务时(如发送请求),cpu空闲,将

2024-12-06 10:17:35 1062

原创 异步编程与同步编程的区别

不使用异步 I/O 时,程序在等待 I/O 操作完成时会阻塞,这可能导致资源浪费和低效的并发处理。而使用异步 I/O,则允许程序在等待 I/O 操作的同时继续执行其他任务,从而提高了资源利用率和程序的整体性能。选择哪种方式取决于具体的应用场景和需求。对于 IO 密集型任务,尤其是那些涉及大量并发操作的应用,异步 I/O 是一个更好的选择。

2024-12-06 09:45:18 587

原创 Python yield关键字

yield是 Python 中的一个,它用于定义生成器函数。生成器是一种特殊的迭代器,它可以在遍历过程中逐步产生值,而不是一次性生成所有值并将其存储在内存中。这使得生成器非常适合处理大量数据或无限序列,因为它们只在需要时才生成下一个值,从而节省了内存。当你在一个函数中使用yield语句时,这个函数就变成了一个生成器函数。调用生成器函数并不会立即执行其中的代码,而是返回一个生成器对象。当对这个生成器对象进行迭代(例如通过for循环或者调用next()

2024-12-04 17:15:29 1041

原创 Pytest框架学习21--fixture总结

@pytest.fixture 是 pytest 测试框架中的一个重要特性,它用于定义测试夹具(fixture),这些夹具可以在测试函数执行前后进行一些准备工作和清理工作。通过使用 @pytest.fixture 装饰器,可以将某些初始化逻辑抽象出来,并且使得这些逻辑能够被多个测试用例共享,从而提高代码的复用性和可维护性。作用设置测试环境:例如配置数据库连接、初始化外部服务等。 准备测试数据:提供测试所需的数据,如用户信息、产品列表等。 模拟外部依赖:当测试难以直接访问外部系统时,可以使用 fi

2024-12-02 14:54:15 873

原创 Pytest框架学习19--参数化2

安装yaml,使用safe_load方法读取文件,解析出数据。

2024-12-02 11:24:31 300

原创 Pytest框架学习20--conftest.py

conftest.py,pytest用例会自动识别该文件,放到项目的根目录下就可以全局目录调用了,如果放到某个package下,那就在该package内有效,可有多个conftest.py。conftest.py可以跨.py文件调用,有多个.py文件调用时,可让conftest.py只调用一次fixture,或调用多次fixture。例如,所有用例都需要登录,可以在conftest中编写后,不用导入其他用例文件,可以直接在每个方法前调用。需要先在一个新文件中编写函数等,然后在使用的文件中导入,然后使用。

2024-11-30 10:57:05 483

原创 PlayWright自动化测试7

在 Python 中,yield关键字用于定义生成器函数,但在pytest的 fixture 中,yield有特定的作用。特别是在pytest的上下文中,yield用于分隔 fixture 的设置(setup)和清理(teardown)逻辑。yield。

2024-11-29 10:52:04 693

原创 PlayWright自动化测试6

Playwright Trace Viewer 是一个 GUI 工具,可让您探索记录的 Playwright 测试跟踪,这意味着您可以在测试的每个操作中前后移动,并直观地查看每个操作期间发生的情况。查看 playwright show-trace trace.zip或。选择录制好的trace.zip文件即可打开。

2024-11-25 17:00:44 341

原创 PlayWright自动化测试5

在需要进行断点的地方可以使用打开控制台,可以使用以下api进行元素定位,看定位是否对。

2024-11-25 15:57:12 385

原创 PlayWright自动化测试4

终端执行上述命令后,打开两个窗口,一个浏览器,一个代码录制窗口,自己操作浏览器,右边就会生成对应的代码,还可切换成不同语言的,操作完成后,可以复制到代码编辑器,运行回放。有name,value,domain,path等,如果不设置domain、path会报错。cookie数据是一个数组,数组中每个元素是一个字典,字典的键是固定的。如果自己定位不到的元素,可以使用录制方式,定位试试。

2024-11-21 11:14:03 203

原创 PlayWright自动化测试3

context 上下文使用browser.new_context() 创建context对象,context之间是相互隔离的,可以理解为轻量级的浏览器实例。它不会与其他浏览器上下文共享 cookies/缓存。如需要不同用户登录同一个网页,不需要创建多个浏览器实例,只需要创建多个context即可。一个browser可以有多个context,一个context可以有多个page,一个page可以有多个framecontext之间隔离,有自己的cookie和浏览器历史和存储。

2024-11-20 10:04:50 412

原创 PlayWright自动化测试2

PlayWright对元素执行操作前,会进行一系列可操作性检查,以确保这些行动按预期运行。它会自动等待所有相关检查通过,然后才执行请求的操作。如果所需的检查未在给定的范围内通过则抛出timeout,操作将失败并显示TimeoutError。playwright通过slow_mo (单位是毫秒)减慢执行速度,它的作用范围是全局的,从启动浏览器到操作元素每个动作都会有等待间隔。

2024-11-19 16:19:01 352

原创 PlayWright自动化测试1

Playwright是一个由Microsoft开发和维护的用于自动化浏览器操作的开源工具,它支持多种浏览器(包括Chromium、Firefox和WebKit等)和多种编程语言(如Python、JavaScript和C#),可以用于测试、爬虫、自动化任务等场景。

2024-11-19 11:40:24 1073

原创 LeetCode141-142环形链1、2⭐️

判断链表是否有环,获取有环链表的入环点,哈希表方法&弗洛伊德龟兔赛跑法

2024-09-03 14:49:18 1005

原创 Vue实现步骤条(el-step)+Popover弹出框

el-steps实现步骤条+el-popover显示提示

2024-08-30 16:43:39 990

原创 LeetCode 128. 最长连续序列 ⭐️

给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为O(n)的算法解决此问题。4最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。9。

2024-08-21 15:05:34 330 1

原创 Leetcode 219. 存在重复元素 II⭐️

哈希表解决存在重复元素二问题

2024-08-20 10:48:49 581

原创 LeetCode 202. 快乐数⭐️

快乐数的解法

2024-08-19 19:53:07 1144 1

原创 LeetCode 15. 三数之和⭐️

给你一个整数数组nums,判断是否存在三元组满足i!= ji!= k且j!= k,同时还满足。请你返回所有和为0且不重复的三元组。答案中不可以包含重复的三元组。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。注意,输出的顺序和三元组的顺序并不重要。[]唯一可能的三元组和不为 0。[[0,0,0]]唯一可能的三元组和为 0。

2024-08-19 10:00:06 177

原创 Leetcode 49 字母异位词分组

给你一个字符串数组,请你将组合在一起。可以按任意顺序返回结果列表。是由重新排列源单词的所有字母得到的一个新单词。

2024-08-16 09:35:44 427

原创 LeetCode 242 有效的字母异位词

给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。若s和t中每个字符出现的次数都相同,则称s和t互为字母异位词。sttrues= "rat",t= "car"falset如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?

2024-08-15 19:11:28 333 1

原创 LeetCode290 单词规律

所以也是同样用两个map,一个记录a:dog这样的映射规律,一个map记录dog:a这样的映射记录。该题思路与LeetCode205 同构字符串一样,都是判断对应关系是否唯一的。当map中key存在时,如果值与当前遍历的值不相同,就返回false。中的每个非空单词之间存在着双向连接的对应规律。里的每个字母和字符串。是否遵循相同的规律。

2024-08-15 09:22:51 369

原创 LeetCode 205 同构字符串

给定两个字符串s和t,判断它们是否是同构的。如果s中的字符可以按某种映射关系替换得到t,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。

2024-08-14 14:01:37 374 1

原创 LeetCode 383. 赎金信

ransomNote和magazine,判断ransomNote能不能由magazine里面的字符构成。如果可以,返回true;否则返回false。magazine中的每个字符只能在ransomNote中使用一次。

2024-08-14 10:48:12 527 1

原创 LeetCode1. 两数之和

给定一个整数数组nums和一个整数目标值target,请你在该数组中找出target的那整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。[0,1]因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。[1,2][0,1]

2024-08-13 10:12:44 264

原创 LeetCode 3 无重复字符的最长子串⭐️

给定一个字符串s,请你找出其中不含有重复字符的的长度。3因为无重复字符的最长子串是"abc",所以其长度为 3。1因为无重复字符的最长子串是"b",所以其长度为 1。3因为无重复字符的最长子串是"wke",所以其长度为 3。请注意,你的答案必须是的长度,"pwke"是一个子序列,不是子串。

2024-08-13 09:55:18 645

原创 LeetCode 链表两数相加⭐️

给你两个的链表,表示两个非负的整数。它们每位数字都是按照的方式存储的,并且每个节点只能存储数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

2024-08-12 11:10:27 1546

原创 字符串的几种创建方式与区别

当且仅当字符串常量池中不存在当前字符串。是常量且没有变量参与。

2024-08-05 09:49:45 289

原创 LeetCode 11. 盛最多水的容器

我们能够发现不管是左指针向右移动一位,还是右指针向左移动一位,容器的底都是一样的,都比原来减少了 1。这种情况下我们想要让指针移动后的容器面积增大,就要使移动后的容器的高尽量大,所以我们选择指针所指的高较小的那个指针进行移动,这样我们就保留了容器较高的那条边,放弃了较小的那条边,以获得有更高的边的机会。在这种情况下想要让容器盛水变多,就只有在容器的高上下功夫。一开始两个指针一个指向开头一个指向结尾,此时容器的底是最大的,接下来随着指针向内移动,会造成容器的底变小,轴共同构成的容器可以容纳最多的水。

2024-08-01 11:26:28 291

原创 LeetCode 167. 两数之和 II - 输入有序数组

使用哈希表,用一个map存元素和元素对应下标,然后判断map中是否包含key为target-numbers[i]的元素,如果在就找到了。因此 index1 = 1, index2 = 2。返回 [1, 2]。因此 index1 = 1, index2 = 2。因此 index1 = 1, index2 = 3。当头+尾>target,说明尾不动的情况下,所有的和都大于target,所以需要,尾向左移。当头+尾

2024-07-31 17:30:06 327

原创 LeetCode 392. 判断子序列

如果有大量输入的 S,称作 S1, S2, ... , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情况下,你会怎样改变代码?思路:快慢指针思想,快指针遍历字符串t,慢指针指向字符串s中的字符,如果t中遇到与s中字符相同的,慢指针移动,否则快指针移动。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。优化版本:特殊场景也可容纳,主要是循环中加了条件,j<t.length();特殊场景s="",或t=""或s="",t=""

2024-07-31 10:30:21 191

原创 Leetcode189. 轮转数组

注意:如果翻转的次数超过了数组长度,实际上与k%size反正次数效果是一样的,所以需要。所以方法就是写一个翻转数组的方法,然后将整个数组翻转0,n-1。可以看做是先将数组翻转[7,6,5,4,3,2,1]向右轮转 1 步: [99,-1,-100,3]向右轮转 2 步: [3,99,-1,-100]然后将前3个数组翻转,后三个数组翻转。然后将前k个元素翻转,0,k-1。然后将后边元素翻转,k,n-1。,将数组中的元素向右轮转。这个题目找到规律就好写点。

2024-07-29 19:38:18 199

原创 Leetcode 169. 多数元素

给定一个大小为n的数组nums,返回其中的多数元素。多数元素是指在数组中出现次数⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。32思路:可以想象成为多帮派投票选取黑帮老大的场景,首先我方选一个人当老大,计数为1再来一个投票人,如果这个人是我方势力,那么计数加1如果不是我方势力,那么计数减一,敌我双方同归于尽1个,这时需要看看我方计数是否已经归0,如果已经归0,说明我方已经没人了,需要重新选新的老大,然后重新开始附摩尔算法。

2024-07-29 10:38:42 1036 1

原创 移除链表中值为val的元素

如果当前值==val,那么就将pre.next指向curr.next,,然后将curr后移,指向curr.next,pre不需要移动,因为curr的pre还是pre。示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5]示例 3: 输入:head = [7,7,7,7], val = 7 输出:[]示例 2: 输入:head = [], val = 1 输出:[]定义一个pre指向当前元素的上一个元素。定义一个curr节点指向当前元素。

2024-07-25 19:51:14 188

原创 字符串不含重复字符的最长子串

* 给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。示例 1:输入: s = "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: s = "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。

2024-07-25 10:04:20 276

mock 介绍及原理,前后端 mock方法

mock 介绍及原理,前后端 mock方法

2023-06-30

微服务的概念了解,了解什么是微服务,微服务常用组件

微服务的概念了解,了解什么是微服务,微服务常用组件

2023-06-30

Echarts学习笔记保姆级教程学完加薪

Echarts学习笔记保姆级教程学完加薪

2022-11-22

Vue学习笔记初中级别保姆级

Vue学习笔记保姆级别

2022-11-22

java.rar黑马java基础笔记

黑马程序员java笔记,看完就可以进行java程序编写,速度下载。基础全覆盖

2020-07-21

android面试宝典

面试必备宝库,自己获取,看完必能找到好工作,快来下载吧

2019-03-13

python面试题目2

python面试题目2代,最新最火热的技术必须掌握,涨工资必备

2018-08-28

Python面试题

最新面试题目汇总,教你面试技巧,轻松面试通过必考必看内容

2018-08-28

爬虫最新总结

最新爬虫总结,非常全面,非常简练,学完可以自己写一个了

2018-08-28

python面试题目

python面试题,面试专用的好面试题目python面试题,面试专用的好面试题目

2018-08-22

空空如也

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

TA关注的人

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