精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

自動(dòng)化測試工具-Playwright(快速上手)

開發(fā) 開發(fā)工具
本篇將介紹另一款強(qiáng)大而易用的 UI 自動(dòng)化測試工具-Playwright。

1、前言

一提到 UI 自動(dòng)化測試工具,首要推薦的必屬是 Selenium,其優(yōu)勢在于跨平臺(tái)、跨語言、完全開源、對商業(yè)用戶也沒有任何限制、支持分布式、擁有成熟的社區(qū)與學(xué)習(xí)文檔等,目前已經(jīng)迭代更新到 4 版本。那么缺點(diǎn)也有,比如環(huán)境配置、加載效率低、運(yùn)行速度慢等。

除了 Selenium 就沒有別的工具推薦了嗎?當(dāng)然不是,還有很多優(yōu)秀的工具,比如 Cypress、Robot Framework 等。

本篇將介紹另一款強(qiáng)大而易用的 UI 自動(dòng)化測試工具-Playwright。

2、簡介

微軟開源自動(dòng)化測試工具 Playwright,支持主流瀏覽器,包括:Chrome、Firefox、Safari 等,同時(shí)支持以無頭模式、有頭模式運(yùn)行,并提供了同步、異步的 API,可以結(jié)合 Pytest 測試框架使用,并且支持瀏覽器端的自動(dòng)化腳本錄制等功能。

特點(diǎn):

1、跨瀏覽器。Playwright 支持所有現(xiàn)代渲染引擎,包括Chromium、WebKit 和 Firefox。

2、跨平臺(tái)。在 Windows、Linux 和 macOS 上進(jìn)行本地或 CI、無頭或有頭測試。

3、跨語言。在 TypeScript、JavaScript、Python、.NET、Java 中使用Playwright API。

4、測試移動(dòng)網(wǎng)絡(luò)。適用于 Android 和 Mobile Safari 的 Google Chrome 原生移動(dòng)仿真。相同的渲染引擎適用于您的桌面和云端。

官網(wǎng)地址:

https://playwright.dev。

GitHub地址:

https://github.com/microsoft/playwright。

3、安裝

Playwright 支持跨語言,本篇將以 Python 進(jìn)行講解。

首先要安裝 Python(有 Python 環(huán)境)。

之后打開命令行,輸入安裝命令即可。

pip install --upgrade pip
pip install playwright
playwright install

4、交互模式

Playwright 支持交互模式,即運(yùn)行單行代碼或者代碼塊,能立即給出運(yùn)行結(jié)果。

由于 Playwright 支持同步和異步的 API,那么應(yīng)先了解一下什么是同步和異步?

同步,可以理解為在執(zhí)行完一個(gè)函數(shù)或方法之后,一直等待系統(tǒng)返回值或消息,這時(shí)程序是出于阻塞的,只有接收到返回的值或消息后才往下執(zhí)行其他的命令。

異步,執(zhí)行完函數(shù)或方法后,不必阻塞性地等待返回值或消息,只需要向系統(tǒng)委托一個(gè)異步過程,那么當(dāng)系統(tǒng)接收到返回值或消息時(shí),系統(tǒng)會(huì)自動(dòng)觸發(fā)委托的異步過程,從而完成一個(gè)完整的流程。

下面以操作打開瀏覽器,訪問百度首頁,關(guān)閉瀏覽器為例。

(1)同步命令

打開命令行,輸入 python。

進(jìn)入到 Python 交互模式中,輸入如下命令:

from playwright.sync_api import sync_playwright
playwright = sync_playwright().start()
browser = playwright.chromium.launch(headless=False)
page = browser.new_page()
page.goto("https://www.baidu.com/")
browser.close()
playwright.stop()

輸入訪問百度首頁命令,瀏覽器頁面會(huì)同時(shí)跳轉(zhuǎn)到百度首頁,同時(shí)命令行輸出響應(yīng)與請求的信息。

圖片

(2)異步命令

打開命令行,輸入 python -m asyncio。

進(jìn)入到 Python 交互模式中,輸入如下命令:

from playwright.async_api import async_playwright
playwright = await async_playwright().start()
browser = await playwright.chromium.launch(headless=False)
page = await browser.new_page()
await page.goto("https://www.baidu.com/")
await browser.close()
await playwright.stop()

輸入訪問百度首頁命令,瀏覽器頁面也會(huì)同時(shí)跳轉(zhuǎn)到百度首頁,命令行也會(huì)輸出響應(yīng)與請求的信息。

