自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 pytest结合Allure生成测试报告

但因为result文件夹中存放的是json数据文件,每次执行pytest.main()时,'–clean-alluredir’会删除result中的所有文件,所有需要把environment.properties在生成json文件后再复制进去。parametrize()中的ids参数代表用例名称,可以在测试用例报告中显示,但如果是中文,则会乱码。表示创建allure报告的路径,allure生成的报告文件都是json文件。在需要说明的测试步骤函数上装饰后,在测试用例的测试步骤上就能显示出来;

2024-02-23 17:33:29 1785

原创 pytest基本应用

"""1.程序开始执行以后,因为test函数终有yield关键字,所以test函数并不会真正的执行,而是先得到一个生成器g2.直到调用next方法,test函数正式开始执行,先执行test函数中的print方法,然后进入while循环3.程序遇到yield关键字,然后把yield相当于是return,return了一个8之后,程序停止,并没有执行赋值给a操作,此时next(g)语句执行完成,所以输出前面两行(第一行是while上面的print的结果,第二行是return出来的结果)

2024-02-21 18:05:54 1052

原创 多线程、分布式运行用例

python多线程。

2024-02-19 17:21:33 1634 1

原创 unittest应用

unittest库是python自带的,直接导入即可,在使用时需遵守几条规则:1.创建的类必须继承类2.所有的测试用例方法命名必须以test开头。

2024-02-07 10:20:23 429 1

原创 ChromeOptions配置

代码封装:新建chrome_options.py。

2024-02-02 16:06:54 1261

原创 js常用脚本

使用执行脚本;传参只有js时,需要在js脚本中提前定位到元素;因js中提供的定位方法有限,推荐使用selenium先定位到元素;想要返回js中的结果 使用return进行返回。

2024-02-02 10:56:07 510

原创 selenium三类等待

隐式等待和显示等待可以共用,共用时等待取决于谁的时间更长;driver对象默认加载的页面,都是不加载本地缓存信息的。就会导致有时候遇到资源加载比较多的页面,加载速度就会很慢可以通过调节页面的加载策略,从而实现更快速度的访问。Selenium提供有页面的加载策略,在ChromeOptions中进行配置from selenium import webdriver # 页面加载策略 '''selenium带有三种不同的加载策略:1. normal:是selenium默认的加载策略,不需要定义。

2024-02-01 16:03:33 469 1

原创 selenium常用的操作

selenium访问新页面的时候,默认停留在老页面中,每一个页面都有一个句柄,要操作哪个页面就切换哪个句柄。selenium4中新增方法:driver.switch_to.new_window()​ 建议使用options配置。达到实现窗口最大化的效果。

2024-02-01 15:03:14 416 1

原创 selenium元素八种定位方法

元素定位8中方式IdNameLink textTag NameClass NameXpath。

2024-01-31 11:23:47 6800 1

原创 python发送邮件

【代码】python发送邮件。

2024-01-26 15:16:16 623 1

原创 python日志输出

日志级别有5个级别,默认输出的是waring级别的,可以通过对输出的级别进行设置输出。

2024-01-25 18:05:06 1124 1

原创 python连接数据库

2.创建游标,操作数据库;

2024-01-24 18:06:38 660 1

原创 数据库基本操作

select count(* )as ‘总数’,sex as ‘性别’ from student3 where age>=28 group by sex having count(*)>2;select count(*)as ‘统计’,sex ‘性别’ from student3 group by sex;insert into kkdb.student(name,age,sex)value(‘小红’,18,‘女’),(‘小红2’,18,‘女’);#男女英语成绩平均值。#查询成绩大于80分的学生;

2024-01-23 15:21:43 1050 1

原创 类方法、静态方法、装饰器

使用赋值语句在class关键字下方可以定义类属性。

2024-01-17 17:12:06 371

原创 文件处理和os模块

语法:with open(路径,访问模式)as 变量名:代码块访问模式:w:写入,没有文件创建文件写入内容 w会覆盖原有的内容r:读取,没有文件不会创建文件读取a:追加,没有文件创建文件追加内容。

2024-01-15 15:11:09 577

原创 函数与模块

位置参数中实参的顺序、个数要和形参对应;

2024-01-04 15:16:33 355 1

原创 selenium安装,浏览器驱动下载

在python版本为3.7+的环境下,执行pip3 install selenium 自动安装selenium4最新版。

2023-12-29 10:10:33 685 1

转载 浏览器F12的time时间

请求发出后,到收到响应的第一个字节所花费的时间(Time To First Byte),发送请求完毕到接收请求开始的时间;是浏览器得到要发出这个请求的指令到请求可以发出的等待时间,一般是代理协商、以及等待可复用的TCP连接释放的时间,不包括DNS查询、建立TCP连接等时间等。请求第一个字节发出前到最后一个字节发出后的时间,也就是上传时间。收到响应的第一个字节,到接受完最后一个字节的时间,就是下载时间。浏览器请求时间 F12 发送url请求 查看timing。查看页面前端请求数据的时间。

2023-12-28 13:18:28 534 1

原创 Python可变数据类型

格式定义{key:value,key:value,key:value}键值对之间,隔开,字典是无序的,且键是不允许重复的,键只能是不可变数据类型;append()增加的是一个对象,会把增加的数据看成一个整体;列表的访问,list[开始值:结束值:步长],默认步长为1,左闭右开 [ )在末尾插入数据,但和append的区别是extend是传的是一个个的数据。insert() 可以指定位置进行数据的插入。定义:字典:用来存储的数据 关联关系的数据;语法:insert(位置,数据)

2023-12-05 15:30:06 414 1

原创 Python不可变数据类型

字符串格式化 format;占位符 %s 字符串 %d 传数字 %f传浮点;f-string ,直接在{}中传入变量名;

2023-12-04 15:47:23 332

原创 ddt数据驱动+yaml文件

传的参数太多时,可以使用 **kwargs 整体传进来后,在使用['value']进行取值。@file_data('yaml文件')可以拆解yaml文件中的数据;@data(5,15)装饰器可以将括号中的数据以逗号进行分割传递。字典中的key必须和方法的key保持一致;如果逗号分割完是元组、列表或字典需要再使用。

2023-11-17 10:19:20 162

原创 python异常处理

python中使用try....except对可能发生异常的语句进行处理;

2023-11-13 15:02:58 56

HTMLTestReportCN

HTMLTestReportCN中文py文件

2024-02-07

空空如也

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

TA关注的人

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