自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 15. 三数之和

给你一个整数数组 nums ,判断是否存在三元组numsinumsjnumsk]]满足i!ji!k且j!k,同时还满足numsinumsjnumsk==0。请你返回所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。

2023-04-14 21:19:14 484 1

原创 Python assert实现软件测试

在功能测试中,测试代码的长度比被测代码的长度还要长,这是软件测试中,尤其是功能测试部分常见的现象。多数情况下,问题不会隐藏在常用的使用场景,而多隐藏在这些不常见的使用场景中,所以针对这些特殊使用场景的测试用例的设计需要多下功夫。如果我们是 import(引入)该模块,case 是不会执行的,即第 3 行开始的块是不会执行的,所以包含在该块内的测试用例定义不会被看到,测试用例也不会被执行。== 2. 不在源代码中进行测试,在单独的文件中写测试用例代码==以下是一个简单的示例,展示了如何在。

2023-04-13 16:06:09 669

原创 Python 中函数调用的几种方式

【代码】Python 中函数调用的几种方式。

2023-04-13 11:20:41 1242

原创 解决python中import导入自己的包呈现灰色 无效的问题

对于第一种方式,Python会根据模块名在模块搜索路径中查找对应的模块文件,并导入整个模块。而对于第二种方式,Python会根据指定的对象名在模块中查找对应的对象,并将其导入到当前命名空间。打开File–> Setting—> 打开 Console下的Python Console,把选项(Add source roots to PYTHONPAT)点击勾选上。另外,Python中的模块名一般应该使用小写字母,以符合Python的命名规范。建议将文件名和模块名都改为小写字母。

2023-04-13 11:17:29 4587

原创 14. 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。

2023-04-10 21:06:50 257

原创 13. 罗马数字转整数

IVXLCD和M。例如, 罗马数字2写做II,即为两个并列的1。12写做XII,即为XII。$27 $写做XXVII, 即为XXVII。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如4不写做IIII,而是IV。数字1在数字5的左边,所表示的数等于大数5减小数1得到的数值4。同样地,数字9表示为IX。I可以放在V5和X10的左边,来表示4和9。X可以放在L50和C100的左边,来表示40。

2023-04-09 21:51:56 484

原创 12. 整数转罗马数字

IVXLCD和M。例如, 罗马数字2写做II,即为两个并列的1。12写做XII,即为XII。$27 $写做XXVII, 即为XXVII。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如4不写做IIII,而是IV。数字1在数字5的左边,所表示的数等于大数5减小数1得到的数值4。同样地,数字9表示为IX。I可以放在V5和X10的左边,来表示4和9。X可以放在L50和C100的左边,来表示40。

2023-04-09 16:55:32 478

原创 11. 盛最多水的容器

给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是i0和iheighti])。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。

2023-04-07 20:43:30 414

原创 9. 回文数

给你一个整数x,如果x是一个回文整数,返回true;否则,返回false。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

2023-04-03 17:09:03 249

原创 8. 字符串转换整数 (atoi)

请你来实现一个myAtoistrings函数,使其能将字符串转换成一个32位有符号整数(类似CC中的atoi函数)。

2023-04-03 16:03:34 474

原创 7. 整数反转

当两个操作数都为整数时,// 返回一个整数,表示整数除法的结果向下取整的值。对于 -123 // 10,同样是进行整数除法运算,结果为 -12.3,向下取整的值为 -13,因此该运算的结果为 -13。例如,对于 123 // 10 来说,整数除法的结果为 12.3,向下取整的值为 12,因此该运算的结果为 12。在Python中,可以使用切片(slicing)操作对序列(如字符串、列表、元组等)进行切割或抽取子序列。从输入的数字中反复右移推出数字,对于计算结果再推入数字。中的数字部分反转后的结果。

2023-03-31 22:09:00 186

原创 6. N 字形变换

字型依次存入到数组中,再按照行的顺序依次读出来。但是第二种方法的思路为直接将字符存入到新的列表中,该列表由。个字符串中,每一个字符串为一行的数据。当在第一行和最后一行时为转折处,实行逆向存储,改变flag的值。个字符串组成,每一个字符串为一行的数据,直接将列表的内容顺序读出来即可。其实这种思路和二维数组差不多,只不过二维数据是先将字符按。型存储到二维数组中,然后再按行顺序输出一个字符串即可。个字符串组成的数组,将字符依次分别顺序存储到。第三种方法也类似于第二种方法,建立一个由。来表示该存入列表的哪个位置。

