《刚刚问世》系列初窥篇-Java+Playwright自动化测试-3-启动浏览器(详细教程)
1.简介
通过前边两篇文章跟随宏哥学习想必到这里已经将环境搭建好了,今天就在Java项目搭建环境中简单地实践一下: 启动两大浏览器。按市场份额来说,全球前三大浏览器是:IE.Firefox.Chrome。但是微软已经在Win10中不维护IE浏览器了,用Edge浏览器代替或者兼容IE模式的浏览器,因此宏哥这里主要介绍一下如何在Windows系统中启动这两大浏览器即可,其他平台系统的浏览器类似的启动方法,照猫画虎就可以了。但是在实践过程中,宏哥发现Java语言的Playwright目前好像支持三款浏览器:Chrome、Firefox和Webkit,索性就全部讲解和介绍了吧。可能有的小伙伴或者童鞋们不相信就仅仅支持三款浏览器,也可能是宏哥理解错了,欢迎纠错哦!下边说一下宏哥的依据。
1.1下载的浏览器
跟随宏哥首先看一下,我们运行代码下载的浏览器,只有三款:Chrome、Firefox和Webkit。如下图所示:

1.2BrowserType(浏览器类型)
再跟随随宏哥,看一下代码中提供的浏览器类型就三个:chromium()、firefox()和webkit(),如下图所示:

2.启动浏览器准备工作
2.1准备工作
创建一个Playwright的Java项目,用来练习,具体步骤如下:
1.打开Eclipse,创建一个名称为bjhg_playwright的Java 项目,如下图所示:

2.选择项目,右键项目,选择Build Path,然后选择Confige Build Path...,弹出框点击Libraries,如下图所示:

3.这里点击Add External JARs...,弹出框,选择当前电脑本地之前下载好的所有与playwright相关的jar包,添加到新建的项目中,如下图所示:

4.点击“OK”,如下图所示:

准备工作就介绍到这里,下边介绍如何启动两大浏览器。
3.启动Chrome浏览器
大致思路:打开Chrome浏览器,访问百度网址,获取网址的title,然后再关闭Chrome浏览器。根据思路进行代码设计。
3.1代码设计

3.2参考代码
package 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自动化测试-3-启动浏览器(详细教程)
*
* 2024年7月09日
*/
public class LaunchChrome { public static void main(String[] args) {
try (Playwright playwright = Playwright.create()) {
Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false).setSlowMo(50));
Page page = browser.newPage();
page.navigate("https://www.baidu.com/");
System.out.println(page.title());
page.close();
}
} }
3.3运行代码
1.运行代码,右键Run AS->java Application,就可以看到控制台输出,如下图所示:

2.运行代码后电脑端的浏览器的动作。如下图所示:

4.启动Firefox浏览器
大致思路和启动Chrome浏览器相同:打开Firefox浏览器,访问百度网址,获取网址的title,然后再关闭Firefox浏览器。根据思路进行代码设计。
4.1代码设计

4.2参考代码
package 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自动化测试-3-启动浏览器(详细教程)
*
* 2024年7月09日
*/
public class LaunchFirefox { public static void main(String[] args) {
try (Playwright playwright = Playwright.create()) {
Browser browser = playwright.firefox().launch(new BrowserType.LaunchOptions().setHeadless(false).setSlowMo(50));
Page page = browser.newPage();
page.navigate("https://www.baidu.com/");
System.out.println(page.title());
page.close();
}
} }
4.3运行代码
1.运行代码,右键Run AS->java Application,就可以看到控制台输出,如下图所示:

2.运行代码后电脑端的浏览器的动作。如下图所示:

5.启动webkit浏览器
大致思路和启动Chrome浏览器相同:打开webkit浏览器,访问百度网址,获取网址的title,然后再关闭webkit浏览器。根据思路进行代码设计。
5.1代码设计

5.2参考代码
package 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自动化测试-3-启动浏览器(详细教程)
*
* 2024年7月09日
*/
public class LaunchWebkit { public static void main(String[] args) {
try (Playwright playwright = Playwright.create()) {
Browser browser = playwright.webkit().launch(new BrowserType.LaunchOptions().setHeadless(false).setSlowMo(50));
Page page = browser.newPage();
page.navigate("https://www.baidu.com/");
System.out.println(page.title());
page.close();
}
} }
5.3运行代码
1.运行代码,右键Run AS->java Application,就可以看到控制台输出,如下图所示:

2.运行代码后电脑端的浏览器的动作。如下图所示:

