37新一代自动化测试神器playwright+python系列课程_playwright_下载文件

37_playwright_文件下载

我们来看一下playwright下是如何实现文件下载功能的。

在下载文件时,需要使用expect_download()监听下载事件,再结合save_as(path)将文件另存到指定的目录下。

使用语法:

with page.expect_download() as f:

page.locator(selector).click() # 点击下载按钮

download = f.value

download.save_as(path)

我们以禅道的用例模板到处为例,看一下下载文件到过程

实践代码:

# '''

# author: 测试-老姜   交流微信/QQ:349940839

# 欢迎添加微信或QQ,加入学习群共同学习交流。

# QQ交流群号:877498247

# 西安的朋友欢迎当面交流。

# '''

from playwright.sync_api import Playwright, sync_playwright, expect

import re

playwright = sync_playwright().start()

browser = playwright.chromium.launch(headless=False)

context = browser.new_context()

page = context.new_page()

page.goto("http://127.0.0.1/zentao/user-login.html")

page.locator("#account").fill("admin")

page.locator("input[name=\"password\"]").fill("Deshifuzhi01")

page.get_by_role("button", name="登录").click()

page.wait_for_timeout(2000)

page.goto('http://127.0.0.1/zentao/testcase-browse-1.html')

page.wait_for_timeout(1000)

page.frame_locator("#appIframe-qa").locator('i[class="icon icon-export muted"]').click()

page.wait_for_timeout(1000)

page.frame_locator("#appIframe-qa").locator('text=导出模板').click()

page.wait_for_timeout(1000)

with page.expect_download() as f:

    # 点击保存按钮

    page.frame_locator("#appIframe-qa").frame_locator('#iframe-triggerModal').locator('#submit').click()

f.value.save_as('D:\jnc\自动化测试\playwright\playwright_project\模板.csv') # 将文件另存为csv

 

page.wait_for_timeout(10000)

# ---------------------

context.close()

browser.close()

playwright.stop()

posted @ 2024-03-21 11:06  测试_老姜  阅读(23)  评论(0)    收藏  举报