2023-03-30 19:56:35 436

原创 5. 最长回文子串

动态规划算法与我们前面提及的分治算法相似,但是两者之间也有很大区别:分治法将问题划分为互不相交的子问题,递归的求解子问题,再将他们的解组合起来求解原问题的解;分治法还是会做很多重复的不必要的工作,他会反复求解那些公共的子问题,而动态规划算法则对相同的每个子问题只会求解一次,将其结果保存起来,避免一些不必要的计算工作。实际上面代码其实还可以优化一下,在截取的时候,如果截取的长度小于等于目前查找到的最长回文子串,我们可以直接跳过,不需要再判断了,因为即使他是回文子串,也不可能是最长的。

2023-03-24 20:22:21 146

原创 3. 无重复字符的最长字串

其实就是一个队列,比如例题中的 abcabcbb,进入这个队列(窗口)为 abc 满足题目要求,当再进入 a,队列变成了 abca,这时候不满足要求。所以,我们要移动这个队列!我们只要把队列的左边的元素移出就行了,直到满足题目要求!一直维持这样的队列,找出队列出现最长的长度时候,求出解!,请你找出其中不含有重复字符的最长子串的长度。

2023-03-21 20:44:36 112

原创 2. 两数相加

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

2023-03-21 20:06:39 75

原创 1. 两数之和

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

2023-03-20 16:56:03 176

原创 88. 合并两个有序数组

一开始也想到了指针,但是指针太菜了,不会写,之后想的大概思路就是,开头先进行一个判断,后半部分是空的,可以直接覆盖而不会影响结果。方法一之所以要将数组后移和方法三中之所以要使用临时变量,是因为如果直接合并到数组中。中的元素可能会在取出来之前被覆盖,那么如何避免直接覆盖掉原有的元素呢?,分别比较两个数组指针指向的数字大小,将较小的数字存入到新的数组中。:最终,合并后数组不应由函数返回,而是存储在数组。中,使合并后的数组同样按 非递减顺序排列。个元素表示应合并的元素,后。是否为空,如果为空,将。

2023-03-19 21:46:30 488

原创 4. 寻找两个正序数组的中位数

根据一个有序数组的情况,在两个有序数组的情况下,用一条分割线也可以将两个数组划分为两个部分。如果数组的长度为偶数的话,中位线将数组划分为两个子数组,左数组和右数组长度相等,它的中位数为左边数组最大值和右边数组最小值的平均值。如果数组的长度为奇数的话,中位线将数组划分为俩个不等长度的子数组,可以左边数组比右边数组多一个数,也可以右边数组比左边数组多一个数。如果两个有序数组之和为奇数的话,我们规定红线左边部分的个数比右边部分的个数多一个(当然你也可以反着)。合并数组 = [1,2,3] ,中位数 2。

2023-03-17 16:18:52 214

原创 Python-链表输入输出

其中包括两个结点,一个是指向存储在该内存中的字符串的起始地址的指针,另一个是存储下一个结点地址的指针。为了操作方便,就在链表的头部加入一个“头结点”,其指针域中存放第一个数据结点的地址,头指针变量中存放头结点的地址。链表通常是指单链表,单链表是由很多结点组成,其中每一个结点都只有一个指向后继的next指针,最后一个结点的指针指向None,表示链表结束。我们需要确保每一个结点的指针域都指向一个明确的值。一个结点就是一个数据容器,以及指向其他结点的指针,链表就是一个指针,一个简单的结点只有到下一个结点的链接。

2023-03-12 11:23:10 1132

原创 数据库常用函数

RANK、DENSE_RANK以及ROW_NUMBER区别。10 1004 数学 56。2 1001 数学 81。3 1002 英语 75。4 1002 语文 78。5 1002 数学 79。6 1003 数学 90。7 1003 语文 87。8 1003 英语 78。9 1004 英语 90。1003 张五 18。

2022-09-24 23:33:49 409

原创 Appium:ios自动化环境搭建

