tag 标签: PlaywrightPython

相关资源
  • 所需E币: 0
    时间: 2024-5-20 14:19
    大小: 2.41KB
    上传者: 开心就很好了
    一、Playwright简介微软开源自动化测试工具Playwright,支持主流浏览器,包括:Chrome、Firefox、Safari等,同时支持以无头模式、有头模式运行,并提供了同步、异步的API,可以结合主流测试框架使用,并且支持浏览器端的自动化脚本录制等功能。二、playwright特性1、支持所有主流浏览器支持所有主流浏览器:基于Chromium内核的GoogleChrome和MicrosoftEdge浏览器),WebKit内核的AppleSafari和MozillaFirefox浏览器,不支持IE11。跨平台:Windows、Linux和macOS可用于模拟移动端WEB应用的测试,不支持在真机上测试。支持无头模式(默认)和有头模式 2、快速可靠的执行自动等待元素Playwright基于Websocket协议,可以接受浏览器(服务端)的信号。selenium采用的是HTTP协议,只能客户端发起请求。浏览器上下文并行:单个浏览器实例下创建多个浏览器上下文,每个浏览器上下文可以处理多个页面。有弹性的元素选择:可以使用文本、可访问标签选择元素。3、强大的自动化能力playwright是一个进程外自动化驱动程序,它不受页面内JavaScript执行范围的限制,可以自动化控制多个页面。强大的网络控制:Playwright引入了上下文范围的网络拦截来存根和模拟网络请求。现代web特性:支持ShadowDOM选择,元素位置定位,页面提示处理,WebWorker等WebAPI。覆盖所有场景:支持文件下载、上传、OOPIF(out-of-processiframes),输入、点击,暗黑模式等。三、同步和异步APIPlaywright支持同步和异步两种API,使用异步API需要导入asyncio库,它是一个可以用来实现Python协程的库,更详细介绍可参考Python协程。下面介绍如何使用python语言编写简单的playwright自动化脚本。一共有2条测试用例,用例1步骤如下:chrome浏览器打开百度搜索框输入“test”点击百度一下搜索点击搜索结果的第2页用例2步骤:chrome浏览器打开搜狗搜索搜索框输入“test”点击搜狗搜索点击搜索结果的第2页四、连接现有浏览器除了创建新的浏览器实例,Playwright还支持连接到一个已经存在的浏览器实例,这在许多浏览器自动化应用场景中非常有用。例如,可以在已经登录到需要双因素身份验证的帐户或者已经完成了一些手动操作的浏览器中继续自动化程序,或者将控制权交还给手动操作。让我们来看一下如何连接已经存在的Chrome浏览器。首先,我们需要打开Chrome浏览器的调试开关,这可以通过传递--remote-debugging-port参数来实现。在Windows上,你可以在命令提示符下运行以下命令:"C:\ProgramFiles\Google\Chrome\Application\chrome.exe"--remote-debugging-port=9222接着,在打开的浏览器的地址栏中输入:127.0.0.1:9222/json/version五、安装有两种方法来安装该软件。第一种方法是使用Node.js包管理器,如npm。如果选择这种方法,需要在电脑上安装Node.js。对于其他语言,Python使用pypi,Java使用Maven,C#可以使用"dotnetaddpackage"等.NETCLI命令来安装playwright的依赖项。第二种方法是安装VSCode的playwright扩展,它带有方便的安装命令。这种方法能够让整个过程更顺畅、更容易。Playwright的第一个特点(跨浏览器、跨平台和跨语言支持),我们可以说,它支持所有现代浏览器,在任何平台上都没有真正的限制。虽然它也支持流行的语言和技术,但支持的最好的语言是Typescript/Javascript。例如,如果你想在Java中使用Playwright,你需要选择你喜欢的测试运行器,如JUnit,并管理Playwright对象,如BrowserContext和Page。此外,你还需要为HTML报告找到一个解决方案。
  • 所需E币: 0
    时间: 2024-5-20 16:59
    大小: 2.18KB
    日常工作中,我们不可能避免得使用浏览器来完成一些工作,Python也有不少浏览器自动化的工具,我用过selenium、splinter、playwright,最终还是选择了微软的playwright,之所以选择它,是因为它可以自动安装浏览器,不需要手动下载浏览器的驱动程序,比如chromedriver,这样写出来的自动化工具很容易移植到其他系统中运行。Playwright可通过单个API自动执行Chromium,Firefox和WebKit浏览器,支持无头浏览器(headless),Linux、macOS、Windows下均可以使用,Playwright提供的自动化技术是绿色的,功能强大,稳定且速度快。你可以充分发挥空间,想象它可以实现什么样的功能。一、Playwright是什么?微软在2020年初开源的新一代自动化测试工具,它的功能类似于Selenium、Pyppeteer等,都可以驱动浏览器进行各种自动化操作。它的功能也非常强大,对市面上的主流浏览器都提供了支持,API功能简洁又强大。虽然诞生比较晚,但是现在发展得非常火热。Playwright支持大部分的语言,Node.js,Python,Java,.net,并且支持谷歌,火狐浏览器,WebKit,对于移动端也支持,可以在Windows、Linux、MacOs等机器上运行。脚本执行支持同步或者异步的方式。Playwright是一个开源的自动化测试工具,用于测试网页应用。它可以操控Chromium(用于Chrome、Edge等)、Firefox和WebKit(用于Safari)等主流浏览器,使我们能在不同浏览器中执行自动化测试。二、Playwright相对于Selenium的优势在介绍Playwright的安装与Python集成之前,让我们先了解一下Playwright相对于传统的自动化测试工具Selenium的优势所在。1.1跨浏览器支持Playwright支持多种主流浏览器,包括Chrome、Firefox和WebKit(用于Safari),而Selenium在一段时间内对新版本的浏览器支持可能会滞后。1.2更快的执行速度Playwright以其快速的执行速度著称,它能够在多个浏览器上同时执行测试,从而大大减少了测试的执行时间。相比之下,Selenium在执行速度方面可能会慢一些。1.3更稳定的选择器Playwright使用了更先进的选择器引擎,能够更稳定地识别页面上的元素,减少了因页面变化而导致的测试失败的可能性。而Selenium在这方面可能会更容易受到页面变化的影响。三、Playwright是跨语言支持的,支持Python、Java、Node.js、.NET使用场景:自动化测试工程师,可用于Web开发中的各种自动化测试;爬虫工程师,当接口中有加密参数(包括url加密参数、请求头加密参数、cookie加密参数)或者返回数据也是经过加密的,如果加密逻辑太过复杂暂时无法找出,我们可采用自动化的方式获取经过网站渲染过的源码,抓取需要的数据即可;开发工程师,可与其他项目结合来使用,比如docker、github/gitlab等四、为什么选择Playwright?Playwright的优势1、Selenium需要通过WebDriver操作浏览器;Playwright通过开发者工具与浏览器交互,安装简洁,不需要安装各种Driver。2、Playwright几乎支持所有语言,且不依赖于各种Driver,通过调用内置浏览器所以启动速度更快。3、Selenium基于HTTP协议(单向通讯),Playwright基于Websocket(双向通讯)可自动获取浏览器实际情况。4、Playwright为自动等待,而在Selenium中经常需要写sleep去作为一个等待,保证程序正常运行。等待元素出现(定位元素时,自动等待30s,等待时间可以自定义,单位毫秒)等待事件发生