《刚刚问世》系列初窥篇-Java+Playwright自动化测试-1-环境准备与搭建

java,playwright · 浏览次数 : 0

小编点评

本文介绍了如何在Windows 10 64位系统上使用Java和Playwright进行自动化测试。首先,宏哥计划先完成Python+Playwright的教程,然后再撰写Java+Playwright的教程。由于许多人对Java版本的Playwright感兴趣,宏哥决定同时发布这两个系列的教程。 为了搭建Java和Playwright的开发环境,宏哥需要安装JDK 1.8、Eclipse开发和Playwright相关jar包。详细步骤包括: 1. 下载并安装JDK 1.8。 2. 设置JAVA_HOME、CLASSPATH和PATH环境变量。 3. 安装Eclipse开发工具。 4. 下载并配置Playwright相关jar包。 5. 将jar包添加到Java项目中。 在完成环境搭建后,宏哥提供了一个简单的入门代码,并展示了如何运行代码以检查环境是否搭建成功。 最后,宏哥提到了使用Maven搭建Java+Playwright环境的便利性,并建议读者参考官方文档以避免踩坑。

正文

1.简介

  Python+Playwright系列的文章还没有结束,就有好的小伙伴或者童鞋们私信公众号留言,问宏哥什么时候出Java语言的Playwright的自动化测试文章。本来想趁热打铁将Python+Playwright完结后,就开始Java语言的Playwright的自动化测试文章,但是好多人私信留言,索性就两个系列的文章同时进行吧,还有一个原因就是许多小伙伴们或者童鞋们私信问宏哥什么时候可以有java版的Playwright,因为不会Python,或者现在大多数企业和公司还是把java奉在神坛上,所以宏哥打算就换个口味,介绍一下Java+Playwright自动化测试。大致和前边的Python+Playwright自动化测试差不多。基于Java和Playwright做自动化测试,俗话说:工欲善其事必先利其器;没有金刚钻就不揽那瓷器活,磨刀不误砍柴工,因此你必须会搭建基本的开发环境,掌握Java基本的语法和一个IDE来进行开发,这里通过详细的讲解,介绍怎么搭建Java和Playwright开发环境,并提供一个基本入门的代码,后续逐步提供这一系列实践文章。

2.环境准备

2.1所需要安装的组件或者工具

1.宏哥的环境是Windows 10版本 64位系统(32位的同学自己想办法哦),如下图所示:

 2.宏哥的Java版本为:1.8.0_181 (64位),如下图所示:

3.查看Java语言的Playwright的环境要求(还好宏哥的Java版本刚刚达标了,Java8新特性:简介 Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Java 8 是oracle公司于2014年3月发布,有兴趣的自己查阅相关资料),如下图所示:

4.Eclipse开发工具,现在好多人已经用IntelliJ IDEA开发工具了,这个比较专业,宏哥这里就不做更多的介绍,完全看个人喜好。如下图所示:

5.PlayWright for Java(这里playwright就不需要考虑浏览器和driver的版本是否匹配,方便了好多,宏哥这里没有选择最新的和最老的jar包,最新的宏哥怕有bug,最老的宏哥怕有些方法不支持),如下图所示:

2.2JDK安装与配置

1.下载jdk包,小编的是64位1.8版本,其它高级版本应该也是可以的。根据自己的系统选择对应版本

2.一路傻瓜式安装,注意安装路径不要有空格,不要有中文。jdk和jre不要放在一个文件夹下

3.设置三个环境变量,我的电脑>选择“属性”->“高级”->“环境变量”->“系统变量”->“新建”

(1)JAVA_HOME----D:\software\Java\jdk1.8.0_181” (根据自己安装路径填写),如下图所示:

(2)CLASSPATH--- .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;  ,如下图所示:

(3)PATH-----;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

在path路径下加上面那两个,这里就不多说了

4.打开cmd验证是否安装成功,输入java -version,然后输入javac 。能显示版本号和下面的帮助信息说明安装成功,如下图所示:

2.3Eclipse的安装与设置

关于Eclipse的下载和设置,请参考宏哥的一篇文章:传送门

2.4下载Playwright相关包和工具

Playwright下载的官网是:https://mvnrepository.com/artifact/com.microsoft.playwright,访问如下图所示:

 2.4.1下载相关jar包

1.点击下图中的"Playwright Main Library”,如下图所示

2.点击下图中的1.40.0链接触发下载 playwright-1.40.0.jar,如下图所示:

3.点击“Jar”,就开始下载jar包了,如下图所示:

按照上边的方法下载相同版本的前边三个Jar包,第四个是用于断言的后期如果代码中要断言,也需要下载引入项目中,如下图所示:

3.搭建环境

Java+Playwright自动化测试的搭建环境方法很简单,总结成一句话:下载Jar包,引入Jar包即可!下边听宏哥给你慢慢道来。

添加3个jar包即可。如果需要断言需要添加4个jar包。这个方法比较简单是首选也是宏哥推荐的方法。

3.1项目引入jar包

