PlayWright常规使用01

目录

1. 提示消息的元素定位和断言

2.新页面跳转和断言

3.悬浮方法使用

4.下拉框的使用


1. 提示消息的元素定位和断言

场景,点击按钮后页面有弹框提示,虽然是弹框,但是可以根据get_by_text去定位元素。断言是否有正确的弹框提示

问题:click后直接断言,case可能会失败,断言失败

解决:page goto后等待3秒,就能执行成功了

备注:问题原因是页面元素未加载完,弹框未取到失败。等网络请求都加载完时退出goto这个动作,就能解决了,在goto里加上参数:wait_until="networkidle"

goto方法的参数wait_until共有5个值:

1.commit:页面已经接受到网络响应并开始加载文档

2.domcontentloaded:DOMContentLoaded事件被触发,即页面的DOM内容已经加载和解析,但是图片/样式表和框架还在加载中

3.load:load事件被触发,即页面所有依赖资源已经加载完成

4.networkidle:不推荐使用,考虑操作完成时,页面在至少500毫秒内没有任何网络连接活动

5.None:如果没有指定wait_until,则默认行为是等待load事件

2.新页面跳转和断言

本页跳转的,用跳转后的元素是否可现断言即可。

新建页面跳转的,用with监听页面,监听到后放到new page里,打开new page后再去断言。

获取new page:

page.goto("/demo/link",wait_until="networkidle")

with page.expect_popup() as new_page:

    page.get_by_text("xxxxx").click()

page_new=new_page.value

开始用expect(page.get_by_text("搜索")).to_be_visible()断言报错,提示not found

找到搜索按钮的元素,class="search-button",搜索后发现只有一个,可用

改成expect(page_new.locator(".search-button")).to_be_attached()就ok

playwright的调试模式很好用:

3.悬浮方法使用

page.locator("#c4").hover()

expect(page.get_by_text("你已经成功悬浮")).to_be_visible()

备注:悬浮方法的难点在于悬浮不被打断,这个再追加

4.下拉框的使用

page.get_by_text("点击选择").click()

page.get_by_text("aaa").click()

expect(page.get_by_text("你选择了aaa"))

page.get_by_text("点击选择").click()

page.get_by_text("bbb").click()

expect(page.get_by_text("你选择了bbb"))

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值