中,Preferences > Location > Command Line Tools,选择你的xcode版本之后,然后就可以安装成功啦~~在app store下载,Xcode开发ios应用程序所需要的,并且可以操作模拟器,后面需要配置的一些东西也需要xcode。的框架,而appium又引用了该框架,之后我们也会用到,所以这里先点下面的链接下载,下载完解压使用就可以。Command Line Tools是在Xcode中的一款工具,可以在。4. 安装cnpm (有些不能用npm下载的,需要用cnpm)

2022-08-24 10:51:18 1247

翻译 Appium : 原理及Android自动化环境搭建

Appium Server 是 Appium 组织开发的程序,它负责管理手机自动化环境,并且转发自动化程 序的控制指令给手机,并且转发手机给自动化程序的响应消息。这些自动化框架提供了在手机设备上运行的库,可以让程序调用这些库,像人一样自动化操控设备和APP,比如:点击、滑动,模拟各种按键消息等。手机上的自动化代理接收到指令后,调用手机平台的自动化库,执行点击操作,返回点击成功的结果给 Appium Server。自动化程序是由我们来开发的,实现具体的手机自动化功能。

2022-08-24 10:20:41 340

原创 报错 Building for , but the linked and embedded framework was built for iOS + iOS Simulator

遇到此问题, 查询后发现是因为不支持Framework,需要构建XCFramework,但是查询之后这个办法很麻烦,所以尝试重新下载新的WebdriverAgent,然后查到IOS自动化需要下载WebDriverAgent到我们的appium环境下进行编译。现在因为ios的更新版本很高,所以老的Facebook中的webDriverAgent已经不更新维护了。对于测试更高版本的ios系统(12以上),如果你在facebook的github下载进行替换是不会支持的。之后请参考我的另一篇文章。...

2022-08-14 10:48:17 823

原创 Appium:使用真机进行ios自动化测试(最新适用!Mac M2和Xcode版本)

我之前下载过低版本WebdriverAgent,但是配置完运行的时候就报错,具体好像是因为不支持Framework,需要构建XCFramework,但是查询之后这个办法很麻烦,所以尝试重新下载新的WebdriverAgent,然后查到IOS自动化需要下载WebDriverAgent到我们的appium环境下进行编译。对于测试更高版本的ios系统(12以上),如果你在facebook的github下载进行替换是不会支持的。运行前一定要选择和自己手机相适配的系统版本,我这里选择的是iOS15.3。......

2022-08-14 10:45:09 2397 1

原创 sh ./Scripts/bootstrap.sh不成功!

输入命令 sudo sh ./Scripts/bootstrap.sh 但是安装失败!降低nmp版本:输入npm install npm@6.14.10 -g。发现是git的问题:输入 git init。

2022-08-12 14:13:55 616

原创 环境搭建之appium-doctor –ios命令的各种报错

环境搭建之appium-doctor –ios命令的各种报错

2022-08-08 23:09:08 2374

原创 邮件应用:Python邮件发送

smtplib库:smtp是一种简单的邮件传输协议,smtplib是对smtp的简单封装。邮件发送类型为文本、html、附件、图片。五、python之zmail的邮件发送。三、发送带有附件的邮件。四、发送带有图片的邮件。二、发送html邮件。......

2022-08-08 10:39:50 478

原创 selenium:Logging日志器生成+配置应用

3. 第三级别:warning(警告级别,不影响程序:如:用户登录密码错误)5. 第五级别:critical(严重级别,程序崩溃,如:磁盘空间为空)2. handler:处理器(指定日志信息显示在哪里:控制台和文本)4. 第四级别:error(错误级别,普通报错,如:IO操作失败)常用级别:info(正常级别) error(错误级别)1. logger:日志器(程序的入口)1. 第一级别:debug(调试级别)2. 第二级别:info(正常级别)默认级别:warning(警告级别)生成log.log文件。.

2022-08-07 15:43:45 1685

原创 数据库:表链接

select e.id,e.name,gender,salary,join_date,d.name from emp as e right join dept d on e.dept_id=d.id where e.name like '孙%';语法规则:right join 表 on 连接条件(即右表为基表,显示右边全部的和左边与右边相同的)语法规则:left join 表 on 连接条件(即左表为基表,显示左边全部的和右边与左边相同的)(5)右外连接(right join...on)...

