《刚刚问世》系列初窥篇-Java+Playwright自动化测试-4-启动浏览器-基于Maven(详细教程)
1.简介
上一篇文章,宏哥已经在搭建的java项目环境中添加jar包实践了如何启动浏览器,今天就在基于maven项目的环境中给小伙伴们或者童鞋们演示一下如何启动浏览器。
2.eclipse中新建maven项目
1.依次点击eclipse的file - new - other ,如下图所示:
2.在搜索框输入关键字“maven”,然后选中“maven project”,如下图所示:
3.选择创建后的工作区——项目存放的地址。如下图所示:
4.选择Maven项目的模板也叫项目类型(quikstart或者webapp等等),,如果选择create a simple project,则跳过了下面的步骤,也就不存在这个问题了,但是如果需要选择项目类型,则不能勾选create a simple project)如下图所示:
5.宏哥为了省事,直接选中create a simple project,点击next,输入Group Id和Artifact Id。如下图所示:
6.点击“Finish”,查看新建的maven项目,如下图所示:
到此,创建maven项目成功!!!
3.maven项目加载playwright依赖jar
3.1加载playwright依赖
maven项目加载playwright依赖就不想上一篇java项目加载playwright那么费事需要把jar包引入到项目下,maven项目只需要将相关的jar包依赖配置到pom.xml文件中就会自动加载了。因此要给上面创建的maven项目中加载playwright依赖jar包,只需在pom.xml中引入playwright的jar包即可;具体步骤如下:
1.查看maven仓库:http://mvnrepository.com/ 如下图所示:
2.搜索playwright, 输入playwright,点击“Search”,如下图所示:
3.点击“Playwright Main Library”,查看自己需要的playwright版本,playwright我们都会选择最新的(宏哥这里用1.40.0举例一下,最新可能有bug,老的可能有些方法不支持,宏哥这里选择一个不新也不旧的),如下图所示:
4.下载playwright-1.40.0版本,点1.40.0进入页面后,只需要单击下边的编码就自动全选复制了。如下图所示:
<!-- https://mvnrepository.com/artifact/com.microsoft.playwright/playwright -->
<dependency>
<groupId>com.microsoft.playwright</groupId>
<artifactId>playwright</artifactId>
<version>1.40.0</version>
</dependency>
5.copy到maven项目中的pom.xml中,如下图所示:
6.playwright的jar包maven会自动加载,从右边路径可以看到jar的路径在本地仓库。如下图所示:
需要其他的jar包只需配置到pom.xml中即可!是不是比之前介绍的方法简单多了哈!
3.2修改jdk版本
因为playwright的Java需要Java8以上,所以需要重新配置jdk。如下图所示:
1.右键JRE System Library[JavaSe-1.7] ->properties。如下图所示:
2.选择javaSE-1.8,如下图所示:
3.点击“OK”后,就变成JavaSE-1.8了,如下图所示:
好了,至此,基于maven的java+Playwright自动化测试环境搭建就搭建成功了。下边就开始实践Maven项目如何启动浏览器。
4.启动Chrome浏览器
大致思路:打开Chrome浏览器,访问百度网址,获取网址的title,然后再关闭Chrome浏览器。根据思路进行代码设计。
4.1代码设计
4.2参考代码
package com.bjhg.playwright; import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserType;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Playwright; /**
* @author 北京-宏哥
*
* @公众号:北京宏哥(微信搜索,关注宏哥,提前解锁更多测试干货)
*
* 《刚刚问世》系列初窥篇-Java+Playwright自动化测试-4-启动浏览器-基于Maven(详细教程)
*
* 2024年7月10日
*/
public class LaunchChrome { public static void main(String[] args) {
try (Playwright playwright = Playwright.create()) {
//使用chromium浏览器,# 浏览器配置,设置以GUI模式启动Chrome浏览器(要查看浏览器UI,在启动浏览器时传递 headless=false 标志。您还可以使用 slowMo 来减慢执行速度。
Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false).setSlowMo(50));
//创建page
Page page = browser.newPage();
//浏览器打开百度
page.navigate("https://www.baidu.com/");
//打印title
System.out.println(page.title());
//关闭page
page.close();
//关闭browser
browser.close();
}
} }
4.3运行代码
1.运行代码,右键Run AS->java Application,就可以看到控制台输出,如下图所示:
2.运行代码后电脑端的浏览器的动作。如下图所示:
好了,到此,在Maven项目中如何启动Chrome浏览器,就完成了,Firefox和webkit的两个浏览器和Chrome的非常相似,宏哥就不在这里进行赘述了。
5.小结
宏哥因为之前做过python、java语言和selenium,经常碰到头疼的问题就是:出现浏览器版本和驱动版本匹配的问题,新手一定要注意这个问题。但是playwright无论是Java还是python语言,无论是新手还是老鸟就都不需要担心这些问题了,而且今天讲解和分享的非常简单,就是简单换个方法就可以启动不同的浏览器了。好了,今天关于三大浏览器的驱动宏哥就分享到这里,感谢你耐心的阅读。
《刚刚问世》系列初窥篇-Java+Playwright自动化测试-4-启动浏览器-基于Maven(详细教程)的更多相关文章
- 《手把手教你》系列技巧篇(五十四)-java+ selenium自动化测试-上传文件-中篇(详细教程)
1.简介 在实际工作中,我们进行web自动化的时候,文件上传是很常见的操作,例如上传用户头像,上传身份证信息等.所以宏哥打算按上传文件的分类对其进行一下讲解和分享. 2.为什么selenium没有提供 ...
- 《手把手教你》系列技巧篇(五十五)-java+ selenium自动化测试-上传文件-下篇(详细教程)
1.简介 在实际工作中,我们进行web自动化的时候,文件上传是很常见的操作,例如上传用户头像,上传身份证信息等.所以宏哥打算按上传文件的分类对其进行一下讲解和分享. 2.为什么selenium没有提供 ...
- 《手把手教你》系列技巧篇(六十七)-java+ selenium自动化测试 - 读写excel文件 - 中篇(详细教程)
1.简介 前面介绍了POI可以操作excel,也简单的提到另一个操作excle的工具,本篇介绍一个其他的可以操作excel的工具,但是这个工具有一个前提,excel文件版本只能是97-2003版本,如 ...
- 《手把手教你》系列技巧篇(六十八)-java+ selenium自动化测试 - 读写excel文件 - 下篇(详细教程)
1.简介 今天继续操作Excle,小伙伴或者童鞋们是不是觉得宏哥会介绍第三种工具操作Excle,今天不介绍了,有两种就够用了,其实一种就够用了,今天主要是来介绍如何使用不同的数据类型读取Excel文件 ...
- 《手把手教你》系列技巧篇(六)-java+ selenium自动化测试-阅读selenium源码(详细教程)
1.简介 前面几篇基础系列文章,足够你迈进了Selenium门槛,再不济你也至少知道如何写你第一个基于Java的Selenium自动化测试脚本.接下来宏哥介绍Selenium技巧篇,主要是介绍一些常用 ...
- 《手把手教你》系列技巧篇(五十三)-java+ selenium自动化测试-上传文件-上篇(详细教程)
1.简介 在实际工作中,我们进行web自动化的时候,文件上传是很常见的操作,例如上传用户头像,上传身份证信息等.所以宏哥打算按上传文件的分类对其进行一下讲解和分享. 2.为什么selenium没有提供 ...
- 《手把手教你》系列技巧篇(六十六)-java+ selenium自动化测试 - 读写excel文件 - 上篇(详细教程)
1.简介 在自动化测试,有些我们的测试数据是放到excel文件中,尤其是在做数据驱动测试的时候,所以需要懂得如何操作获取excel内的内容.由于java不像python那样有直接操作Excle文件的类 ...
- 《手把手教你》系列技巧篇(二十三)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换下卷(详细教程)
1.简介 上一篇讲解和分享了如何获取浏览器窗口的句柄,那么今天这一篇就是讲解获取后我们要做什么,就是利用获取的句柄进行浏览器窗口的切换来分别定位不同页面中的元素进行操作. 2.为什么要切换窗口? Se ...
- 《手把手教你》系列技巧篇(五十)-java+ selenium自动化测试-字符串操作-上篇(详解教程)
1.简介 自动化测试中进行断言的时候,我们可能经常遇到的场景.从一个字符串中找出一组数字或者其中的某些关键字,而不是将这一串字符串作为结果进行断言.这个时候就需要我们对字符串进行操作,宏哥这里介绍两种 ...
- 《手把手教你》系列技巧篇(五十一)-java+ selenium自动化测试-字符串操作-下篇(详解教程)
1.简介 自动化测试中进行断言的时候,我们可能经常遇到的场景.从一个字符串中找出一组数字或者其中的某些关键字,而不是将这一串字符串作为结果进行断言.这个时候就需要我们对字符串进行操作,宏哥这里介绍两种 ...
随机推荐
- IDEA中try/catch快捷键
Ctrl + Alt + t
- Ubuntu16.04换成清华大学源
第一:备份源文件 # 源文件sources.list 在/etc/apt/目录下 # 备份源文件 sudo cp sources.list sources.list.bak 第二步:替换源文件 # 清 ...
- Ubuntu 安裝 RIME 輸入法
RIME (Rime Input Method Engine,中州韻,中州韵)是一款很火的輸入法,虽然我目前还不知道它为什么火,不过先用用再说. 首先要吐槽一下 RIME 的说明文档,我感觉有点乱,第 ...
- 好多kafka难题啊,看看其中的化解之道
文末有面经共享群 前面已经分享过几篇面试了,这是一篇关于更加面向项目和技术的面经详解,第一次遇见问那么多kafka的问题,看看这个粉丝是怎么回答的. 先来看看 职位描述: 岗位职责: 负责基于 Go ...
- (赠书)国产开源视觉语言模型CogVLM2在线体验:竟能识别黑悟空
CogVLM2是一款视觉语言模型(Visual Language Model),由智谱AI和清华KEG潜心打磨.这款模型是CogVLM的升级版本,支持高达 1344 * 1344 的图像分辨率,提供支 ...
- ASP.NET Core Library – Nager.PublicSuffix
前言 有个很简单的需求,想从 URL 里获取到 domain 不要 subdomain. abc.example.com -> example.com 没想到就这么简单的需求,超级难做.而且 . ...
- Nuxt Kit 中的上下文处理
title: Nuxt Kit 中的上下文处理 date: 2024/9/16 updated: 2024/9/16 author: cmdragon excerpt: Nuxt Kit 提供的上下文 ...
- Java读取寄存器数据的方法
在Java中直接读取硬件寄存器(如CPU寄存器.I/O端口等)通常不是一个直接的任务,因为Java设计之初就是为了跨平台的安全性和易用性,它并不直接提供访问底层硬件的API.不过,在嵌入式系统.工业控 ...
- Spirng Aop 实现自定义注解及实现
需求:日志记录 需要记录当前用户访问的每个接口对应的前端页面功能信息 声明一个注解 @Documented @Retention(RetentionPolicy.RUNTIME) @Target({E ...
- 【赵渝强老师】Docker Swarm集群的数据持久化
如果Docker Swarm集群中运行了mysql.nginx等服务,这些服务的数据如果没有挂载到宿主机中,那么容器一旦停止运行,那就意味着数据丢失. 有什么方法可以解决swarm集群中运行的服务能够 ...