詳解Playwright啟動(dòng)Edge、Chrome和Firefox的正確方法
相信做過web自動(dòng)化測(cè)試的同學(xué)們?cè)谶x擇產(chǎn)品時(shí),都會(huì)重點(diǎn)會(huì)關(guān)注自動(dòng)化測(cè)試產(chǎn)品支持哪些瀏覽器。Playwright 的瀏覽器,包括 Chrome 和 Edge(基于 Chromium)、Firefox和Safari(基于 WebKit)。今天在這里,重點(diǎn)講解一下啟動(dòng)這些瀏覽器的腳本該如何編寫!
默認(rèn)啟動(dòng)的是chromium
重要的事情說三遍!
playwright執(zhí)行默認(rèn)運(yùn)行的瀏覽器是chromium!
playwright執(zhí)行默認(rèn)運(yùn)行的瀏覽器是chromium!
playwright執(zhí)行默認(rèn)運(yùn)行的瀏覽器是chromium!
Chromium不是我們熟知的Chrome!Chromium OS是一個(gè)開源項(xiàng)目,主要由開發(fā)人員使用,其代碼可供任何人檢出、修改和構(gòu)建。大家可以簡(jiǎn)單的理解二者的區(qū)別:Chromium 是開源的,Chrome 是閉源的,Chrome 特性更豐富。
我們可以通過下面的代碼啟動(dòng) chromium 瀏覽器
browser = p.chromium.launch(headless=False)如果使用參數(shù)headless=False,那么瀏覽器不會(huì)啟動(dòng),會(huì)以無頭模式運(yùn)行腳本。
加斷點(diǎn),我們就可以查看到啟動(dòng)的chromium 的版本信息,如下圖:

啟動(dòng)chrome
如果我們需要啟動(dòng)chrome 瀏覽器,需要使用如下語句:
browser = p.chromium.launch(channel="chrome",headless=False)啟動(dòng)firefox
啟動(dòng)firefox瀏覽器,代碼如下:
browser = p.firefox.launch(headless=False)啟動(dòng)webkit
啟動(dòng)webkit,代碼如下:
browser = p.webkit.launch(headless=False)備注:由于沒有mac電腦,所以并未驗(yàn)證使用該方法能否成功啟動(dòng)Safari
啟動(dòng)edge
啟動(dòng)edge,需要注意一下
browser = p.chromium.launch(channel="msedge",headless=False)參數(shù)channel
關(guān)于啟動(dòng)瀏覽器使用的 channel詳解,我們可以去源碼中尋找答案
C:\Python37\Lib\site-packages\playwright\sync_api\ _generated.py
class BrowserType(SyncBase): def launch中有詳細(xì)的說明
channel : Union[str, None]
Browser distribution channel. Supported values are "chrome", "chrome-beta", "chrome-dev", "chrome-canary",
"msedge", "msedge-beta", "msedge-dev", "msedge-canary". Read more about using
[Google Chrome and Microsoft Edge](../browsers.md#google-chrome--microsoft-edge).模擬iPhone瀏覽器
最后介紹以下模擬iphone,執(zhí)行以下代碼可以模擬在iPhone12中進(jìn)行的web應(yīng)用操作
iphone_12 = playwright.devices['iPhone 12']
browser = playwright.webkit.launch(headless=False)
context = browser.new_context(
**iphone_12,
)
page=context.new_page()
page.goto("http://www.baidu.com")


