1.下载playwright-1.40.0.jar 。下载地址也在:官方下载地址:https://mvnrepository.com/artifact/com.microsoft.playwright/playwright 如果官方地址无法访问自己可以网上搜一下应该可以 轻松的下载到,如果实在找不到可以微信搜索“北京宏哥”公众号,关注宏哥以后进入公众号发送“jar包”来获取下载方法。

(1)点击下图中的1.40.0链接触发下载 playwright-1.40.0.jar,如下图所示:

(2)点击“Jar”,就开始下载jar包了,如下图所示:

2.将 playwright-1.40.0.jar 添加到java项目中就可以了,如下图所示:

3.最后将Playwright的Jar包成功引入宏哥新建的java project(bjhg_playwright)项目中,如下图所示:

4.按照上边的方法引入其他playwright相关的jar包,如下图所示:

全部引入后,到此,环境就搭建好了,是不是很简单哈,是不是so easy。

4.牛刀小试

上边已经介绍完环境的搭建,下边就仿照官方示例,写一个基本的入门代码看看环境是否搭建成功。

4.1代码设计

4.2参考代码

package bjhg_playwright;

import com.microsoft.playwright.*;
import java.nio.file.Paths;

/**
 * @author 北京-宏哥
 * 
 * @公众号:北京宏哥(微信搜索,关注宏哥,提前解锁更多测试干货)
 * 
 * 《最新出炉》系列初窥篇-Java+Playwright自动化测试-1-环境准备与搭建
 *
 * 2024年6月29日
 */

public class Test_Playwright {
    
    public static void main(String[] args) {
        try (Playwright playwright = Playwright.create()) {
          Browser browser = playwright.webkit().launch();
          Page page = browser.newPage();
          page.navigate("https://www.baidu.com/");
          page.screenshot(new Page.ScreenshotOptions().setPath(Paths.get("example.png")));
          System.out.println(page.title());
        }
      }

}

4.3运行代码

1.运行代码,右键Run AS,就可以看到控制台输出,如下图所示:

2.运行代码,控制台打印。如下图所示:

3.在代码根目录找到截图,如下图所示:

5.小结 

1.细心的小伙伴或者童鞋们会发现前边宏哥的截图只有一个jar包,宏哥之前认为引入一个jar包即可,没有想到完整项目竟然需要4个jar包,一开始宏哥引入一个jar包,运行代码就报错某某个方法没有找到,报空指针的错误,然后宏哥查阅资料,于是引入第二jar包,没有想到运行代码,还是同样错误。宏哥奇了怪了,难道playwright不能用这种引入jar包的方式搭建环境,只能采用maven的方式搭建环境吗?宏哥觉得不可能啊,只要maven方式可以,这种一定也可以。然后刚好周末休息了一下,下午午休完,宏哥突然意思到为啥在官网的首页放了四个jar包,分明就是需要把四个jar全部都引入项目中才可以搭建成功,然后宏哥抱着试一下心态,没有想到引入后,运行代码居然稍等一会,宏哥以为又要失败了,没有想到出现如下图所示界面,成功下载 Playwright 包并安装适用于 Chromium、Firefox 和 WebKit 的浏览器二进制文件,如下图所示:

2.然后宏哥回过头来再官网内容,确实是需要引入4个jar包,一开始着急搭建环境又是英文的宏哥就大致瞥了一眼,觉得引入一个就可以搭建环境成功,开始也怀疑为啥展示4个jar包的图片链接,这次宏哥知道了,果然心急吃不了热豆腐啊!以下是宏哥用浏览器自带的翻译功能翻译的官网页面,虽然有点蹩脚,但是凑合能看,人家清楚的描述了每一个jar包的功能作用,只怪宏哥太年轻没有去细细地看才有了后续的一系列麻烦事。

3.宏哥以为到此就大功告成了,万万没有想到,代码运行到最后又给了宏哥当头一棒,哈哈,又报错了,真正的是服气了,好多坑啊!估计宏哥是第一个用这种方法搭建环境,并且第一个填坑的人,还是没有找到相关的方法报错,如下图所示:

4.没有办法了,遇到问题就解决呗,幸好周末没有事时间就充裕,开始一看到Google,宏哥猜测可能是外网有限制访问不到这个方法吗?但是,用到的方法宏哥都通过jar包引入了,不可能再去访问外网去,这么一想就排除了这一想法。然后宏哥就去官网查找,随心所欲的点击查找,偶然发现有一个项目中引入的jar包好像依赖另一个jar包,刚好报错和这个依赖的jar包相似,宏哥就抱着试一试的心态,下载依赖的jar包,引入jar包,然后运行代码最后成功了,哈哈!到此才是真正的大功告成啊,真的是惊喜不断,刺激连连啊!还是用maven搭建方便,啥都不需要管,只要引入就会自动下载你需要的jar包(当然有外网限制,需要换成国内镜像)。下边看看那个依赖的jar包,如下图所示:

5.最后将其引入项目中,如下图所示:

6.运行代码,控制台成功打印并截图,如下图所示:

