自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python自动生成姓名

可以使用Python的random库来随机生成中文姓名。

2024-02-27 10:29:41 395

原创 python 随机生成身份证号的两种方法

这里介绍两种方法,第一种是用faker随机生成,这一种是最简单的,直接调用faker里面的函数就可以了,第二种是使用random随机数,来生成,这种就需要直接写了!

2024-02-23 17:50:07 1657 1

原创 Yaml如何做动态参数化

【代码】Yaml如何做动态参数化。

2024-02-23 17:42:07 166

原创 selenium自动化测试如何定位一闪而过的元素,比如提示信息、提交按钮

在当前页面按F12点击控制,在下方输入debugger,点击登录按钮后点击输入debugger的地方按回车,一闪而过的元素就会定住不动就可以定位了。

2024-02-23 17:21:28 284

原创 Python读取excel中测试用例数据

接口自动化测试时,采用excel存储测试用例,python读取excel中测试用例数据。

2023-03-02 15:48:23 467 1

原创 python脚本生成测试数据,批量插入excel文档

应项目上传功能,需要生成1W条测试数据的文档,编写一个简单的脚本造数,分享一下!

2023-02-23 18:41:34 551

原创 selenium表单元素输入值时,出现数值缺失的问题

使用selenium做自动化测试,需要编辑一个表单数据,涉及到多个输入框值的数据,运行脚本输入value后,发现每一个输入框的值都会出现缺失。检查后发现是因为封装的input_send_keys()中定义了clear()方法,只执行了一次删除操作,并未实现清除输入框的效果。...

2022-07-27 17:10:20 2402 1

原创 selenium测试中,定义driver类型

在做WEB UI自动化测试中,经常使用POM设计模式,但是在定义page时会遇到driver不自动提示的情况,给脚本编写增加难度,这个时候我们需要定义driver类型,这样在后续编写脚本时driver调用会自动提示代码导入WebDriver包init初始化方法中,定义driver类型这样就能实现了...

2022-07-13 09:57:20 613

原创 软件测试面试题(持续更新中),欢迎大家一起完善

收集的软件测试面试题(持续更新)

2022-07-04 18:05:18 185

原创 selenium中页面滑动元素至可见的方法

location_once_scrolled_into_view方法可实现页面元素滑动至可见

2022-06-20 14:48:57 2121

原创 selenium自动化测试中js修改页面元素的readonly属性

通过js修改日期的readonly属性

2022-06-16 17:42:53 560

原创 pytest笔记

pytest学习笔记

2022-06-07 15:22:07 227 1

原创 接口自动化框架requests接口二次封装

在做python+requests做接口自动化测试时,我们一般会将requests请求进行二次封装,比如:post请求、get请求、put请求等等,如下''' 接口关键字驱动类,用于提供自动化接口测试的关键字方法'''import jsonimport allureimport jsonpathimport requestsclass ApiKey: # 基于jsonpath获取数据的关键字,用于提取所需要的内容 def get_text(self,data,key

2022-05-31 09:26:26 1459 1

原创 Python中OS模块的基本用法

os.getcwd()# 获取当前的工作路径os.listdir(path)# 传入任意一个path路径,返回的是该路径下所有文件和目录组成的列表os.walk(path)传入任意一个path路径,深层次遍历指定路径下的所有子文件夹,返回的是一个由路径、文件夹列表、文件列表组成的元组os.path.exists(path)# 传入一个path路径,判断指定路径下的目录是否存在。存在返回True,否则返回Falseos.mkdir(path)# 传入一个path路径,创建单层(单个)文件夹.

2022-05-25 15:42:51 539

原创 pytest+requests+Excel+allure接口自动化测试框架实践

背景应对公司项目需要,搭建一个简单实用的接口自动化测试框架,供测试人员实用,主要是用来做系统的业务流程功能验证,去除了大部分的异常校验。简介这套框架使用的技术包括:pytest+requests+Excel+allure下面先介绍一下该框架的分层结构:config:用来存放读取Excel测试用例的方法keyword:用来存放用例执行过程中需要封装的方法test_case:用来存放用例执行的测试代码test_data:用来存放执行的测试用例,以excel方式main_run:总执行文件实

2022-05-12 11:49:06 2759 8

原创 JsonPath用法详解

