Python写UI自动化--playwright(等待页面加载机制)

很多情况下,我们都需要等待页面加载到一定程度才能进行下一步操作,而这个度该怎么操作,这篇文章就来详细讲一讲

目录

expect_popup()

wait_until参数

"load"

'commit':

"domcontentloaded"

"networkidle"

"networkidle0" 和 "networkidle2"

多状态组合


expect_popup()

首先常见的情况是我们在现有的页面上执行某些操作(如点击一个链接或按钮)时,可能会触发新的浏览器窗口或标签页的打开,expect_popup()是playwright中用于处理新打开的浏览器窗口或标签页的方法。expect_popup()允许我们等待并捕获这个新打开的窗口或标签页,以便进行进一步的操作或测试。

下面是一个简单的例子,展示了如何使用expect_popup():

from playwright.sync_api import Page

def test_except_popup(page: Page):
    page.goto(url='https://www.baidu.com')
    page.locator('//input[@name="wd"]').fill("百度百科")
    page.get_by_text('百度一下').click()

    with page.expect_popup() as new_page:  # page.expect_popup() 获取新页面,监听是否到达新页面
        page.get_by_role("link", name="百度百科 - 百度百科").click()

    new_page1=new_page.value
    expect(new_page1.get_by_role("button", name="进入词条"
### 前端 UI 自动化测试工具推荐 对于前端 UI自动化测试,存在多个高效且功能强大的工具可供选择。以下是几种被广泛认可并使用的工具: #### 1. Cypress Cypress 是一款专为现代 Web 应用程序设计的强大前端测试框架。其特点在于能够提供实时重新加载、自动等待机制以及直观的调试体验。这使得开发者能够在本地环境中快速定位问题所在[^1]。 #### 2. Playwright Playwright 支持 Chromium, Firefox 和 WebKit 浏览器引擎,并提供了跨平台的一致性 API 接口来执行各种类型的交互操作。该工具还具备内置视频录制等功能,有助于记录整个会话过程以便后续审查分析。 #### 3. Selenium WebDriver (结合 Python/Java 等编程语言) 尽管 Selenium 并不局限于特定领域,但在前端 UI 测试方面仍然占据重要地位。借助于丰富的社区资源和支持多种主流编程语言的优势,Selenium 可以轻松集成到现有 CI/CD 流程当中去[^4]。 #### 4. Jest + React Testing Library 或 Vue Test Utils 当涉及到具体框架下的组件级单元测试时,则可以考虑采用专门为此目的而生的技术栈组合方式——比如针对 React 使用 `Jest` 加上 `@testing-library/react`;或者是面向 Vue.js 生态系统的 `Vue Test Utils`。这两种方案均能很好地满足日常开发中的需求,同时也易于学习掌握[^3]。 #### 5. LambdaTest 作为一个云端分布式浏览器网格服务平台,LambdaTest 不仅允许用户在其上面运行由其他任何开源库构建而成的脚本文件,而且还自带了一套完整的可视化编辑界面供初学者尝试探索不同的可能性。 ```javascript // 示例:使用 Cypress 进行简单的登录表单验证 describe('Login Form', () => { it('should submit successfully with valid credentials', () => { cy.visit('/login') cy.get('#username').type('testuser') cy.get('#password').type('secret{enter}') cy.url().should('include', '/dashboard') // 断言跳转到了预期页面 }) }) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值