关于Java+Playwright的环境搭建,宏哥就分享到这里,其实还有别的方法可以实现,宏哥这里只不过列举了最笨的方法,总结一句话,就是添加4个jar包,其实也很简单了。仅大家学习和参考。好了,时间不早了,今天就分享到这里!感谢您耐心的阅读。宏哥下一篇讲解和分享如何用maven搭建Java+Playwright搭建环境,想必就不会遇到这么多坑了吧。最后建议将这一篇文章从后往前看,不然就可能会跟随宏哥脚步一路踩坑过来哦!

与《刚刚问世》系列初窥篇-Java+Playwright自动化测试-1-环境准备与搭建相似的内容:

《刚刚问世》系列初窥篇-Java+Playwright自动化测试-1-环境准备与搭建

1.简介 Python+Playwright系列的文章还没有结束,就有好的小伙伴或者童鞋们私信公众号留言,问宏哥什么时候出Java语言的Playwright的自动化测试文章。本来想趁热打铁将Python+Playwright完结后,就开始Java语言的Playwright的自动化测试文章,但是好多人

《最新出炉》系列初窥篇-Python+Playwright自动化测试-3-离线搭建playwright环境

1.简介 有些小伙伴或者童鞋们私信留言说自己是在公司局域网办公,或者公司为了安全对网络管控比较严格(尤其是一些大的国企、央企),总之就是一句话无法连到外网去在线下载,宏哥刚看到留言时觉得这问题还留言问啊,你找个有网的电脑下载好安装包然后安装就可以用了。(第一种情况及解决办法:带要搭建环境的电脑到有网

上周面了百度,问的很细~

上周刚刚面了百度,问的问题不算很难,但却很细,我把这些面试题和答案都整理出来了,一起来看吧。 重点介绍一个你觉得有意义的项目? 回答技巧和思路: 介绍的项目业务难度和技术难点要高一些,最好是微服务项目。 简明扼要的讲清楚项目核心板块的业务场景即可,切忌不要讲的太细和太久,这只是面试官要考察你技术问题

给公众号接入`FastWiki`智能AI知识库,让您的公众号加入智能行列

最近由于公众号用户太多,我就在思考有啥方式能给微信公众号的粉丝提供更多的更好的服务?这个时候我就想是否可以给公众号接入一下AI?让用户跟微信公众号对话,然后还能回到用户的问题,并且我提供一些资料让AI帮我回复用户的信息? 这个时候刚刚好我们的FastWiki项目满足了部分需求,然后我们就顺便加入了微

记一次栈溢出异常问题的排查

刚修改的服务,推到开发环境之后,总是时不时的崩溃,但是不知道为什么。尝试找到他的最后一次调用,也没有复现。 没有办法,只能抓dump了。 开启崩溃自动dump,网络上很多,不赘述了。 拿到dump之后,首先看看是什么类型的异常 如图所示,是个栈溢出的异常。 打印一下堆栈,发现密密麻麻的全是这个代码。

Log4j疯狂写日志问题排查

刚开始收到磁盘告警的时候,怀疑是日志级别问题,业务日志输出过多导致磁盘打满。但是查看我们自己的业务日志文件目录,每个日志文件内容都不是很大。

python基础环境

刚开始接触并学习一门开发语言,带着不求甚解的想法,其实也挺有好处的:我并不是所有的东西都知道,但是代码跑起来了。 但是时间久了,还是带着这种想法,可能就会遇到一些棘手的问题。比如电脑上不知不觉已经安装了多个python版本,python3.8/3.10/3.11,甚至一些软件中也集成有python解

效率回归,工具库之美「GitHub 热点速览」

刚开源就变成新星的 igl,不仅获得了 2k+ star,也能提高你开发游戏的效率,摆平一切和图形有关的问题。如果这个没有那么惊艳的话,还有 The-Art-of-Linear-Algebra,重燃了我学习线性代数的自信心;htmx 则是一个被称为“后端工程师的前端库”,可以让人安心用 HTML 搞定页面,同样的 Web 应用技术还能用到的有 reflex,这个老牌的 Python 工具,常做 Web 开发的人一定不陌生。

解析PPTX 遇到异常:“\b”(十六进制值 0x08)是无效的字符。

问题描述: 通过DocumentFormat.OpenXml解析PPTX文件时遇到异常:“\b”(十六进制值 0x08)是无效的字符,查看文件发现存在乱码,乱码的十六进制值刚好时异常中提到的0x08 原因分析: 网上有很多关于这类xml遇到无效字符异常的文章,其原因是xml中包含了不可打印的控制字符

椭圆曲线密码学(ECC)加解密,附带python代码

想起来很久没写博客了,刚好今天要写实验报告,随便把之前的也完成吧 1.椭圆曲线概念 椭圆曲线在经过化解后,可以用这条式子表达:E:y²=x³+ax+b 其背后的密码学原理,是基于椭圆曲线离散对数问题,比RSA算法更有安全且运算速度更快。 在看上面的式子,我们知道构造一个椭圆曲线,需要a,b两个参数