范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

微软自动化神器Playwright(一)之环境搭建及脚本录制

  一、前言
  半年前,偶然在视频号刷到某机构正在直播讲解 Playwright 框架的使用,就看了一会,感觉还不错,便被种草,就想着自己有时间也可以自己学一下,这一想着就半年多过去了。
  读到这,你可能就去百度这东西到底是干啥用的?
  细心的同学,可能会发现,关于 Playwright 基于Python 语言的博文真的是一搜一大把,相对而言Java却少得可怜。
  这不最近又看到某号主,一直在更新关于 Playwright 基于Python语言的文章,这又再次勾起了我的学习欲望。
  要做就做和比人不一样的,那我就写个关于Java系列的就好了。  二、Playwright是什么?
  微软开源自动化测试工具 Playwright ,支持主流浏览器,包括:Chrome、Firefox、Safari  等,同时支持以无头模式、有头模式运行,并提供了同步、异步的 API ,可以结合 主流测试框架使用,并且支持浏览器端的自动化脚本录制等功能。
  「特点:」  跨浏览器: Playwright  支持所有现代渲染引擎,包括Chromium、WebKit  和 Firefox ; 跨平台:在  Windows、Linux  和 MacOS  上进行本地或 CI 、无头或有头测试; 跨语言:在  TypeScript、JavaScript、Python、.NET、Java  中使用Playwright API ; 测试移动网络:适用于  Android  和 Mobile Safari  的 Google Chrome  原生移动仿真。相同的渲染引擎适用于您的桌面和云端。
  官网地址:
  https://playwright.dev
  GitHub地址:
  https://github.com/microsoft/playwright
  「通俗的讲:」  就是一款主流的自动化测试工具,可以跨平台、跨语言、开源、支持分布式、拥有成熟的社区及学习文档,主要用于接口和web自动化测试。 三、开发环境搭建
  网上都是关于 Python 的环境好搭建及安装,各种pip install **  ......
  我就不做重复的事了,那我们就来演示下Java的开发环境搭建就好了  1、开发环境搭建
  添加 pom 文件,如下所示: <?xml version="1.0" encoding="UTF-8"?>      4.0.0      org.example     examples     0.1-SNAPSHOT     Playwright Client Examples              UTF-8                                com.microsoft.playwright             playwright             1.25.0                                                          org.apache.maven.plugins                 maven-compiler-plugin                 3.1                                      1.8                     1.8                                             
  添加 Example.java ,示例代码如下: package org.example;  import com.microsoft.playwright.*;  public class Example {  public static void main(String[] args) {    try (Playwright playwright = Playwright.create()) {      Browser browser = playwright.chromium().launch();      Page page = browser.newPage();      page.navigate("https://www.cnblogs.com/longronglang");      System.out.println(page.title());    }  } }
  运行这个类会下载  Playwright  包并安装适用于 Chromium、Firefox  和 WebKit  的浏览器二进制文件,如下所示:
  image.png
  image.png  2、第一个程序
  打开首页并截图,示例代码如下:  package org.example;  import com.microsoft.playwright.*; import java.nio.file.Paths;  public class WebKitScreenshot {   public static void main(String[] args) {     try (Playwright playwright = Playwright.create()) {       Browser browser = playwright.webkit().launch();       Page page = browser.newPage();       page.navigate("https://www.cnblogs.com/longronglang");       page.screenshot(new Page.ScreenshotOptions().setPath(Paths.get("example.png")));     }   } }
  「运行结果:」
  image.png
  「说明:」
  默认情况下,Playwright 以无头模式运行浏览器。要查看浏览器 UI,需在启动浏览器时传递 headless=false 标志,关于API及具体参数部分会在后续文章中更新。 四、脚本录制1、录制环境的安装
  和很多自动化测试工具一样, Playwright 也是可以录制并生成脚本的。
  那么接下来将演示如何进行脚本的录制( 「我个人是不喜欢录制的」 ),此处操作只为有需要的人。
  由于之前做的 electron 桌面应用环境开发,依赖node.js 运行环境,而Playwright 也是完美支持node. js ,那我将用node 环境给大家演示。
  「确认node环境及版本:」
  node -v
  image.png
  「安装:」  npm init -y npm i -D @playwright/test
  image.png  2、如何录制
  使用 Playwright 无需写一行代码,我们只需手动操作浏览器,它会录制我们的操作,然后自动生成代码脚本。
  「输入如下命令,开启录制」
  如下所示:  npx playwright codegen https://www.cnblogs.com/longronglang(测试的网址)
  image.png
  image.png
  「在playwright inspector中选择你需要语言:」
  这里以Java为例,如下所示:
  image.png
  「操作中会有页面相关定位提示,点击结束录制,并复制生成脚本,如下所示:」
  image.png
  image.png
  「关于元素定位,可以用自带的验证工具验证元素定位表达式,如下图所示:」
  image.png  3、生成脚本
  生成代码如下所示:  package org.example;  import com.microsoft.playwright.*; import com.microsoft.playwright.options.*; import static com.microsoft.playwright.assertions.PlaywrightAssertions.assertThat; import java.util.*;  public class Example {   public static void main(String[] args) {     try (Playwright playwright = Playwright.create()) {       Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions()         .setHeadless(false));       BrowserContext context = browser.newContext();        // Open new page       Page page = context.newPage();        // Go to https://www.cnblogs.com/longronglang       page.navigate("https://www.cnblogs.com/longronglang");        // Click #mainContent >> text=python自动化测试系列教程       page.locator("#mainContent >> text=python自动化测试系列教程").click();       assertThat(page).hasURL("https://www.cnblogs.com/longronglang/p/16667125.html");        // Click #sbTitleText       page.locator("#sbTitleText").click();        // Click #sbTitleText       page.locator("#sbTitleText").click(new Locator.ClickOptions()         .setButton(MouseButton.RIGHT));        // Click #sbTitleText       page.locator("#sbTitleText").click();        // Click .onOff       page.locator(".onOff").click();        // Click .onOff       page.locator(".onOff").click();     }   } }
  「说明:」
  从上面可以看到,录制的脚本会自动带英文注释,而且是可以通过浏览器可以看到运行效果的。
  「回放脚本如下所示:」  将生成脚本,粘贴到IDEA中,点击运行如下:
  2022-09-07_23-04-47-078.gif
  这个框架执行速度有些慢,首次运行比较耗时,其他感觉还好。
  到此关于 Playwright 开发环境搭建及脚本的录制已完成,有兴趣的同学可以自行尝试。 五、写在最后
  「不是你加了几个技术交流群,改了个测试开发备注,就是测开了,至于会到什么程度,自己心里还没数吗?」
  给新同学的建议是, 「不盲目执着于测开,去直接学开发,主要是可以学到思路和处理问题的能力。」
  个人觉得,学习始终是自己的事,无关他人,做自己。
  不管基础如何,有想改变自己的决心,就没有学不会的东西不是吗?
  写这篇文章,纯属技痒和想学习下新技术,后期会写这系列的文章或者教程吧,感兴趣的同学可文末留言,或者加我好友一起交流学习。

今年初秋,百褶裙又卷土重来了!这几种新潮穿法好高级初秋的浪漫,来的轻柔又便捷,换下凉爽时尚的夏装,秋装的温柔和优雅整装待发。构建属于你的智慧衣橱,首先要学会好好的欣赏,不仅欣赏衣物本身,还要欣赏不同穿衣组合之下的万种可能。从衣裤到于明加怪不得能火,穿白裙秀出凹凸身材,女人看了也会心动女明星的身材和颜值比大多数普通人更出众,所以她们在搭配方面能够驾驭的服饰也更多,就比如这一次于明加给自己搭配了白色连衣裙,优雅性感,抹胸连衣裙修饰了她的身材优势,看起来太美了,怪不言慢者贵,性柔者富言缓性柔德厚。言慢者贵,性柔者富,德厚者旺。from曾国藩感性理性思维只要你稍有留意就会观察到那些水平相对有些的人,在很多时候都总是一副冷静地面孔条理清晰并思维缜密安静祥和地举止甚2022年的国庆文案怎么写?1。hr五千年岁月长河,已是过往,九百六十万平方公里,皆是希望。2。hr我爱我的祖国,一刻也不能分割。无论走到哪里,都流出一首赞歌。3。hr你站立的地方,正是你的中国。你怎么样,中国富民强山河锦绣国庆佳节万众欢乐花的世界花的海洋祝愿祖国国富民强欣欣向荣蒸蒸日上民族复兴伟大崛起时至佳节节日快乐花的世界花的海洋四季轮回岁月交替日新月异春暖花开万物复苏生机盎然祈愿神洲生机勃勃蒸蒸人性真相文林旭普通人往往到40岁才明白社会真相,这叫40不惑这时往往已经没什么机会了,各种压力山大上层阶级的人,在20多岁就已经通透那是一种传承,几代人的智慧浇灌出来的人生最大的浪费,不是早安问候语生活总是艰辛日子依然漫长,我们虽渺小却散发着光芒国庆节马上要到了,我却不能回家,因为疫情。疫情阻挡了我回家的路,因为疫情,我只能待在小区里默默的守着寂静的夜晚,默默的抬头望月,思念远方的家人。心里有些难受,但我无能为力,疫情是大中年人的惜命,从不再逼自己开始人到中年,行至半坡,我们的身上,少了年轻时的锋芒毕露,多了几分身不由己。困扰我们的,是扑面而来的生活压力,猝不及防的职场危机,以及大不如前的身体。在这种时候,与其咬牙向前,不如学会人生应有更高精神追求在这秋天,宁愿死去。举起腐败的花朵浆果酿造的毒鸩,一饮而尽,便痛快神离尘寰。一一朋友亲人爱人,请相信那迷失的亡灵吧!它对尘世间的海妖之歌,早已麻木不仁,疲乏困顿不厌其烦,只想溘然死致敬心中的她她从黑暗中走来,未见光明却献身光明她从风雨中走来,身裹泥泞却又洗尽泥泞她从荆棘中走来,血染荆棘又斩尽荆棘她从避难的小船中飘摇而来,又乘纾困的战舰潇洒而去她从千万万的穷山恶水中摸索而生活感悟人生活着的意义是什么时光荏苒,我常常陷入迷茫。你说,这人活着到底是为什么啊,这人呀,没钱没势的时候,就想变个活法,有钱优势了呢,你又发现已经不是自己了,你是在为别人而活着,可别人很重要吗,你又何苦为难
前议员不满8成巴黎奥运会吉祥物是中国制造,法国官员我们还能有2成就不错了(观察者网讯)2024年巴黎奥运会和残奥会吉祥物公布后,一场关于吉祥物玩偶产地的争论随之而来。据法国媒体RMC当地时间15日报道,对于80的吉祥物弗里吉玩偶将为中国制造,前法国国民狮子座流星雨18日迎来极大历史曾大规模爆发中新网南京11月15日电(记者杨颜慈)据中国科学院紫金山天文台15日消息,被誉为流星雨之王的狮子座流星雨18日将迎来极大,喜欢流星雨的发烧友可以准备好自己的小心愿,静静等待流星划落霉霉走红毯风情万种!吊带镂空裙比超模大胆开放,为搏眼球太风骚不得不说,霉霉的身材在一众好莱坞女星当中还是非常亮眼的,该瘦的地方瘦,该胖的地方胖,整体给人一种珠圆玉润的感觉,所以穿起晚礼服来也格外吸睛。而近日,霉霉在走红毯时的照片再次登上了热小美甲大乾坤,英国美甲师巧手构建手指上的3D微观世界SophParkinson是位英国的美甲达人,她把雕塑技巧运用于平面的美甲世界中,创造出新的视觉感,于指甲上建构出令人惊叹之3D微观世界。ophParkinson在英国伦敦著名的艺会活潮奢艺术生活方式指南出炉,in99这次为何又抢先了?据小红书官方后台数据显示,从2022年8月5日起至2022年11月2日,短短3个月,来自意大利的奢侈品牌MARNI在小红书上拥有近2。7亿曝光量,相关笔记数超4100篇,阅读量超8当你身边出现这些喜事,看似有面子,其实是衰败的开始古人有言喜极而泣,乐极生悲。当人开心到极点时,那他就会流泪哭泣。当人快乐到极致时,悲哀将会不期而至。这人世间的一切事儿,都逃不过物极必反的必然结果。有些时候,好事不一定是好事,也有请远离心穷的人王尔德曾经说过在我年轻的时候,曾经以为金钱是世界上最重要的东西。现在我老了,才发现确实如此。诚然,我们生活在俗世中,衣食住行样样都要钱。但你知道吗?这世界上,比贫穷更可怕的事情,是张君堂成全成全张君堂同道而行,能相互成全者为知己。在漫漫人生旅途中,不管你走了多长,当回顾你成全了谁,谁又成全了你的时候,便知道成全的珍贵了。同凤凰齐飞,必是俊鸟与虎狼同行,必是猛兽。没有远女生哄自己开心的40件小事爱自己,是终身浪漫的开始,的确,与其被焦虑挫败灰暗的坏情绪所裹挟,不如试着去做一些治愈自己的小事,让自己从身到心从内到外得到彻底的放松与滋养。生活已经很累了,又何苦为难自己?下面为博山记忆梦里的奶奶作者神剑有一位老妇人她手里拄着拐杖,她微笑着从远处缓缓向我走来,在她身体的两侧有泛起的朵朵白云,犹如是一位童话里的神仙老人,有远至近,此时,在我倾注的眼神里,我猛然的发现那不是我的守护那道光转眼之间,春暖花开,阿丽和我如约相遇,她再一次来到了我的学校。我开心的像个孩子,手舞足蹈的向她奔跑而去,她站在那里,微笑如花,就像一个小小的太阳,将我的心融化,还能给我温暖。我像机