2022-08-06 14:15:38 161

原创 数据库:增删改查操作

数据库:增删改查操作。

2022-08-04 15:16:26 5689 1

原创 数据库:Win11安装数据库

如果之前安装过,请彻底卸载干净,再安装新的。

2022-08-04 13:57:48 2329

原创 selenium:Web断言

注意校验的点要为页面中最为关键能够表达此次结果的元素。自动化脚本不写断言,相当于没有执行测试一个效果。断言在流程结束之后进行调用,将自动化脚本实际运行的结果与预期结果进行对比,如果相同则表示运行成功。Python中自带的关键字通过。......

2022-07-30 21:29:55 662

原创 selenium:如何解决打开网页加载时间过长问题

大佬们有没有遇到过一种情况,selenium打开网页后,即使页面已经加载出来可以操作了,但是浏览器地址栏旁边还是在转圈,后面的代码也一直无法往下执行。默认情况下,SeleniumWebDriver在加载页面时,根据正常的加载策略,就是把get地址的页面及所有静态资源都下载完(如css、图片、js等)。eager等待初始HTML文档完全加载和解析,并放弃css、图像和子框架的加载。normal(默认)所有内容加载完成,包括文件、css、js等。几种方案各有千秋,大佬们请根据实际情况自行选择最优方案。...

2022-07-29 21:18:21 9458 3

原创 selenium:JS执行器

在自动化测试领域下非常核心的机制。将实际运行的结果与预期结果进行对比,如果相同则表示运行成功。3、通过if...else...,if成功返回true,else,返回false。一般基于框架的逻辑代码来选择使用。核心的断言表达就是assert,本质意义上而言就是if....else...1、assertPython中自带的关键字通过表达式来进行断言。页面中最为关键能够表达本次结果的元素。断言在UI自动化中,是在流程结束之后进行调用的。............

2022-07-29 14:18:12 721

原创 selenium:三类等待的方法

在做自动化测试,设计测试用例的时候,有时下一步的操作会依赖上一步的结果或者内容,上一步操作成功之后才能进行下一步操作等,执行自动化测试是由机器来执行的,运行中只会考虑到代码运行到哪里,不会考虑什么时候要等一等、缓一缓,为了在脚本在指定的时候可以缓一缓,这时候我们就需要使用等待提升自动化测试的稳定性,来判断上一步操作是否完成,什么时候可以进行下一步操作。否则,上一步操作如果花费的时间较长,还没有完成,就去进行下一步操作,这时就会产生无法定位到元素,元素状态不正确,数据校验结果不正确等异常。..........

2022-07-28 16:51:12 926

原创 selenium:元素基础操作

代码】selenium元素基础操作。

2022-07-28 13:12:58 176

原创 selenium:表单frame切换和句柄窗口切换

在selenium定位的时候,有时候明明觉得定位的方法和代码都没有问题但是就是报错,检查了感觉定位的路径也没问题,但还是定位不到。

2022-07-28 11:55:49 920 1

原创 cannot import name ‘webdriver‘ from ‘selenium‘

因为webdriver是从selenium中导入的,如果文件名中有selenium,那么它在调用的时候就会默认先调用你的文件,真正的webdriver包就导入不了,识别不出来。如果没有安装selenium,直接pipinstallselenium即可。2、检查现在所运行的文件名是否有selenium。1、检查是否安装了selenium。...

2022-07-27 18:09:59 2771

原创 解决Mac下 Python selenium webdriver 无法上传文件的问题

路径问题当前输入法为中文时,导致输入后找不到文件夹,切换英文后正常;直接粘贴mac路径即可,用"/"连接,然而windows下路径用"\"连接。MAC设置--安全与隐私--辅助功能--隐私,打开以下图片中应用程序并勾选上,才能正常控制。...

2022-07-26 20:40:00 897

原创 selenium:8种定位元素的方式

如果同一页面中有多个结构相同的元素,可以用xpath定位)以下四种是根据元素的标签和属性来定位。以下两种是根据超链接的文本定位。

2022-07-25 22:02:02 8221

空空如也

空空如也

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

TA关注的人

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