JSONPath是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括Javascript、Python、PHP和Java。JSONPath的安装方法如下:pip install jsonpathJSONPath语法和XPATH语法对比 JSON结构清晰,可读性高,复杂度低,非常容易匹配。JSONPath的语法与Xpath类似,如下表所示为JSONPath与XPath语法对比。下面使用一个JSON文档演示JSONPath的具体使用。JSON 文档的内容如下:{

2022-03-04 14:50:20 27956

原创 自动化用例设计原则

前言:怎么设计自动化测试用例?是不是所有的手动用例都适合转成自动化测试用例?设计自动化测试用例需考虑的方面:1、并不是所有的手工用例都要转为自动化测试用例。考虑到脚本开发的成本,不要选择流程太复杂的用例。如果有必要,可以考虑把流程拆分成多个用例来实现脚本。2、选择的用例最好可以构建成场景。例如,一个功能模块,分多个用例,多个用例使用同一个场景。3、选择的用例可以带有目的性。例如,这部分是用例做冒烟测试,那部分用例是做回归测试等,当然,会存在重叠的关系。如果当前用例不能满足需求,那么

2022-01-19 14:01:41 1611

原创 Python+selenium之下载文件

一、Firefox文件下载Web容许我们设置默认的文件下载路劲,文件会自动下载并且存放在指定的目录下。from selenium import webdriverimport osfp = webdriver.FirefoxProfile()fp.set_preference("browser.download.folderList",0)fp.set_preference("browser.download.manager.showhenStarting",True)fp.set_prefe

2021-12-06 16:02:41 1909

原创 python读取yaml文件数据

# 读取yaml数据import yaml# 读取yaml的方法def loadyaml(filename): files = open(filename,'r',encoding='utf-8') # 读取数据 data = yaml.load(files,Loader=yaml.FullLoader) return datare = loadyaml('../data/search.yaml') # 输入yaml文件相对路径print(re)...

2021-11-03 15:32:17 383

原创 pytest中ids参数用例描述有中文编码问题

我们在pytest自动化测试时,ids参数用例描述有中文时控制台打印乱码。一般有2种解决方法:第一种在conftest.py中使用pytest_collection_modifyitems钩子函数,对输出的item.name和item.nodeid重新编码conftest.pydef pytest_collection_modifyitems(items): # 测试用例执行收集完成时,将收集到的item的name和nodeid的中文显示在控制台上 for item in items

2021-10-28 17:59:38 1041 1

原创 selenium自动化测试中的三大等待

等待的作用:为了提升自动化运行的成功率自动化是由机器来运行的操作,将手工测试所执行内容转换为机器执行在指定的地方进行等待,以便于系统响应,再继续进行等待的三大方式:1.强制等待所有自动化学习者,最先接触的等待(sleep)作用:当代码运行到强制等待这一行的时候,无论出于什么情况,都强制性等待指定时间需要通过time模块中的sleep进行导入来使用优势:简单入门,便于调试劣势:只能够对单次生效,无法做有效的判断,会浪费大量的时间2.隐式等待藏起来的等待,一次设置终生有效,针对当下的

2021-10-19 15:16:54 278

翻译 Shell 流程控制

if elsefiif 语句语法格式:if conditionthen command1 command2 ... commandN fiif elseif else 语法格式:if conditionthen command1 command2 ... commandNelse commandfiif else-if elseif else-if else 语法格式:if condition1th

2021-08-24 17:13:51 81

翻译 Shell test 命令

Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。数值测试参数说明-eq等于则为真-ne不等于则为真-gt大于则为真-ge大于等于则为真-lt小于则为真-le小于等于则为真num1=100num2=100if test $[num1] -eq $[num2]then echo '两个数相等!'else echo '两个数不相等!'fi出结果:两个数相等!

2021-08-24 15:43:02 80

翻译 Shell printf 命令

printf 使用引用文本或空格分隔的参数,外面可以在 printf 中使用格式化字符串,还可以制定字符串的宽度、左右对齐方式等。默认的 printf 不会像 echo 自动添加换行符,我们可以手动添加 \n。printf 命令的语法:printf format-string [arguments...]参数说明:format-string: 为格式控制字符串arguments: 为参数列表。接下来,我来用一个脚本来体现 printf 的强大功能:printf "%-10s %-8s

2021-08-24 15:17:58 114

原创 Shell echo命令

Shell 的 echo 指令是用于字符串的输出。命令格式:echo string可以使用echo实现更复杂的输出格式控制。1.显示普通字符串echo "It is a test"这里的双引号完全可以省略,以下命令与上面实例效果一致:echo It is a test2.显示转义字符echo "\"It is a test\""结果将是:"It is a test"同样,双引号也可以省略3.显示变量read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 she

2021-08-24 14:48:30 96

原创 Shell 基本运算符

Shell 和其他编程语言一样,支持多种运算符,包括:算数运算符关系运算符布尔运算符字符串运算符文件测试运算符两点注意:表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2,这与我们熟悉的大多数编程语言不一样。完整的表达式要被 包含,注意这个字符不是常用的单引号,在 Esc 键下边。算术运算符下表列出了常用的算术运算符,假定变量 a 为 10,变量 b 为 20:运算符说明举例+加法expr $a + $b 结果为 30。-

2021-08-24 14:37:02 136

原创 Shell 数组

数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小。与大部分编程语言类似,数组元素的下标由 0 开始。Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下:array_name=(value1 value2 ... valuen)也可以使用下标来定义数组array_name[0]=value0array_name[1]=value1array_name[2]=value2读取数组读取数组元素值的一般格式是:${arr

2021-08-24 10:48:27 59

原创 Shell 传递参数

在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……实例以下实例我们向脚本传递三个参数,并分别输出,其中 $0 为执行的文件名(包含文件路径):echo "Shell 传递参数实例!";echo "执行的文件名:$0";echo "第一个参数为:$1";echo "第二个参数为:$2";echo "第三个参数为:$3";为脚本设置可执行权限,并执行脚本,输出结果如下所示:$ chm

2021-08-24 10:36:27 137

原创 Shell 变量

shell变量shell变量名称规则,变量名和等号之间不能有空格:命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。中间不能有空格,可以使用下划线 _。不能使用标点符号。不能使用bash里的关键字(可用help命令查看保留关键字)。使用变量使用一个定义过的变量,只要在变量名前面加美元符号即可,如:your_name="qinjx"echo $your_nameecho ${your_name}变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界

2021-08-24 09:54:53 90

原创 Linux 磁盘管理

Linux 磁盘管理好坏直接关系到整个系统的性能问题。Linux 磁盘管理常用三个命令为 df、du 和 fdisk。df(英文全称:disk full):列出文件系统的整体磁盘使用量du(英文全称:disk used):检查磁盘空间使用量fdisk:用于磁盘分区dfdf命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。语法:df [-ahikHTm] [目录或文件名]选项与参数:-a :列出所有的文件系统,包括系统

2021-08-23 16:14:31 79

原创 Linux 用户和用户组管理

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个唯一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。实现用户账号的管理,要完成的工作主要有如下几个方面:用户账号的添加、删除与修改。用户口令的管理

2021-08-23 15:16:42 100

翻译 Linux 文件与目录管理

Linux的目录结构为树状结构,最顶级的目录为根目录/。其他目录通过挂载可以将它们添加到树中,通过接触挂载可以移除它们。绝对路径:路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。相对路径:路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd …/man 这就是相对路径的写法。处理目录的常用命令ls(英文全拼:list files): 列出目录及文件名cd(英文全拼:change d

2021-08-23 14:44:34 68

翻译 Linux 文件基本属性

在 Linux 中我们通常使用以下两个命令来修改文件或目录的所属用户与权限:chown (change ownerp) : 修改所属用户与组。chmod (change mode) : 修改用户的权限。从左至右用 0-9 这些数字来表示。第 0 位确定文件类型,第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。其中,第 1、4、7 位表示读权限,如果用 r 字符表示,则有读权限,如果用 -

2021-08-23 14:07:31 66

原创 Linux 系统目录结构

登录系统后,在当前命令窗口下输入命令:ls / 树状目录结构:/bin:bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。/boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev :dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。/etc:etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有

2021-08-23 11:24:50 73

原创 Python3 JSON 数据解析

JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数:json.dumps(): 对数据进行编码。json.loads(): 对数据进行解码。Python 编码为 JSON 类型转换对应表:PythonJSONdictobjectlist, tuplearraystrstringint, float, int- &a

2021-08-23 10:57:08 89

原创 Python3 SMTP发送邮件

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。Python创建 SMTP 对象语法如下:import smtplibsmtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )参数说明:host: SMTP 服务器主机。

2021-08-23 10:40:53 453

翻译 Python数字(Number)函数

数学函数函数返回值(描述)abs(x)返回数字的绝对值,如abs(-10) 返回 10ceil(x)返回数字的上入整数,如math.ceil(4.1) 返回 5exp(x)返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045fabs(x)返回数字的绝对值,如math.fabs(-10) 返回10.0floor(x)返回数字的下舍整数,如math.floor(4.9)返回 4log(x)如math.log(ma

2021-08-19 17:32:06 458

原创 Python自动化测试面试题及答案(持续更新中)

1、自动化代码中,用到了哪些设计模式?单例设计模式工厂模式PO设计模式数据驱动模式面向接口编程设计模式2、什么是断言(Assert)?断言Assert用于在代码中验证实际结果是不是符合预期结果,如果测试用例执行失败会抛出异常并提供断言日志3、什么是web自动化测试Web自动化测试是从UI (用户界面)层面进行的自动化测试测试人员通过编程自动化程序(测试用例脚本)来打开浏览器测试网站的业务逻辑4、什么是seleniumSelenium是一个开源的web自动化测试框架,支持

2021-08-06 15:38:38 9809 1

原创 selenium上传文件

最近在使用selenium做WEB UI自动化测试时,遇到要实现自动上传文件的页面操作,在网上找了一些方法,终于实现,现在整理一下上传文件的自动化实现过程:第一种方式:标签是input(如下图),直接使用页面元素定位,然后发送文件路径即可WebElement e1= driver.findElement(By.id("load"));//输入要上传文件的地址e1.sendKeys("D:\\Work\\eclipse_workspace\\seleniumdemo\\res\\被上传的文件.txt

2021-07-08 14:55:18 1257

原创 selenium自动化测试-----js脚本及页面滚动条操作

selenium操作中对页面滚动条操作有4种操作:def scroll(self ,loc,type): ele = self.locator(loc) if type == '顶部': self.driver.execute_script("window.scrollTo(document.body.scrollHeight,0)") # 滚动条到页面顶部 elif type == '底部': self.driver.execute

2021-06-25 15:38:21 1071

空空如也

空空如也

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

TA关注的人

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