圖片

5、錄制模式

Playwright 帶有命令行工具(錄制功能),可用于記錄用戶交互并生成代碼(Java、Python等)。其實(shí)就是類似于 Selenium IDE。

(1)常規(guī)錄制

打開命令行,輸入:

playwright codegen baidu.com

自動(dòng)打開瀏覽器,并跳轉(zhuǎn)到百度首頁。

圖片

同時(shí)也彈出錄制窗口,可以看到是錄制中,腳本語言為 Python。

圖片

通過操作(點(diǎn)擊、輸入等)瀏覽器頁面,腳本也會(huì)自動(dòng)增加操作的步驟。

圖片

此外,錄制工具還可以獲取元素的定位。點(diǎn)擊停止錄制,之后再點(diǎn)擊 Explore 后,在頁面點(diǎn)擊想要定位的元素,即可獲取到該元素定位的值。

圖片

最后將錄制的腳本復(fù)制出來,可做適當(dāng)?shù)恼{(diào)整。

調(diào)整后的腳本代碼:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 公眾號:AllTests軟件測試
from playwright.sync_api import Playwright, sync_playwright, expect
def run(playwright: Playwright) -> None:
browser = playwright.chromium.launch(headless=False)
context = browser.new_context()
# Open new page
page = context.new_page()
# Go to https://www.baidu.com/
page.goto("https://www.baidu.com/")
# Click input[name="wd"]
page.locator("input[name=\"wd\"]").click()
# Fill input[name="wd"]
page.locator("input[name=\"wd\"]").fill("自動(dòng)化測試")
# Click text=百度一下
page.locator("text=百度一下").click()
# ---------------------
context.close()
browser.close()
with sync_playwright() as playwright:
run(playwright)

(2)模擬移動(dòng)設(shè)備錄制

open 可以模擬移動(dòng)設(shè)備和平板設(shè)備。

例如模擬 iPhone 13 訪問作者的 CSDN。

playwright open --device="iPhone 13" blog.csdn.net/wangmcn

如圖:模擬 iPhone 13 打開瀏覽器的效果。

圖片

6、編寫模式

使用 IDE(如 PyCharm、Visual Studio Code 等) 進(jìn)行編寫代碼并運(yùn)行程序。

(1)啟動(dòng)瀏覽器(無頭模式)

Playwright 可以啟動(dòng)三種瀏覽器中的 chromium、firefox、webkit 任何一種。

示例操作如下,打開瀏覽器、跳轉(zhuǎn)百度、屏幕截圖、輸出頁面標(biāo)題、關(guān)閉瀏覽器。

腳本代碼:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 公眾號:AllTests軟件測試
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
page.goto("https://www.baidu.com/")
page.screenshot(path="example.png")
print(page.title())
browser.close()

運(yùn)行結(jié)果:控制臺(tái)輸出頁面標(biāo)題。

圖片

(2)啟動(dòng)瀏覽器(有頭模式)

默認(rèn)情況下,Playwright 以無頭模式運(yùn)行瀏覽器。要查看瀏覽器 UI(有頭模式),請?jiān)趩?dòng)瀏覽器時(shí)傳遞 headless=False 標(biāo)志,還可以使用 slow_mo 來減慢執(zhí)行速度。

腳本代碼:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 公眾號:AllTests軟件測試
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=False, slow_mo=50)
page = browser.new_page()
page.goto("https://www.baidu.com/")
page.screenshot(path="example.png")
print(page.title())
browser.close()

(3)異步

Playwright 支持 API 的兩種變體:同步和異步。

支持異步,如果你的項(xiàng)目使用 asyncio,則應(yīng)該使用 async API。

腳本代碼:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 公眾號:AllTests軟件測試
import asyncio
from playwright.async_api import async_playwright
async def main():
async with async_playwright() as p:
browser = await p.chromium.launch()
page = await browser.new_page()
await page.goto("https://www.baidu.com/")
print(await page.title())
await browser.close()

asyncio.run(main())
責(zé)任編輯:姜華 來源: AllTests軟件測試
相關(guān)推薦

2012-12-24 22:54:31

2014-11-12 09:24:00

2011-05-31 18:17:07

分布式測試

2011-05-30 17:50:23

分布式測試

2022-08-08 07:35:37

云測試工具云存儲(chǔ)云計(jì)算

2011-11-18 09:11:21

Web

2009-07-06 10:08:03

Flex自動(dòng)化

2015-04-15 13:30:54