6.关键代码说明
package 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自动化测试-3-启动浏览器(详细教程)
*
* 2024年7月09日
*/
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();
}
} }
通过上边在代码中增加的注释,想必小伙伴或者童鞋们就比较好理解了,也知道宏哥在第一篇文章运行代码时,为何没有看到浏览器UI了吧!
7.小结
宏哥因为之前做过python、java语言和selenium,经常碰到头疼的问题就是:出现浏览器版本和驱动版本匹配的问题,新手一定要注意这个问题。但是playwright无论是Java还是python语言,无论是新手还是老鸟就都不需要担心这些问题了,而且今天讲解和分享的非常简单,就是简单换个方法就可以启动不同的浏览器了。好了,今天关于三大浏览器的驱动宏哥就分享到这里,感谢你耐心的阅读。
《刚刚问世》系列初窥篇-Java+Playwright自动化测试-3-启动浏览器(详细教程)的更多相关文章
- 《手把手教你》系列技巧篇(五十八)-java+ selenium自动化测试-分页测试(详细教程)
1.简介 前几天,有人私信里留言问宏哥,分页怎么自动化测试了,完了给他说了说思路,不知道最后搞定没有,索性宏哥就写一篇文章来讲解和介绍如何处理分页. 2.测试场景 对分页来说,我们最感兴趣的和测试的无 ...
- 《手把手教你》系列技巧篇(六十四)-java+ selenium自动化测试 - cookie -中篇(详细教程)
1.简介 今天按照原计划宏哥要用实例来给小伙伴或童鞋们来演示一下,如何利用cookie实现跳过验证码进行登录.这个场景是自动登陆.有很多系统的登陆信息都是保存在cookie里的,因此只要往cookie ...
- 《手把手教你》系列技巧篇(六十五)-java+ selenium自动化测试 - cookie -下篇(详细教程)
1.简介 今天这一篇,宏哥主要讲解:利用WebDriver 提供可以读取.添加和删除cookie 信息的相关操作方法.验证浏览器中是否存在某个cookie.原因是:因为基于真实的cookie 的测试是 ...
- 《手把手教你》系列技巧篇(二十三)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换下卷(详细教程)
1.简介 上一篇讲解和分享了如何获取浏览器窗口的句柄,那么今天这一篇就是讲解获取后我们要做什么,就是利用获取的句柄进行浏览器窗口的切换来分别定位不同页面中的元素进行操作. 2.为什么要切换窗口? Se ...
- Java项目打包成exe的详细教程
Java项目打包成exe的详细教程 把Java项目打包成exe共分为以下两步: 1. 利用Eclipse先把Java项目先打成jar包 2. 利用exe4j工具把jar包转成exe 这里以Java项目 ...
- Java自动化测试框架-03 - TestNG之Test Group篇 - 我们一起组团打怪升级(详细教程)
简介 其实这篇文章的group宏哥在上一篇中就提到过,但是就是举例一笔带过的,因此今天专门有一篇文章来讲解Group的相关知识.希望大家茅塞顿开 ,有着更进一步认识和了解测试组. 一.Test Gro ...
- 🔥《手把手教你》系列基础篇之4-python+ selenium自动化测试-xpath使用(详细教程)
1. 简介 俗话说:磨刀不误砍柴工,因此在我们要开始写自动化脚本之前,我们先来学习和了解几个基本概念,在完全掌握了这几个概念之后,有助于我们快速上手,如何去编写自动化测试脚本. 元素,在这个教程系列, ...
- Java搭建环境和工具安装详细教程
.一.搭建java运行环境 总体分为两个步骤 1.下载JDK( java dovelop kit 简称 java 开发工具) 首先我们直接下载java开发工具包JDK,转到Oracle官网 下载链接 ...
- SQL Server调优系列玩转篇(如何利用查询提示(Hint)引导语句运行)
前言 前面几篇我们分析了关于SQL Server关于性能调优的一系列内容,我把它分为两个模块. 第一个模块注重基础内容的掌握,共分7篇文章完成,内容涵盖一系列基础运算算法,详细分析了如何查看执行计划. ...
- SQL Server 调优系列玩转篇一(如何利用查询提示(Hint)引导语句运行)
前言 前面几篇我们分析了关于SQL Server关于性能调优的一系列内容,我把它分为两个模块. 第一个模块注重基础内容的掌握,共分7篇文章完成,内容涵盖一系列基础运算算法,详细分析了如何查看执行计划. ...
随机推荐
- 鹏程实验室,启智平台,openI平台,积分兑换新标准
2024-02-13 11:12:21 星期二 地址: https://openi.pcl.ac.cn/reward/point/rule
- Ubuntu18.04环境下 以太坊Geth的安装
ubuntu18.04系统下安装: sudo apt-get install software-properties-common sudo add-apt-repository -y ppa:eth ...
- php日常收获
php 1.sprintf 用法(晚上写成blog w3cschool可查) 2.使用thinkphp getfield 方法时只查询一个字段默认返回第一条数据, 如果想要返回数组需要写成: $thi ...
- [USACO09JAN] Safe Travel G 题解
UPDATE on 2024.5.10 删去左偏树代码中令人误解的 fa 数组. 前话 题目链接:洛谷. 貌似别人都是使用并查集维护的方法,然而由于排序.最短路等算法瓶颈,以下令 \(n\) 和 \( ...
- 15-canvas渐变色
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...
- mysql读写分离之springboot集成
springboot.mysql实现读写分离 1.首先在springcloud config中配置读写数据库 mysql: datasource: readSize: 1 #读库个数 type: co ...
- Maven经验分享(八)maven去除jar报依赖
又是项目总结的时候了,说一下maven使用中遇到的问题以及解决方案. 在新项目的开发中,使用maven进行持续构建,在搭建框架的过程中经常遇到jar冲突的问题,现在来介绍下如何去除jar传递依赖. 1 ...
- 9. 从0学ARM Cortex-A9 LED汇编、C语言驱动编写
0. 前言 一般我们购买一个开发板,厂家都会给出对应的电路图文件,我们可以通过搜索对应名称来查找到对应的外设.对于驱动工程师来说,我们只需要知道外设与SOC交互的一些数据线和信号线即可. 用主控芯片控 ...
- Linux内核如何判断地址是否位于用户空间?
一. 问题描述 access_ok函数是什么原理? 二.问题分析 我们在内核空间和用户空间进行数据拷贝的时候必须判断用户空间地址是否合法. 主要通过偶函数access_ok来判断. 1. Linux用 ...
- esphome esp8266刷写遇到的问题
问题描述: 在尝试打开串口时出现以下错误信息: Failed to execute 'open' on 'SerialPort': Failed to open serial port. 起因: 莫名 ...