Python中Playwright模塊進行自動化測試的實現
playwright是由微軟開發(fā)的Web UI自動化測試工具,支持Node.js、Python、C# 和 Java語言,本文將介紹Python版本的Playwright使用方法。
微軟開源了一個非常強大的自動化項目叫playwright-python,項目地址:https://github.com/microsoft/playwright-python
它支持主流的瀏覽器,包含:Chrome、Firefox、Safari、Microsoft Edge 等,同時支持以無頭模式、有頭模式運行,并提供了同步、異步的 API,可以結合 Pytest 測試框架使用,并且支持瀏覽器端的自動化腳本錄制。
Playwright提供的自動化技術是綠色的、功能強大、可靠且快速,支持Linux、Mac以及Windows操作系統(tǒng)。
從官網的解釋,官方給Playwright定位是一款真正意義上的Web端到端測試工具。
安裝步驟
第 1 步,安裝 playwright-python 依賴庫 (需要注意的是,playwright庫需要依賴Python3.7+以上)
pip install -i https://mirrors.aliyun.com/pypi/simple/ --upgrade Playwright

第 2 步,安裝主流的瀏覽器驅動
playwright install

如果想查看Playwright支持的功能, 可以直接在命令行輸入:playwright -h

使用Playwright可以無需寫代碼,只需手動操作瀏覽器,它會錄制我們的操作,然后自動生成代碼腳本。
錄制腳本
1. 查看錄制命令說明 playwright codegen -h
Usage: playwright codegen [options] [url]
open page and generate code for user actions
Options:
-o, --output <file name> saves the generated script to a file
--target <language> language to generate, one of javascript, playwright-test, python, python-async,
python-pytest, csharp, csharp-mstest, csharp-nunit, java (default: "python")
--save-trace <filename> record a trace for the session and save it to a file
--test-id-attribute <attributeName> use the specified attribute to generate data test ID selectors
-b, --browser <browserType> browser to use, one of cr, chromium, ff, firefox, wk, webkit (default:
"chromium")
--block-service-workers block service workers
--channel <channel> Chromium distribution channel, "chrome", "chrome-beta", "msedge-dev", etc
--color-scheme <scheme> emulate preferred color scheme, "light" or "dark"
--device <deviceName> emulate device, for example "iPhone 11"
--geolocation <coordinates> specify geolocation coordinates, for example "37.819722,-122.478611"
--ignore-https-errors ignore https errors
--load-storage <filename> load context storage state from the file, previously saved with --save-storage
--lang <language> specify language / locale, for example "en-GB"
--proxy-server <proxy> specify proxy server, for example "http://myproxy:3128" or
"socks5://myproxy:8080"
--proxy-bypass <bypass> comma-separated domains to bypass proxy, for example
".com,chromium.org,.domain.com"
--save-har <filename> save HAR file with all network activity at the end
--save-har-glob <glob pattern> filter entries in the HAR by matching url against this glob pattern
--save-storage <filename> save context storage state at the end, for later use with --load-storage
--timezone <time zone> time zone to emulate, for example "Europe/Rome"
--timeout <timeout> timeout for Playwright actions in milliseconds, no timeout by default
--user-agent <ua string> specify user agent string
--viewport-size <size> specify browser viewport size in pixels, for example "1280, 720"
-h, --help display help for command
Examples:
$ codegen
$ codegen --target=python
$ codegen -b webkit https://example.com比如,我要在baidu.com搜索,用chromium驅動,將結果保存為test.py的python文件。文檔默認保存到 C:\Users\user\下面
playwright codegen --target python -o 'test.py' -b chromium https://www.baidu.com

到此這篇關于Python中Playwright模塊進行自動化測試的實現的文章就介紹到這了,更多相關Python Playwright自動化測試內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python爬蟲爬取王者榮耀英雄信息并保存到圖數據庫的操作方法
本文介紹了如何使用Python爬蟲技術從王者榮耀官方獲取英雄信息,并將數據保存到圖數據庫中,文章詳細說明了爬取英雄名稱、類型及皮膚名稱的過程,并展示了創(chuàng)建英雄類型節(jié)點和英雄信息節(jié)點的方法2024-09-09
Ubuntu中安裝指定Python版本方法詳解(理論上各版本通用)
現在基于linux的發(fā)行版本有很多,有centos,ubuntu等,一般基于linux的衍生系統(tǒng)至少都安裝了Python2版本,但是現在Python已經是3.x版本大行其道了,這篇文章主要給大家介紹了關于Ubuntu中安裝指定Python版本方法的相關資料,理論上各版本通用,需要的朋友可以參考下2023-06-06
Python報錯SyntaxError:unexpected?EOF?while?parsing的解決辦法
在運行或編寫一個程序時常會遇到錯誤異常,這時python會給你一個錯誤提示類名,告訴出現了什么樣的問題,下面這篇文章主要給大家介紹了關于Python報錯SyntaxError:unexpected?EOF?while?parsing的解決辦法,需要的朋友可以參考下2022-07-07
Python運行出現DeprecationWarning的問題及解決
這篇文章主要介紹了Python運行出現DeprecationWarning的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07

