专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

微软自动化神器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中使用PlaywrightAPI;测试移动网络:适用于Android和MobileSafari的GoogleChrome原生移动仿真。相同的渲染引擎适用于您的桌面和云端。
  官网地址:
  https:playwright。dev
  GitHub地址:
  https:github。commicrosoftplaywright
  通俗的讲:就是一款主流的自动化测试工具,可以跨平台、跨语言、开源、支持分布式、拥有成熟的社区及学习文档,主要用于接口和web自动化测试。三、开发环境搭建
  网上都是关于Python的环境好搭建及安装,各种pipinstall。。。。。。
  我就不做重复的事了,那我们就来演示下Java的开发环境搭建就好了1、开发环境搭建
  添加pom文件,如下所示:lt;?xmlversion1。0encodingUTF8?projectxmlnshttp:maven。apache。orgPOM4。0。0xmlns:xsihttp:www。w3。org2001XMLSchemainstancexsi:schemaLocationhttp:maven。apache。orgPOM4。0。0http:maven。apache。orgxsdmaven4。0。0。xsdmodelVersion4。0。0modelVersiongroupIdorg。examplegroupIdexamplesartifactIdversion0。1SNAPSHOTversionnamePlaywrightClientExamplesnamepropertiesproject。build。sourceEncodingUTF8project。build。sourceEncodingpropertiesdependenciesdependencygroupIdcom。microsoft。playwrightgroupIdplaywrightartifactIdversion1。25。0versiondependencydependenciesbuildpluginsplugingroupIdorg。apache。maven。pluginsgroupIdmavencompilerpluginartifactIdversion3。1versionconfigurationsource1。8sourcetarget1。8targetconfigurationpluginpluginsbuildproject
  添加Example。java,示例代码如下:packageorg。example;importcom。microsoft。playwright。;publicclassExample{publicstaticvoidmain(String〔〕args){try(PlaywrightplaywrightPlaywright。create()){Browserbrowserplaywright。chromium()。launch();Pagepagebrowser。newPage();page。navigate(https:www。cnblogs。comlongronglang);System。out。println(page。title());}}}
  运行这个类会下载Playwright包并安装适用于Chromium、Firefox和WebKit的浏览器二进制文件,如下所示:
  image。png
  image。png2、第一个程序
  打开首页并截图,示例代码如下:packageorg。example;importcom。microsoft。playwright。;importjava。nio。file。Paths;publicclassWebKitScreenshot{publicstaticvoidmain(String〔〕args){try(PlaywrightplaywrightPlaywright。create()){Browserbrowserplaywright。webkit()。launch();Pagepagebrowser。newPage();page。navigate(https:www。cnblogs。comlongronglang);page。screenshot(newPage。ScreenshotOptions()。setPath(Paths。get(example。png)));}}}
  运行结果:
  image。png
  说明:
  默认情况下,Playwright以无头模式运行浏览器。要查看浏览器UI,需在启动浏览器时传递headlessfalse标志,关于API及具体参数部分会在后续文章中更新。四、脚本录制1、录制环境的安装
  和很多自动化测试工具一样,Playwright也是可以录制并生成脚本的。
  那么接下来将演示如何进行脚本的录制(我个人是不喜欢录制的),此处操作只为有需要的人。
  由于之前做的electron桌面应用环境开发,依赖node。js运行环境,而Playwright也是完美支持node。js,那我将用node环境给大家演示。
  确认node环境及版本:
  nodev
  image。png
  安装:npminitynpmiDplaywrighttest
  image。png2、如何录制
  使用Playwright无需写一行代码,我们只需手动操作浏览器,它会录制我们的操作,然后自动生成代码脚本。
  输入如下命令,开启录制
  如下所示:npxplaywrightcodegenhttps:www。cnblogs。comlongronglang(测试的网址)
  image。png
  image。png
  在playwrightinspector中选择你需要语言:
  这里以Java为例,如下所示:
  image。png
  操作中会有页面相关定位提示,点击结束录制,并复制生成脚本,如下所示:
  image。png
  image。png
  关于元素定位,可以用自带的验证工具验证元素定位表达式,如下图所示:
  image。png3、生成脚本
  生成代码如下所示:packageorg。example;importcom。microsoft。playwright。;importcom。microsoft。playwright。options。;importstaticcom。microsoft。playwright。assertions。PlaywrightAssertions。assertThat;importjava。util。;publicclassExample{publicstaticvoidmain(String〔〕args){try(PlaywrightplaywrightPlaywright。create()){Browserbrowserplaywright。chromium()。launch(newBrowserType。LaunchOptions()。setHeadless(false));BrowserContextcontextbrowser。newContext();OpennewpagePagepagecontext。newPage();Gotohttps:www。cnblogs。comlongronglangpage。navigate(https:www。cnblogs。comlongronglang);ClickmainContenttextpython自动化测试系列教程page。locator(mainContenttextpython自动化测试系列教程)。click();assertThat(page)。hasURL(https:www。cnblogs。comlongronglangp16667125。html);ClicksbTitleTextpage。locator(sbTitleText)。click();ClicksbTitleTextpage。locator(sbTitleText)。click(newLocator。ClickOptions()。setButton(MouseButton。RIGHT));ClicksbTitleTextpage。locator(sbTitleText)。click();Click。onOffpage。locator(。onOff)。click();Click。onOffpage。locator(。onOff)。click();}}}
  说明:
  从上面可以看到,录制的脚本会自动带英文注释,而且是可以通过浏览器可以看到运行效果的。
  回放脚本如下所示:将生成脚本,粘贴到IDEA中,点击运行如下:
  20220907230447078。gif
  这个框架执行速度有些慢,首次运行比较耗时,其他感觉还好。
  到此关于Playwright开发环境搭建及脚本的录制已完成,有兴趣的同学可以自行尝试。五、写在最后
  不是你加了几个技术交流群,改了个测试开发备注,就是测开了,至于会到什么程度,自己心里还没数吗?
  给新同学的建议是,不盲目执着于测开,去直接学开发,主要是可以学到思路和处理问题的能力。
  个人觉得,学习始终是自己的事,无关他人,做自己。
  不管基础如何,有想改变自己的决心,就没有学不会的东西不是吗?
  写这篇文章,纯属技痒和想学习下新技术,后期会写这系列的文章或者教程吧,感兴趣的同学可文末留言,或者加我好友一起交流学习。