2010-08-10 14:34:37

QTPFlex

2011-06-08 17:15:46

QTP腳本

2010-08-10 14:25:42

SilkTestFlex

2022-06-02 09:00:00

人工智能工具自動(dòng)化測試

2021-12-17 10:01:52

人工智能測試工具

2010-08-10 14:18:15

RationalFunFlex

2022-12-04 23:52:11

iOS自動(dòng)化工具

2019-01-23 09:00:00

2016-11-11 14:34:46

開源開源工具

2012-09-17 13:21:22

iOSAndroid自動(dòng)化測試工具

2020-04-09 13:16:48

自動(dòng)化工具腳本

2020-08-07 08:10:25

開源技術(shù) 工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

亚洲精品网站在线| 懂色av蜜臀av粉嫩av永久| 日韩伦理在线一区| 不卡免费追剧大全电视剧网站| 91国产美女视频| 亚洲图片另类小说| 精品中文字幕一区二区三区| 欧美日韩国产中文字幕| 色播五月综合| 欧美 日韩 国产 成人 在线 91| 免费永久网站黄欧美| 久久国内精品一国内精品| 一级黄色大片免费看| 亚洲天堂一区二区| 亚洲国产一区二区视频| 亚洲va久久久噜噜噜久久狠狠| 亚洲第一页视频| 日日夜夜免费精品视频| 久久久久久久香蕉网| 午夜影院黄色片| 日韩高清成人在线| 日韩精品资源二区在线| av无码精品一区二区三区| 美女免费久久| 久久精品男人天堂av| 亚洲一区二区三区xxx视频| 手机看片久久久| 狠狠干综合网| 欧美成人亚洲成人| 国产精品理论在线| 伊人久久大香线蕉av不卡| 精品国产伦一区二区三区观看方式 | 在线免费看av| 久久久久久毛片| 精品欧美一区二区精品久久| 性一交一乱一伧老太| 久久激情五月婷婷| 国产精品视频不卡| 国产情侣小视频| 国产一区二区高清| 性视频1819p久久| av资源吧首页| 欧美日韩蜜桃| 欧美成人小视频| 一起操在线播放| 91久久夜色精品国产按摩| 亚洲欧美在线看| 青青草福利视频| 日韩精品社区| 日韩精品一区二区视频| 亚洲欧美日韩偷拍| 成人免费在线电影网| 欧美一级一级性生活免费录像| 成人性生交免费看| 国产精品一区二区免费福利视频 | 亚洲综合精品国产一区二区三区 | 国产精品一区在线看| 久久只精品国产| 日本一区二区三区四区在线观看| 国产香蕉视频在线看| 国产日韩欧美麻豆| 五月天亚洲综合情| 久操免费在线| 一区二区三区欧美| 丝袜人妻一区二区三区| 国产h片在线观看| 日韩欧美在线视频观看| 日本成人黄色网| 亚洲国产91视频| 日韩一级精品视频在线观看| 一级全黄裸体片| 好吊妞视频这里有精品 | 91豆麻精品91久久久久久| av无码精品一区二区三区| 成人1区2区| 日韩一区二区三| 深田咏美中文字幕| 九九精品在线| 日日噜噜噜夜夜爽亚洲精品 | 在线播放不卡| 日本一欧美一欧美一亚洲视频| 涩涩视频在线观看| 国产成人久久精品77777最新版本| 国产麻豆日韩| 国产一级片在线| 亚洲免费观看高清在线观看| 欧美成人三级在线视频| 51一区二区三区| 欧美变态tickle挠乳网站| 亚洲 欧美 日韩在线| 经典一区二区| 欧美成人中文字幕| 久久国产视频精品| 精品一区二区三区免费播放| 国产一区免费在线观看| 91porn在线观看| 午夜成人免费电影| 久久这里只精品| 成午夜精品一区二区三区软件| 亚洲欧美三级伦理| 久久99久久98精品免观看软件| 久久蜜桃精品| 不卡一区二区三区视频| 国产二区在线播放| 亚洲第一福利视频在线| 2025韩国理伦片在线观看| 亚洲伊人影院| 久久精品国产成人精品| 日日摸天天添天天添破| 国产福利一区二区三区视频在线 | 中文字幕在线视频播放| 亚洲v在线看| 国产91网红主播在线观看| 亚洲国产精品成人久久蜜臀| 中文字幕精品一区二区三区精品| 欧美一级视频在线播放| 久久精品一级| 视频直播国产精品| 欧美一区二区三区网站| 成人精品国产免费网站| 国产日韩视频在线播放| 四虎影视4hu4虎成人| 亚洲福利精品在线| 亚洲天堂黄色片| 久久机这里只有精品| 欧美日韩一区二区三区免费| 电影在线观看一区| 日韩欧美国产三级| 天堂网avav| 蜜臂av日日欢夜夜爽一区| 欧美在线播放一区| 亚洲欧洲高清| 亚洲精品网址在线观看| 日韩伦理在线视频| 成人激情午夜影院| 欧美性潮喷xxxxx免费视频看| 小说区图片区亚洲| 久久精品视频va| 怡红院成永久免费人全部视频| 久久综合久久综合久久综合| 日本少妇高潮喷水视频| 久久久伦理片| 欧美一级高清免费| 亚洲日本在线播放| 欧美日韩亚洲视频| 加勒比一区二区| 久久久久久穴| 日本亚洲自拍| 99久久er| 中文字幕精品www乱入免费视频| 一级一片免费看| 国产午夜一区二区三区| 8x8x最新地址| 四虎成人av| 91精品国产91久久久久青草| 91麻豆免费在线视频| 亚洲高清不卡av| 成年人免费高清视频| 91理论电影在线观看| 99精品视频播放| 精品久久成人| 91精品国产综合久久香蕉最新版| 搞黄网站在线观看| 精品sm在线观看| 亚洲永久精品在线观看| 国产午夜精品在线观看| 人人干人人干人人| 伊人成综合网| 国产精品免费观看高清| 中文字幕在线视频久| 中文字幕精品网| 国产免费av电影| 亚洲第一精品在线| 日韩视频在线观看免费视频| 美女视频网站黄色亚洲| 最新av网址在线观看| 欧美aaaaa级| 国产欧美一区二区三区视频 | 欧美综合视频| 亚洲一区二区三区久久| 日本蜜桃在线观看视频| 最近2019中文字幕第三页视频| 国产麻豆精品一区| 欧美日韩美女在线| 精品女人久久久| 不卡视频一二三| 中文字幕亚洲乱码| 最新成人av网站| 一级做a爰片久久| 国产精品超碰| 成人www视频在线观看| a'aaa级片在线观看| 在线播放日韩av| 亚洲奶汁xxxx哺乳期| 欧美亚洲丝袜传媒另类| 青娱乐91视频| 中文在线免费一区三区高中清不卡| 日韩精品xxx| 首页综合国产亚洲丝袜| 免费看日b视频| 久久麻豆精品| 久久国产精品一区二区三区四区| 日日夜夜综合| 日本精品久久久| 中文国产字幕在线观看| 在线日韩精品视频| 三级在线播放| 欧美xxxx老人做受| 亚洲香蕉在线视频| 欧美性开放视频| 国产一级片网址| 中文字幕亚洲精品在线观看| 中文精品在线观看| 高清久久久久久| 中文字幕日韩综合| 久久综合影音| 欧美日韩一道本| 欧美久久99| 亚洲在线视频一区二区| 亚洲素人在线| 国产一区二区在线网站| 涩爱av色老久久精品偷偷鲁 | 高潮一区二区三区乱码| 69p69国产精品| 中文字幕免费播放| 在线观看成人小视频| www成人在线| 亚洲成a人片在线观看中文| 青青青在线免费观看| 亚洲特级片在线| jizz日本在线播放| 欧美国产一区视频在线观看| 全黄一级裸体片| 91丨九色丨黑人外教| 免费日本黄色网址| 成人av资源在线| 69亚洲乱人伦| 成人av在线观| 黄色性视频网站| www.久久久久久久久| 97精品人妻一区二区三区蜜桃| 懂色av一区二区在线播放| 黄页网站在线看| 国产成人99久久亚洲综合精品| 曰本三级日本三级日本三级| 国产一区二区福利视频| 在线观看日本www| 国产真实乱偷精品视频免| 亚洲自拍第三页| 国产成人亚洲精品青草天美| 国内自拍第二页| 国产精品一卡二卡在线观看| 日本少妇一区二区三区| 国产91色综合久久免费分享| 国产精品日日摸夜夜爽| av在线不卡电影| 欧美成人午夜精品免费| 国产欧美日韩麻豆91| 久久精品在线观看视频| 亚洲日本电影在线| 国产精品99精品无码视| 欧美日韩亚洲网| 中文字幕+乱码+中文乱码www | 亚洲成人精品影院| 国产又大又黄视频| 欧洲亚洲精品在线| 国产精品国产精品国产专区| 日韩欧美亚洲国产另类 | 在线亚洲国产精品网| 久久综合网导航| 久久久久久久久久久人体| 中文字幕资源网在线观看免费 | 国产精品一区高清| 日日噜噜噜夜夜爽爽| 亚洲一级高清| 无码少妇一区二区三区芒果| 久久99国产精品成人| 激情综合激情五月| 久久久久国产精品麻豆ai换脸| 中国美女黄色一级片| 一区二区三区日韩欧美精品| 麻豆久久久久久久久久| 欧美夫妻性生活| 神马午夜电影一区二区三区在线观看| 亚洲精品视频中文字幕| 国产激情在线视频| 欧美亚洲国产日韩2020| 四虎视频在线精品免费网址| 精品一区久久| 亚洲欧洲中文字幕| 免费国产成人av| 国产成人在线网站| 亚洲精品国产精品国自| 亚洲高清视频在线| 中文在线字幕av| 亚洲加勒比久久88色综合| 天天在线视频色| 国产91成人video| 日本一区二区三区电影免费观看| 鲁鲁狠狠狠7777一区二区| 欧美在线精品一区| 四季av一区二区| 99精品久久99久久久久| 91久久国产综合| 91福利在线看| 亚洲欧洲视频在线观看| 欧美日韩第一视频| 欧美美女被草| 日本日本精品二区免费| 亚洲乱码视频| 国偷自产av一区二区三区麻豆| 日本一区二区免费在线观看视频| 精品91久久久| 日韩精品一区在线| 免费在线观看黄色网| 国产成人免费91av在线| 极品束缚调教一区二区网站| 狠狠精品干练久久久无码中文字幕| 蜜桃久久久久久| 免费看污片网站| 福利一区福利二区微拍刺激| 亚洲国产精品欧美久久| 久久在线免费观看视频| 国产91在线播放精品| 欧美日韩一区二区三区免费| 国产精品久久久久久久免费软件| 无码人妻丰满熟妇区毛片蜜桃精品| 中文字幕一区二区三区在线不卡| 老熟妇一区二区三区| 日韩av中文字幕在线播放| 免费网站在线观看人| 99中文字幕| 欧美三级特黄| 日韩高清一二三区| 一区二区三区在线看| 99国产精品久久久久99打野战| 日韩有码在线视频| 欧美国产日韩电影| 日韩欧美一区二区在线观看| 久久免费国产| 91在线无精精品白丝| 91久久奴性调教| yourporn在线观看中文站| 国产精品精品久久久| 精品无人区麻豆乱码久久久| 亚洲精品高清无码视频| 国产精品视频一区二区三区不卡| 中文字幕+乱码+中文| 日韩在线观看你懂的| 亚洲欧美综合久久久久久v动漫| 99亚洲精品视频| 国产精品99久久久久久似苏梦涵| 久草成人在线视频| 亚洲国产成人精品久久| 筱崎爱全乳无删减在线观看| 久久综合九色欧美狠狠| 日本欧洲一区二区| 天天看天天摸天天操| 欧美成人性战久久| 成人免费网站观看| 欧美激情一区二区三区在线视频 | 亚洲成av人片www| 深夜福利视频在线免费观看| 久久久免费av| 伊人春色精品| 日韩成人av免费| 亚洲成精国产精品女| 黄网在线观看| 91久久精品日日躁夜夜躁国产| 好看的亚洲午夜视频在线| 少妇饥渴放荡91麻豆| 精品视频在线免费| 羞羞的视频在线观看| 狼狼综合久久久久综合网| 美女国产一区二区| 久草视频在线免费看| 亚洲欧美国内爽妇网| 成人精品视频在线观看| 日本中文字幕网址| 欧美国产日韩亚洲一区| www.久久久久久| 日本不卡高字幕在线2019| 小小影院久久| 国产 中文 字幕 日韩 在线| 欧美日韩三级在线| xxxx在线视频| 亚洲一区三区| 97se亚洲国产综合自在线不卡| 中文字幕一区二区三区波野结 | 成人在线免费看视频| 爱福利视频一区| 西野翔中文久久精品国产| 国产福利精品一区二区三区| 欧美日韩亚洲一区二区三区| 美女av在线播放| 日本高清一区| jiyouzz国产精品久久| 在线观看黄色国产| 97久久久久久| 女人香蕉久久**毛片精品|