首页 > 编程语言 >《刚刚问世》系列初窥篇-Java+Playwright自动化测试-1-环境准备与搭建

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

时间:2024-07-02 16:59:31浏览次数:23  
标签:Playwright Java 宏哥 jar 如下 初窥篇 所示

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搭建环境,想必就不会遇到这么多坑了吧。最后建议将这一篇文章从后往前看,不然就可能会跟随宏哥脚步一路踩坑过来哦!

标签:Playwright,Java,宏哥,jar,如下,初窥篇,所示
From: https://www.cnblogs.com/du-hong/p/18273013

相关文章

  • Java实现登录验证 -- JWT令牌实现
    目录1.实现登录验证的引出原因2.JWT令牌2.1使用JWT令牌时2.2令牌的组成三.JWT令牌(token)生成和校验3.1引入JWT令牌的依赖3.2使用Jar包中提供的API来实现JWT令牌的生成和校验3.3使用JWT令牌验证登录1.实现登录验证的引出传统思路下:登录页面把用户名和密码交......
  • JAVA,认识类
    一、类?什么是类?官方文档解释:类(Class)是面向对象程序设计(OOP,Object-OrientedProgramming)实现信息封装的基础。类是一种用户定义的引用数据类型,也称类类型。每个类包含数据说明和一组操作数据或传递消息的函数。类的实例称为对象。拥有共同属性抽象的集合称之为类白话:简单理......
  • 数据库我是这样写出来的,Java版本1,持续更新
    了解数据库的内部原理其实很不容易,大部分的读写都停留在理论文章上,因此肖哥带着大家使用Java手写一个完整的数据库,让大家了解数据库的解析器、性能分析器、认证、查询优化器,执行引擎、存储引擎、事务管理、MVCC,数据恢复等一系列功能。这个工作量比较大,属于每日1-2更新,大家如......
  • JavaScript 中删除数组元素
    在JavaScript中,没有像Java的ArrayList中的remove方法那样直接删除指定元素的方法,删除指定下标的数组元素可以通过几种方式实现方法一:使用 splice() 方法splice()方法可以在数组中添加或删除元素,并返回被删除的元素。letarr=[1,2,3,4,5];letindexToRemove......
  • Java知识点整理 18 — Lambda表达式
    一.简介Lambda表达式是函数式编程思想的体现,强调做什么,而不是以什么方式去做。面向对象编程思想强调的是对象,必须通过对象的形式来做一些事情。比如多线程执行任务,需要创建对象,对象需要实现指定接口,然后再执行等。过程相对繁琐。而如果使用函数式编程思想,可以直接通过传递......
  • Java JVM——11. 执行引擎
    1.概述执行引擎属于JVM的下层,里面包括:解释器、即时编译器、垃圾回收器。执行引擎是Java虚拟机核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而......
  • java实现微信登录
    前言上一篇做了php的微信登录,所以也总结一下Java的微信授权登录并获取用户信息这个功能的开发流程。配置配置什么的就不多说了,详细的配置可以直接前往我上一篇查看。https://www.cnblogs.com/nothavebug/p/18277732流程实现(后端)(JAVA)(springboot)1.首先先配置一下applica......
  • 为啥说现在是升级到 Java 21最佳时机
    背景:基于NewRelic的年度“StateoftheJavaEcosystem”调查结果。对许多Java开发者仍在使用低版本Java感到沮丧。Java21的优势:SpringBoot3.x需要至少Java17,而Java21在技术上比Java8更优越,包括速度、安全性、易用性、性能和内存效率。Java21的道德优越性:使用......
  • 2023-2025年最值得选择的Java毕业设计选题大全:1000个热门选题推荐✅✅✅
    ......
  • JavaScript 学习教程:从入门到精通
    JavaScript学习教程:从入门到精通JavaScript是网页开发过程中不可或缺的一部分,无论你是初学者还是有一定基础的开发者,这篇教程将帮助你更深入地理解和运用JavaScript。本文将分为多个章节,涵盖JavaScript的基本概念、高级技术、常用库和框架,以及实际项目案例。目录Jav......