下一个加密市场中的机会你应该去把握!加密货币市场就像一场大逃杀,只有最强者才能生存。就像在大逃杀中一样,当一个战士倒下时,另一个挑战者很快就会出现。这正是加密货币市场的运作方式。地位最强的两个是比特币和以太坊。他们是钼价创近18年新高,小金属越来越活跃了记者王勇编辑受益于新能源等新兴行业的发展,钼锑钨等小金属或成为2023年追捧的热点。安泰科2月2日数据显示,品位4550的钼精矿均价涨至5510元吨度,环比上涨超两成,同比涨幅1。工程机械巨头价格战换战场,东南亚市场也内卷?中国经济周刊记者郭志强湖南报道王虎平终于可以回湖南过年了,他已经两年没回来了,各种年俗和浓浓的年味让他真切地感受那最熟悉的乡土发生的深刻变化。王虎平是山河智能国际市场发展中心印尼专盘山公安警急出动寻回走失老人近日盘山县公安局太平派出所接到老人走失的求助六小时成功将其找回2月4日下午盘山县公安局太平派出所接到求助求助者称自家老人于当日中午从家中离开至今未返回到家中走失老人还有智力障碍,不警惕家委会成违规购买教辅软件的帮凶吴睿鸫据中国政府网,山东省聊城市代先生通过国务院互联网督查平台反映,冠县第一中学组织学生购买一款名为提分宝的软件,价格比较高,增加了学生家庭经济负担。经查,2022年9月,该校教师泽连斯基出了趟远门,还没到家,英法德态度变了想要战机还得谈随着时间推移,俄乌冲突即将满一周年,在这一特殊的节点,俄乌双方似乎都在酝酿大动作。据乌克兰官员表示,俄军已经开始集结并储存弹药,预计会在2月15日之后发起反攻。而乌克兰这边,除了敦因诚实守信当选中国好人!湖北六旬老农为偿还近百万元菜籽款践诺17年湖北当阳市半月镇红光村农民陈廷海,2006年收购村民价值98万元油菜籽,因厂家失信让他欠下巨额债务。有人劝陈廷海跑路。他摇摇头我跑了,欠的就是良心债,一辈子都还不清了!210户乡亲寻辽宁朝阳籍烈士王有才后人,他在平津战役牺牲,静待亲人为烈士寻亲,为烈士安魂。日前,抖音寻人寻找烈士后人项目与平津战役纪念馆合作,借助今日头条的技术优势,为英烈墙上尚未联系到亲人的5000多名烈士寻找后人。本次要为以下这位烈士寻找后代春运见证流动中国的勃勃生机历添新岁月,春满旧山河。春节,历来是中国人最重要的传统节日,在红红火火辞旧迎新之中,交织着千家万户当下的团圆喜乐和对未来的希冀祝福。而每年的春运,既是节前通往家乡的温暖归途,更是节小男孩穿旧衣服被同学嫌弃,老师家访发现他爹一身名牌!有一个四年级的小男孩小明(化名),最近颇受他的班主任关注因为这孩子本来很活泼,却忽然变得沉默寡言,总是低着头四处乱看,一副怕人注意他的样子班主任了解以后才知道,原来孩子因为穿的衣服低胸吊带裙,时髦,性感,有个性,才是女人的挚爱啊!对于日常穿搭,有的女生追求大方得体,有的女生追求时尚个性。小姐姐们把甜美的女人味展现得淋漓尽致,不相信就一起来看看吧。小姐姐们时髦帅气的搭配,轻松尽展曼妙的身姿,走在街头,为整个造
占全国市场份额的75!江苏新街镇船用救生产品销售火热!有企业订单已经排满(央视财经经济半小时)江苏省东台市新街镇,是全国海洋工程特种装备产业基地。产品从初期生产简易救生装置逐步发展成为涵盖救生信号消防环保共四大系列1200多个品种的成熟产业链,其中,船苹果独占全球手机市场85利润顶级旗舰机型硬件成本仅三千块财联社2月16日讯(编辑赵昊)研究机构Counterpoint近日发布的一份报告显示,在去年第四季度全球智能手机明显降温的环境下,苹果公司凭借优于同行的应对能力,独占整体市场85的国乒男单大溃败,9人参战7人失利,00后小将吞111惨败北京时间2月16日,乒乓球WTT杜塞尔多夫支线赛正在激烈进行,不过中国男单选手的表现不太理想。9名选手参赛,有7人输给了外国选手。其中在32强赛中,更是出现了一场非常悬殊的比分年轻超越杜兰特!布里奇斯杀疯了,托马斯194,热巴2010,网胜火北京时间2月16日,NBA常规赛迎来一场焦点大战,东部第5的篮网坐镇主场迎战东部第6的热火。赛前篮网战绩33胜24负,篮网自从欧文杜兰特出走后,近5战1胜4负。热火32胜26负,洛阿尔特塔想战胜曼城得有非常好的表现开场时球队目标不明确直播吧2月16日讯在刚刚结束的比赛中,阿森纳13不敌曼城。赛后阿尔特塔接受了亚马逊的采访,谈到了他对比赛的看法。阿尔特塔说道最后我们很失望,因为我们输了,我的意思是我们,两场球队上Shams谈哈登雇经纪人哈登已在为休赛期和剩余生涯做打算直播吧2月16日讯此前据名记Shams报道,哈登聘请前阿迪达斯高管特洛伊佩恩担任全职经纪人。这也是哈登自2017年以来首次聘请全职经纪人,此前他的经纪人为佩林卡,但佩林卡后来去到湖北京首钢放弃李慕豪揭晓!球迷揭开扎心内幕解立彬早就看穿北京首钢放弃李慕豪揭晓!球迷揭开扎心内幕解立彬早就看穿。网友热议一针见血地指出李慕豪进攻不行,防守更不行。动作迟缓,太软。早点交换吧。是金子总会发光,是锥子总能露头。可惜李慕豪都没德媒药厂边锋贝拉拉比周二晚遭入室盗窃,这是2018年来的第三次直播吧2月16日讯德媒图片报报道称,勒沃库森边锋贝拉拉比的别墅在本周再次遭遇入室盗窃。报道中表示在周二晚间,贝拉拉比位于克雷费尔德(北威州城市)的别墅发生了一起企图入室盗窃的事件。屡次入选中国男篮国家队,肯定有其过人之处中国男篮计划2月19出征香港,在出征前中国男篮大名单肯定会确定的,预计这两天会对外公布,届时谁去谁留,又将会有诸多争议。除了那些已经获得教练组免检的球员,例如周琦王哲林胡金秋周鹏张中国男篮新一代核心出世,看来,换血开始了,但乔帅却松了一口气头条创作挑战赛中国男篮正式开始换血,新一代核心也已出世,可乔帅却抹了把冷汗中国男篮已经正式开始换血,就算郭艾伦赵继伟周琦以及王哲林等主力球员还都在当打之年,但其他的主力球员显然就迎三巨头!保罗我和哈登格里芬单独合作过但还没同时搭档过俩直播吧2月16日讯今天,克里斯保罗接受了ESPN的采访。保罗表示自己仍在努力接受更衣室里有了杜兰特这样一位出色的球员这个事实,他说道这是不一样的。这需要一些时间来适应。前几天我告诉
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网