首页 > 其他分享 >软件测试|web自动化测试神器playwright教程(二十)

软件测试|web自动化测试神器playwright教程(二十)

时间:2023-06-30 11:36:47浏览次数:35  
标签:web playwright 浏览器 -- 复用 context page 软件测试

前言

我们都知道,selenium可以实现Chrome浏览器的复用,绕过登录步骤,实现cookie的复用,playwright同样也可以实现该功能。

环境设置

我们在使用selenium进行浏览器复用时,需要提前将Chrome浏览器配置到我们的环境变量中,具体步骤如下:

  1. 找到Chrome浏览器的安装路径,如下图:

软件测试|web自动化测试神器playwright教程(二十)_环境变量

  1. 将'C:\Program Files (x86)\Google\Chrome\Application'配置到环境变量中,如下图:

软件测试|web自动化测试神器playwright教程(二十)_复用_02

  1. 打开cmd输入命令启动chrome浏览器
  • --remote-debugging-port 是指定运行端口,只要没被占用就行,一般为9222
  • --user-data-dir 指定运行浏览器的运行数据,新建一个干净目录,不影响系统原来的数据

示例如下:

chrome --remote-debugging-port=9222 --user-data-dir="xxxxxx"

运行命令将打开新的浏览器界面,如下图:

软件测试|web自动化测试神器playwright教程(二十)_Chrome_03

参数:

  • --incognito 隐私模式打开
  • -–start-maximized:窗口最大化
  • --new-window:直接打开网址

playwright 复用浏览器

当页面打开后,可以使用connect_over_cdp()方法接管前面已经打开的浏览器,获取到context 上下文,通过上下文再获取到page对象。我们以在企业微信的通讯录添加成员为例。

软件测试|web自动化测试神器playwright教程(二十)_复用_04

代码如下:

from playwright.sync_api import Playwright, sync_playwright, expect


def run(playwright: Playwright) -> None:
    browser = playwright.chromium.launch(headless=False)
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://work.weixin.qq.com/wework_admin/loginpage_wx?redirect_uri=https%3A%2F%2Fwork.weixin.qq.com%2Fwework_admin%2Fframe")
    page.goto("https://work.weixin.qq.com/wework_admin/frame")
    page.get_by_role("link", name="通讯录", exact=True).click()
   

    # ---------------------
    context.close()
    browser.close()


with sync_playwright() as playwright:
    run(playwright)

当我们成功访问网站后,只需要按照页面步骤添加成员即可完成操作。

总结

本文主要介绍了playwright对已打开的浏览器的操作,playwright与selenium一样,都支持对浏览器的复用,帮助我们避开登录操作。

标签:web,playwright,浏览器,--,复用,context,page,软件测试
From: https://blog.51cto.com/u_15640304/6589230

相关文章

  • 软件测试|web自动化测试神器playwright教程(二十一)
    前言我们在日常工作和生活中,经常会遇到滑块的情况,如下图所示:淘宝的网页登录,在我们输入完账号密码后,需要按住滑块,并且滑动至最右边,才可以登录。这是最为常见的滑块安全验证机制,当然也对我们的自动化工作造成了部分的困扰,在selenium中,我们可以通过滑动滑块来解决这个问题,而playwright......
  • 软件测试|web自动化测试神器playwright教程(二十二)
    前言工作和生活中,经常会遇到我们需要进行选择的情况,比如勾选,或者我们选择性别,男女两个性别总是不能同时选中的,比如我们在选择兴趣爱好时,我们可以选择多个自己感兴趣的话题,比如篮球足球电竞等话题。我们在执行自动化测试的过程中,必须要学会处理这样的情况。页面示例以下面的界面为例......
  • 软件测试|web自动化测试神器playwright教程(二十三)
    前言我们在进行web自动化时,经常遇到一些不好操作的元素,普通的元素定位和操作容易报错,如果我们使用的selenium的话,就可以使用selenium调用js脚本进行操作。在playwright中也有类似的方法,使用page.evaluate()执行JavaScript脚本。page.evaluate()和page.evaluate_handle()之间的唯......
  • 基于SpringMVC搭建WebSocker
    SpringMVC的搭建请参考我以前的文章基于XML搭建SpringMVC项目基于Spring注解搭建SpringMVC项目(推荐)1.添加pom依赖本文使用最新的Spring6,一些依赖的问题需要自行解决<!--添加socket支持--><dependency><groupId>org.springframework</groupId><a......
  • .net6搭建websocket
    当使用.NET6构建WebSocket微服务时,可以按照以下步骤进行操作:1.创建新的.NET6项目:打开适用于.NET6的IDE(如VisualStudio2022或VisualStudioCode),创建一个新的空白项目。.net6默认引入了Microsoft.AspNetCore.WebSockets2,3步骤省略2.添加WebSocket支持:确保项目引用了`Mi......
  • OpenWebSpider 安装使用
    OpenWebSpider是一个很好用的网络爬虫,也可以叫做“网络蜘蛛”.安装:1.使用Vs.net2003编译,记得要copylibmysql.dll到工程里2.配置文件openwebspider.conf将已经启动了的mysql数据库用户名,密码填写好3.数据库建立执行sql_struct.txt下的文件目录。OKGoahead,grabbleyourw......
  • 音视频之webRTC和直播
    webrtc是什么Webreal-timecommunication,实时通讯解决方案,涵盖音视频采集、通讯建立、信息传输、音视频显示。怎么做到的音视频采集通过webrtc中MediaStreamAPIgetUserMedia可以获取设备媒体流,包括麦克风、摄像头、屏幕画面等,需要注意兼容性问题。端到端如何音视......
  • Nginx 常用的基础配置(web前端相关方面)
    基础配置userroot;worker_processes1;events{worker_connections10240;}http{log_format'$remote_addr-$remote_user[$time_local]''"$request"$sta......
  • 全栈测试开发系列----WebDriver API及对象识别技术(二)---selenium验证码处理的多种实现
    前言对于测试人员而言,不管是进行性能测试还是自动化测试,验证码的处理都是棘手的存在,在WEB应用中,大部分系统在用户登录的时候都要求用户输入验证码,且验证码的种类繁多,如纯数字、纯字母、汉子组合、数学题运算、滑动图标、图片、短信、邮箱、语音等。既然要实现验证码的处......
  • 使用 Python WebSSH 从浏览器连接到SSH终端
    IntroductionOrdinarily,youconnecttoanSSHserverusingacommandlineappinaterminal,orterminalemulatorsoftwarethatincludesanSSHclient.Sometools,likePython’sWebSSH,makeitpossibletoconnectoverSSHandrunaterminaldirectlyin......