随笔分类 - playwright自动化
摘要:前言 对于自己写过文章的总结,并不代表最好的学习路线 还未完结,努力更新中ing 建议把每节的实战演练做一下 PlayWright PlayWright - 环境安装 PlayWright - 如何使用playwrigh PlayWrigh - 同步和异步运行 PlayWright - 深入异步 P
阅读全文
摘要:在上文中,我们认识了allure插件,并且也成功使用了,但是感觉少点东西,所以我们再深入挖掘下allure的功能 1.allure增加测试用例详情 1、导入allure模块 2、在每条用例函数前加上@allure.title("标题内容") 3、正常执行生成allure报告 执行结果: 2.allu
阅读全文
摘要:在上文中,我们介绍并使用了pytest-html插件,总之并不复杂,但是今天我们要讲一个比pytest-html插件强很多的插件allure报告,我们要掌握他并且灵活使用,之后的框架就不需要考虑其他的了 1.使用allure需要什么? 因为allure的环境基于Java环境,所以得先下载JDK 下载
阅读全文
摘要:1.下载 pytest框架有官方的报告pip install pytest-html 下载成功,那我们怎么使用呢? 2.使用 可以直接在配置文件里使用 在 pytest 配置文件中, 增加命令选项 选项: --html=./报告路径/报告⽂件名.html 说明: --self-contained-h
阅读全文
摘要:1、介绍与使用场景 conftest.py 这个是什么呢? 顾名思义,他就是一个文件,那这个文件是干什么用的呢? 在我们上文中,用了fixture函数是直接在用例的文件里定义的,那不能我们所有的用例想用到fixture都一个个定义吧,所以Pytest提供了一个conftest.py文件,这样呢,就可
阅读全文
摘要:fixture是Pytest的测试夹具,相当于unittest的setup和teardown,这个在之前我们也有介绍 setup和teardown详情可看:https://www.cnblogs.com/nuomituan/p/17541815.html 那为什么我们不用setup和teardown
阅读全文
摘要:在实际工作中,有比如某些用例先不执行但是也要先保留,就可以使用pytest的跳过功能,实际场景用的不多 使用起来,也很简单,我们直接使用装饰器 pytest.mark.skip(self,reason=None) reason表示我们写一下跳过的原因 直接实战 class TestDemo(obje
阅读全文
摘要:今天来讲下参数化,具体是什么意思呢,举个例子 比如我们要测试登录功能,第一步会填写账号,第二步会填写密码,这是一条完整的操作,但是其中会有很多条用例比如账号错误、密码错误、账号为空、密码为空的各种情况,但是在输入账号、密码的操作都是一样的 我们不能一条用例复制很多次,然后再输入不同的情况,所以就用到
阅读全文
摘要:我们在写自动化测试的时候,得到测试结果之后,现在要开始拿实际结果与期望结果做对比了 那如果是测试1个结果,我们可以用肉眼比对,如果是百十来个用例结果,我们肉眼就看不过来了,所以我们需要断言,而在Pytest中也有断言,而且Pytest的断言使用的是Python自带的,所以使用起来很方便 使用的断言关
阅读全文
摘要:上文中我们学习了前置后置,今天我们来学下配置文件,配置文件是什么呢? 1、配置文件是什么 先来讲下背景:我们之前执行代码的时候是用命令行pytest -s -v ,如果是一个项目的话,我们不会每次执行代码都输入-s -v ,所以pytest提供了一个功能 - 配置文件pytest.ini pytes
阅读全文
摘要:上文中我们学习了Pytest的基本使用,那这篇我们来讲下Pytest的前置和后置 1、基本概念 抛出问题:前置和后置是什么意思呢,用户是什么?我们应该在什么时候用到呢? 先来讲,前置和后置是什么意思,前置表示在执行代码前先执行前置的内容,后置表示执行完全部的代码后,再执行后置的代码 有什么用处:比如
阅读全文
摘要:我们都知道,在做单元测试框架中有UnitTest和Pytest,前者是Python中自带无需安装,Pytest需要安装,今天我们来讲的就是Pytest,当然如果是做自动化,建议两个都要掌握一下,可以针对实际业务灵活使用 废话不多说,开干! 1、环境安装 pip insatll pytest 如果要解
阅读全文
摘要:1、PO模式是什么? PO,即Page Object,直译为页面对象,代表 Web 应用程序的一部分 具体什么意思呢,通俗来讲,一个页面有输入、点击、搜索功能,而且有很多页面,这时候我们就采用每个页面作为一个单独的page对象来维护编写,避免重复代码,层级也清晰,便于维护 2、以百度首页搜索为实例
阅读全文
摘要:今天讲一个playwright的吊炸天的功能-录制脚本 背景 在我们之前的操作中,如果需要自动化测试,首先我们得需要定位,然后调试,需要花费大量的时间,而且定位元素错误,也会引起测试失败。针对这种情况,我们使用录制功能 含义 录制功能大概什么意思呢? 我们可以把它理解为一个录制按钮,点击录制按钮,就
阅读全文
摘要:在web自动化测试中,经常会有登录的情况,并且每次打开页面都需要登录,非常麻烦,我们使用playwright的cookie实现自动化登录 1、使用秘籍 ① 登录网站,正常输入账号密码登录 ② 保存cookie信息 ③ 使用之前cookie信息再次登录网站 2、小试牛刀 我们以登录一个测试平台为例,网
阅读全文
摘要:playwright我们已经可以进行简单的操作了,今天我来讲下上传文件这个操作的用法 1、上传文件 page.set_input_files(selector,files) selector表示要我们定位的元素 fils表示我们要上传的文件地址 我们来看下上传文件的源代码: <input type=
阅读全文
摘要:在UI自动化中,会有点击一个页面,出现一个新页面的情况,这时候我们需要获取浏览器上下文产生的新页面 1、在playwright中我们怎么切换页面 具体实现步骤: with context.expect_page() as new_page_info: page.click('打开新链接') new_
阅读全文
摘要:今天,我们讲下playwright的下拉框怎么处理,在selenium中使用选择框比较复杂,但是在playwright中真的炒鸡方便 1、什么是选择框 <select id="xz"> <option value="bj">北京</option> <option value="sh">上海</opt
阅读全文
摘要:今天我们来讲下文本输入这个操作 上文中我们已经可以定位元素了,并且还学习了点击操作,但有些是需要我们输入文本信息的,我们来学习下playwright的文本输入 1、文本输入 page.fill(selector,value) selector表示要我们定位的元素 value表示我们要输入的内容 例子
阅读全文
摘要:上文我们已经掌握好怎么启动playwright了,我们就可以开启playwright的正式学习之路了? 首先得认识元素定位,元素定位是最基础也是最重要的,我们连元素都定位不到,怎么做相关的操作呢? selenium的八大元素定位: selenium中各定位方式 对应的Python方法 id find
阅读全文