【playwright】新一代自动化测试神器playwright+python系列课程14_playwright网页相关操作_获取网页标题和URL

Playwright 网页操作_获取网页标题和URL

在做web自动化测试时,脚本执行完成后需要进行断言,判断脚本执行是否存在问题。在断言时通常选择一些页面上的信息或者页面上元素的状态来断言,使用网页标题或url来断言就是常见的断言方式,我们以某网站的登录功能为例,在登录前后网页的标题和url是不同的。
登录前
在这里插入图片描述

登录后网页标题上增加了用户姓名,url也改变了。
在这里插入图片描述

这样的话,在执行登录功能的自动化测试脚本后,就可以以登录后的网页标题或url作为脚本执行的预期结果来断言,当断言成功时说明登录功能正常执行了自动化测试,当断言失败时则说明登录存在问题。那么断言时我们在代码中就需要在登录脚本执行完成后获取当前网页的title或url来跟预期值进行对比断言。
获取网页的标题和url的代码:

Page.title()
Page.url

实践案例

# '''
# author: 测试-老姜   交流微信/QQ:349940839
# 欢迎添加微信或QQ,加入学习群共同学习交流。
# QQ交流群号:877498247
# 西安的朋友欢迎当面交流。
# '''from playwright.sync_api import Playwright, sync_playwright, expect
playwright = sync_playwright().start()
browser = playwright.chromium.launch(headless=False, args=['--start-maximized']) #默认无头模式,设置浏览器最大化
context = browser.new_context(no_viewport=True) # 创建上下文,相当浏览器于实例化,即打开浏览器
page = context.new_page() # 打开一个新标签页
page.goto("http://127.0.0.1/zentao/user-login-L3plbnRhby8=.html")
page.wait_for_timeout(2000)
ele = page.locator('css=#account')
ele.type('admin') # 页面刷新后依然可以输入
page.wait_for_timeout(1000)
page.locator('xpath=//*[@name="password"]').fill('Deshifuzhi01')
page.wait_for_timeout(1000)
page.locator('text=登录').last.click()
page.wait_for_timeout(2000)
t = page.title() #获取网页标题
print(t)
u = page.url # 获取网页url
print(u)
context.close()
browser.close()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/631145.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java-NIO篇章(2)——Buffer缓冲区详解

Buffer类简介 Buffer类是一个抽象类,对应于Java的主要数据类型,在NIO中有8种缓冲区类,分别如下: ByteBuffer、 CharBuffer、 DoubleBuffer、 FloatBuffer、 IntBuffer、 LongBuffer、 ShortBuffer、MappedByteBuffer。 本文以它的…

Zabbix分布式监控系统概述、部署、自定义监控项、邮件告警

目录 前言 (一)业务架构 (二)运维架构 一、Zabbix分布式监控平台 (一)Zabbix概述 (二)Zabbix监控原理 (三)Zabbix 6.0 新特性 1. Zabbix server高可用…

10- OpenCV:基本阈值操作(Threshold)

目录 1、图像阈值 2、阈值类型 3、代码演示 1、图像阈值 (1)图像阈值(threshold)含义:是将图像中的像素值划分为不同类别的一种处理方法。通过设定一个特定的阈值,将像素值与阈值进行比较,根…

BEESCMS靶场小记

MIME类型的验证 image/GIF可通过 这个靶场有两个小坑: 1.缩略图勾选则php文件不执行或执行出错 2.要从上传文件管理位置获取图片链接(这是原图上传位置);文件上传点中显示图片应该是通过二次复制过去的;被强行改成了…

路由器的妙用:使用无线路由器无线桥接模式充当电脑的无线网卡

文章目录 需求说明第一步:重置、连接路由器第二步:设置无线桥接模式第三步:电脑连接路由器上网 需求说明 在原路由无线覆盖的范围内,使用无网卡台式和其他主机,并且有闲置的无线路由器或者网线太短,可以使…

添加边界值分析测试用例

1.1创建项目成功后会自动生成封装好的函数,在这些封装好的函数上点击右键,添加边界值分析测试用例,如下图所示。 1.2生成的用例模版是不可以直接运行的,需要我们分别点击它们,让它们自动生成相应测试用例。如下图所示&…

nas-群晖docker查询注册表失败解决办法(平替:使用SSH命令拉取ddns-go)

一、遇到问题 群晖里面的docker图形化界面现在不能直接查询需要下载的东西,原因可能就是被墙了,那么换一种方式使用SSH命令下载也是可以的,文章这里以在docker里面下载ddns-go为例子。 二、操作步骤 (一)打开群晖系统…

