多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

微软自动化测试工具palywright

更新时间:2022-07-22 09:12:11 作者:多测师 浏览:36

  我们介绍许多e2e的自动化测试工具——

  一类是基于 Selenium 的测试框架:

  ·robot framework

  · gauge

  · SeleniumBase

  · seldom

  另一类是基于JS语言的测试工具:

  · cypress

  · puppeteer

  前都本身就是基于Selenium的自动化测试工具,后者在测试人员这个圈子也是未能撼动Selenium的地位,我认为有两个原因,一是Selenium是一个非常成熟的自动化测试工具,有大量的学习资料;另一方面selenium支持Python,没错Python以其简单的语法已经成为了测试人员学习编程语言的不二之选。

  好了,介绍个新的自动化测试工具还要铺垫这么多?这是因为我看了palywright的文档之后,觉得这工具大概率能在测试人员这个群体中流行起来。

微软自动化测试工具palywright

  playwright 介绍

  介绍

  Playwright enables fast, reliable and capable automation across all modern browsers.

  支持语言

  · JavaScript and TypeScript: https://github.com/microsoft/playwright

  · Java: https://github.com/microsoft/playwright-java

  · Python: https://github.com/microsoft/playwright-python

  · C#: https://github.com/microsoft/playwright-sharp

  从支持的平台、语言和浏览器来看,是不是有Selenium的味道。这是微软爸爸的项目,从微软这几年拥抱开源的态度来看,这个工具应该会得到持续的支持。

  安装

  不同的语言安装方式不同,根据上面的链接,到对应的项目下面查看安装方式。本文以Python为例。

  安装plywright

  > pip install playwright

  安装浏览器

  > python -m playwright install

  Downloading chromium v827102 - 89.4 Mb [====================] 100% 0.0s

  chromium v827102 downloaded to C:\Users\fnngj\AppData\Local\ms-playwright\chromium-827102

  Downloading firefox v1205 - 74.9 Mb [====================] 100% 0.0s

  firefox v1205 downloaded to C:\Users\fnngj\AppData\Local\ms-playwright\firefox-1205

  Downloading webkit v1383 - 51.4 Mb [====================] 100% 0.0s

  webkit v1383 downloaded to C:\Users\fnngj\AppData\Local\ms-playwright\webkit-1383

  录制脚本

  plywright可以在浏览器中记录用户的互动并生成代码。

  执行命令

  > python -m playwright codegen

  视频

  接下来,对录制的脚本做简单的修饰。

  from time import sleep

  from playwright.sync_api import sync_playwright

  def run(playwright):

  pw = playwright().start()

  browser = pw.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/")

  # Fill input[name="wd"]

  page.fill('input[name="wd"]', "playwright")

  # Click input[type="submit"]

  page.click('input[type="submit"]')

  sleep(2)

  # assert title

  assert page.title() == "playwright_百度搜索"

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

  context.close()

  browser.close()

  if __name__ == '__main__':

  run(sync_playwright)

  从API来看,和大多数自动化工具都差不多。

  异步的写法

  playwright官方例子中给出的异步的写法。 从它提供的API sync_playwright 的命名也可以看出,它很喜欢异步。

  import asyncio

  from playwright import async_playwright

  async def main():

  async with async_playwright() as p:

  for browser_type in [p.chromium, p.firefox, p.webkit]:

  browser = await browser_type.launch(headless=False)

  page = await browser.newPage()

  await page.goto('https://www.baidu.com')

  await page.screenshot(path=f'example-{browser_type.name}.png')

  await browser.close()

  asyncio.get_event_loop().run_until_complete(main())

  以上内容为大家介绍了微软自动化测试工具palywright,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部