02 2023 档案

摘要:# 前言 使用 Playwright,您可以在任何浏览器上测试您的应用程序,也可以模拟真实设备,例如手机或平板电脑。 # 设置手机模式 只需配置您想要模拟的设备,Playwright 就会模拟浏览器行为,例如"userAgent"、"screenSize"以及"viewport"是否"hasTouc 阅读全文
posted @ 2023-02-28 14:33 上海-悠悠 阅读(1785) 评论(1) 推荐(0)
摘要:# 前言 在做自动化测试的时候,我们经常是基于某个测试环境地址去测试某个项目,所以应该把它单独拿出来做为一个全局的配置。 其它地方用相对地址就行。在pytest用例里面可以用到pytest-base-url 插件来实现。 playwright 不得不说设计的非常人性化,堪称web自动化界的“海底捞” 阅读全文
posted @ 2023-02-28 12:51 上海-悠悠 阅读(1174) 评论(0) 推荐(0)
摘要:前言 反射的本质是通过字符串去调用某对对象的方法/属性,或者调用模块中的函数等。 python中提供了四个重要的方法 getattr获取对象属性/对象方法 hasattr判断对象是否有对应的属性及方法 delattr删除指定的属性 setattr为对象设置内容 getattr获取对象属性/方法 如下 阅读全文
posted @ 2023-02-28 10:09 上海-悠悠 阅读(791) 评论(0) 推荐(0)
摘要:# 前言 使用 Playwright,您可以为测试录制视频。 # 录制 视频在测试结束时浏览器上下文关闭时保存。如果您手动创建浏览器上下文,请确保browser_context.close(), 会在调用close的时候保存视频。 ``` context = browser.new_context( 阅读全文
posted @ 2023-02-27 13:49 上海-悠悠 阅读(1821) 评论(0) 推荐(0)
摘要:# 前言 Playwright 可以导航到 URL 并处理由页面交互引起的导航。本篇涵盖了等待页面导航和加载完成的常见场景。 # 导航生命周期 导航从更改页面 URL 或通过与页面交互(例如,单击链接)开始。导航意图可能会被取消,例如,在点击未解析的 DNS 地址或转换为文件下载时。 解析响应标头并 阅读全文
posted @ 2023-02-27 11:35 上海-悠悠 阅读(4340) 评论(0) 推荐(0)
摘要:# 前言 在执行自动化用例的过程中,出现一些不稳定偶然性的bug,需要复现bug, 还原bug出现的过程。于是需要追踪用例执行的过程。 Playwright Trace Viewer 是一个 GUI 工具,可让您探索记录的 Playwright 测试跟踪,这意味着您可以在测试的每个操作中前后移动,并 阅读全文
posted @ 2023-02-27 08:54 上海-悠悠 阅读(2219) 评论(0) 推荐(0)
摘要:前言 web 自动化主要测前端UI 的功能,有很多异常的场景,我们很难造真实的场景去触发,比如服务器异常时候,前端的提示语。 这时候就可以使用mock 功能,模拟接口的返回,测试前端的功能。 模拟网络请求 Web API 通常作为 HTTP 端点实现。Playwright 提供 API 来模拟和修改 阅读全文
posted @ 2023-02-23 14:25 上海-悠悠 阅读(2447) 评论(0) 推荐(0)
摘要:# 前言 在写web自动化的时候,很多用例是需要先登录的,为了做到每个用例的隔离,数据互不影响,一般会创建一个新的page对象。 很多用例是需要先登录的,可以先登录后把cookie保存到本地,通过加载cookie的方式解决重复登录的问题。 # 登录认证 Playwright 在称为浏览器上下文的隔离 阅读全文
posted @ 2023-02-23 11:20 上海-悠悠 阅读(9699) 评论(0) 推荐(0)
摘要:# 前言 在运行selenium脚本的时候,我们通常习惯用sleep去让页面暂停,打开console 输入 $(selector) 去调试定位页面的元素。 有时候明明页面能找到元素,代码运行却找不到,很是郁闷! playwright 的`page.pause()` 断点功能出现,让打开可以愉快的在页 阅读全文
posted @ 2023-02-22 10:16 上海-悠悠 阅读(3310) 评论(0) 推荐(0)
摘要:# 前言 playwright 可以支持自动录制生成脚本,也就是说只需要在页面上点点点,就可以自动生成对应的脚本了。 # 启动运行 Playwright 具有开箱即用的生成测试的能力,是快速开始测试的好方法。它将打开两个窗口,一个是浏览器窗口,您可以在其中与要测试的网站进行交互,另一个是 Playw 阅读全文
posted @ 2023-02-22 09:37 上海-悠悠 阅读(7464) 评论(0) 推荐(0)
摘要:# 前言 playwright 除了可以截取当前屏幕,还可以截长图,也可以对某个元素截图,这点非常棒。 # screenshot 截图 这是捕获屏幕截图并将其保存到文件中的快速方法: ``` page.screenshot(path="screenshot.png") ``` 使用示例 ``` fr 阅读全文
posted @ 2023-02-21 22:33 上海-悠悠 阅读(3979) 评论(2) 推荐(0)
摘要:# 前言 browser.new_context() 创建一个新的浏览器上下文。它不会与其他浏览器上下文共享 cookies/缓存。 # 浏览器上下文 使用browser.new_context() 创建context对象,context之间是相互隔离的,可以理解为轻量级的浏览器实例. 如需要不同用 阅读全文
posted @ 2023-02-21 22:00 上海-悠悠 阅读(6028) 评论(0) 推荐(0)
摘要:# 前言 iframe 是web自动化里面一个比较头疼的场景,在Selenium中处理 iframe 需要切换来切换去非常麻烦。 在playwright中,让其变得非常简单,我们在使用中无需切换iframe,直接定位元素即可。 # iframe 定位 可以使用page.frame_locator() 阅读全文
posted @ 2023-02-21 14:39 上海-悠悠 阅读(5958) 评论(0) 推荐(0)
摘要:# 前言 Playwright 可以与 HTML 输入元素交互,例如文本输入、复选框、单选按钮、选择选项、鼠标单击、键入字符、键和快捷方式以及上传文件和焦点元素。 # fill() 输入文字 使用 `locator.fill()` 是填写表单字段的最简单方法。它聚焦元素并input使用输入的文本触发 阅读全文
posted @ 2023-02-21 13:13 上海-悠悠 阅读(3373) 评论(0) 推荐(0)
摘要:# 前言 Selector 选择器,也就是通常说的元素定位了,页面上点点点的操作,都是基于元素定位,所以这块是重点需要学的核心内容。 # Selector 选择器 说到元素定位,大家肯定会首先想到 selenium 的八大元素定位,其中xpath 和 css才是最主要的。 playwright 可以 阅读全文
posted @ 2023-02-21 12:25 上海-悠悠 阅读(11555) 评论(0) 推荐(0)
摘要:# 前言 说到 web 自动化,大家最熟悉的就是 selenium 了,selenium 之后又出现了三个强势的框架Puppeteer、CyPress、TestCafe, 但这3个都需要掌握 JavaScript 语言,所以只是少部分人在用。 2020年微软开源一个 UI 自动化测试工具 Playw 阅读全文
posted @ 2023-02-20 23:27 上海-悠悠 阅读(6539) 评论(2) 推荐(1)
摘要:前言 数据写入yaml 文件时遇到的一些问题总结,主要是中文问题和字典的排序问题。 环境准备 python3.8 版本 PyYAML 版本6.0 使用示例 将一段python的字典类型,转成yaml文件 import yaml # 作者 上海-悠悠 微信:283340479 data = { "ge 阅读全文
posted @ 2023-02-16 10:27 上海-悠悠 阅读(832) 评论(0) 推荐(0)
摘要:前言 当项目中有很多个接口的时候,一个个去转成 yaml 文件的用例会很浪费时间,现在大部分格式的接口都有swagger.json 接口文档。 那么我们可以从swagger.json 中解析出接口,自动生成 yaml 格式的用例,就可以大大减少工作量。 此功能在 v1.1.5 版本上实现 环境要求 阅读全文
posted @ 2023-02-15 22:29 上海-悠悠 阅读(1231) 评论(0) 推荐(0)
摘要:前言 mitmproxy 可以抓到请求后重定向到另外一个地址,也可以自定义返回的 response 内容 重定向请求 在实际工作中,调试接口的时候,有时候需要把线上的接口地址替换成本地地址去调试接口,可以用转发域名的方式 """Redirect HTTP requests to another se 阅读全文
posted @ 2023-02-14 21:32 上海-悠悠 阅读(589) 评论(0) 推荐(0)
摘要:2023年第 3 期《Python 测试平台开发》进阶课程 主讲老师:上海-悠悠 上课方式:微信群视频在线教学,方便交流 本期上课时间:3月5 报名费:报名费3800一人(周期3个月,之前学过《python接口+测试开发》课程的同学可优惠!) 联系微信/QQ:283340479 课程环境: 1.py 阅读全文
posted @ 2023-02-14 21:32 上海-悠悠 阅读(1082) 评论(0) 推荐(0)
摘要:前言 fiddler 工具有个打断点功能非常实用,可以实现拦截请求,篡改请求和返回的数据。 mitmproxy 可以用python代码写插件的方式实现拦截请求,篡改请求和返回数据。 fiddler 打断点 before response:这个是打在request请求的时候,未到达服务器之前 afte 阅读全文
posted @ 2023-02-13 17:08 上海-悠悠 阅读(2584) 评论(0) 推荐(0)
摘要:前言 环境要求 Python 大于等于3.8版本,(低于python3.8版本不支持) Pytest 7.2.0 最新版 v1.1.4 发布新增3个关键字 1.sleep 添加用例之间的sleep 等待时间 2.skip 跳过用例功能 3.skipif 条件为真时跳过用例 4.查找用例规则优化(之前 阅读全文
posted @ 2023-02-13 15:39 上海-悠悠 阅读(467) 评论(0) 推荐(0)
摘要:前言 Mitmproxy是一个免费的开源交互式的HTTPS代理。MITM即中间人攻击(Man-in-the-Middle Attack)。 mitmproxy 工具有以下三个组件构成 mitmproxy 是具有 SSL/TLS 功能的交互式拦截侦听代理,具有用于HTTP/1,HTTP/2和WebSo 阅读全文
posted @ 2023-02-13 11:20 上海-悠悠 阅读(821) 评论(0) 推荐(0)
摘要:前言 去面试自动化测试岗位,尤其是接口自动化岗位,面试官总会问:说下你的自动化框架如何设计的? 为什么回答后,面试官对你的框架设计总是感觉不满意? 自动化测试实现的几种方式 对于不同的公司来说,实现自动化的方式不太一样,其实不管哪种实现方式,只要能解决工作中的问题,都是好的。 总的来说有以下这几种实 阅读全文
posted @ 2023-02-09 16:10 上海-悠悠 阅读(1802) 评论(0) 推荐(1)
摘要:前言 验证码的种类有很多,它是常用的一种反爬手段,包括:图片验证码,滑块验证码,等一些常见的验证码场景。 识别验证码的python 库有很多,用起来也并不简单,这里推荐一个简单实用的识别验证码的库 ddddocr (带带弟弟ocr)库. 环境准备 python 版本要求小于等于python3.9 版 阅读全文
posted @ 2023-02-02 20:33 上海-悠悠 阅读(6091) 评论(2) 推荐(0)
摘要:前言 excel 后缀有2种格式, .xls 是从 Excel 97 到 Excel 2003 的默认文件格式,而 .xlsx 是 Excel 2007 及更高版本的默认文件格式。 .xlsx和.xls格式的主要区别在于,.xls格式单个工作表最多支持65536行,256列。 .xlsx格式最多支持 阅读全文
posted @ 2023-02-02 10:10 上海-悠悠 阅读(2077) 评论(0) 推荐(0)