《Redis:NoSQL演进之路与Redis深度实践解析》

文章目录 关于NoSQL为什么引入NoSQL1、单机MySQL单机年代的数据库瓶颈 2、Memcached(缓存) MySQL 垂直拆分 (读写分离)3、分库分表水平拆分MySQL集群4、如今的网络架构5、总结 NoSQL的定义NoSQL的分类 Redis入门Redis能干嘛&…

原生SSM整合(Spring+SpringMVC+MyBatis)案例

SSM框架是Spring、Spring MVC和MyBatis三个开源框架的整合,常用于构建数据源较简单的web项目。该框架是Java EE企业级开发的主流技术,也是每一个java开发者必备的技能。下面通过查询书籍列表的案例演示SSM整合的过程. 新建项目 创建文件目录 完整文件结…

google网站流量怎么获取?

流量是一个综合性的指标,可以说做网站就是为了相关流量,一个网站流量都没有,那其实就跟摆饰品没什么区别 而想从谷歌这个搜索引擎里获取流量,一般都分为两种方式,一种是网站seo,另一种自然就是投广告&#…

线程的使用

线程的创建方式 1、实现Runnable Runnable规定的方法是run(),无返回值,无法抛出异常 实现Callable 2、Callable规定的方法是call(),任务执行后有返回值,可以抛出异常 3、继承Thread类创建多线程 继承java.lang.Thread类&#xff0…

C++ //练习 1.15 编写程序,包含第14页”再探编译“中讨论的常见错误。熟悉编译器生成的错误信息。

C Primer(第5版) 练习 1.15 练习 1.15 编写程序,包含第14页”再探编译“中讨论的常见错误。熟悉编译器生成的错误信息。 环境:Linux Ubuntu(云服务器) 工具:vim 代码块 /******************…

[足式机器人]Part2 Dr. CAN学习笔记-Ch04 Advanced控制理论

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记 - Ch04 Advanced控制理论 1. 绪论2. 状态空间表达State-Space Representation3. Phase Portrait相图,相轨迹3 1. 1-D3 2. 2-D3 3. General Form3 4. Summary3.5. 爱情中的数学-Phase …

.NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接

Flurl.Http-3.2.4 升级到 4.0.0 版本后,https请求异常:Call failed. The SSL connection could not be established. 如下图: Flurl.Http-3.2.4版本绕过https的代码,对于 Flurl.Http-4.0.0 版本来说方法不再适用,3.2.…

【萤火虫系列教程】3/5-Adobe Firefly 创意填充

003-Adobe Firefly 创意填充 创意填充 登录账号后,在主页点击创意填充的【生成】按钮,进入到创意填充页面 我们可以上传自己的图像 一键抠图 点击【背景】就可以把主图抠出来 点击【反转】就可以把背景抠出来 点击【清除】就可以恢复到图片原来…

表的增删改查 进阶(一)

🎥 个人主页:Dikz12🔥个人专栏:MySql📕格言:那些在暗处执拗生长的花,终有一日会馥郁传香欢迎大家👍点赞✍评论⭐收藏 目录 数据库约束 约束类型 NOT NUll 约束 UNIQUE 约束 D…

K8S对外服务ingress

Sevice作用体现在两个方面 集群内部 不断跟踪pod的变化,更新endpoint中的pod对象,基于pod的ip地址不断发现的一种服务发现机制 集群外部 类似负载均衡器,把流量(ip端口),不涉及转发url(http ht…

STM32WLE5JC介绍

32位 ARM Cotrex-M4 CPU 32MHz晶体振荡器 32 kHz RTC振荡器与校准 20x32位备份寄存器 引导程序支持USART和SPI接口 介绍 STM32WLE5/E4xx远程无线和超低功耗器件嵌入了强大的超低功耗LPWAN兼容无线电解决方案,支持以下调制:LoRa,&#xff08…

设计模式-简单工厂

设计模式-简单工厂 简单工厂模式是一个集中管理对象创建,并根据条件生成所需类型对象的设计模式,有助于提高代码的复用性和维护性,但可能会导致工厂类过于复杂且违反开闭原则。 抽象提取理论: 封装对象创建过程解耦客户端与产品…

读书笔记-《数据结构与算法》-摘要8[桶排序]

桶排序和归并排序有那么点点类似,也使用了归并的思想。大致步骤如下: 设置一个定量的数组当作空桶。Divide - 从待排序数组中取出元素,将元素按照一定的规则塞进对应的桶子去。对每个非空桶进行排序,通常可在塞元素入桶时进行插入…