首页 > 编程语言 >《刚刚问世》系列初窥篇-Java+Playwright自动化测试-4-启动浏览器-基于Maven(详细教程)

《刚刚问世》系列初窥篇-Java+Playwright自动化测试-4-启动浏览器-基于Maven(详细教程)

时间:2024-11-14 13:08:43浏览次数:1  
标签:maven playwright 浏览器 宏哥 如下 Maven Playwright 所示 Java

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语言,无论是新手还是老鸟就都不需要担心这些问题了,而且今天讲解和分享的非常简单,就是简单换个方法就可以启动不同的浏览器了。好了,今天关于三大浏览器的驱动宏哥就分享到这里,感谢你耐心的阅读。

标签:maven,playwright,浏览器,宏哥,如下,Maven,Playwright,所示,Java
From: https://www.cnblogs.com/du-hong/p/18281240

相关文章

  • Java复习45(PTA)
    office文档页码打印分数20全屏浏览切换布局作者 黄敏单位 河北科技大学在office软件(word,excel)中,有时只需要打印整个文档中的一部分,就需要用户选择需要打印的页码范围。目前输入的页码范围格式定义为:以逗号分割,可以使用-表示连续页码。例如:1,3,5-9,20。表示需要打印......
  • hnuJava程序设计基础训练-2024
    1. DNA序列(Java)【问题描述】 一个DNA序列由A/C/G/T四个字母的排列组合组成。G和C的比例(定义为GC-Ratio)是序列中G和C两个字母的总的出现次数除以总的字母数目(也就是序列长度)。在基因工程中,这个比例非常重要。因为高的GC-Ratio可能是基因的起始点。给定一个很长的DNA序列,以......
  • Java复习44(PTA)
     单词替换分数10全屏浏览切换布局作者 孙晨霞单位 河北农业大学设计一个对字符串中的单词查找替换方法,实现对英文字符串中所有待替换单词的查找与替换。输入格式:首行输入母字符串,第二行输入查询的单词,第三行输入替换后的单词。输出格式:完成查找替换后的完整......
  • Java流程控制(三.一)
    publicclassoperator{publicstaticvoidmain(String[]args){//打印九九乘法表for(inti=1;i<10;i++){for(intj=1;j<=i;j++){System.out.print(i+"*"+j+"="+i*j+"\t&q......
  • Java基础面试题
    1.switch的使用intx=2;intresult=0;switch(x){case1:result=result+x;case2:result=result+x*2;case3:result=result+x*3;}System.out.println(result);//返回结果为10//switch语句当case与值不......
  • 自动化实践之:从UI到接口,Playwright给你全包了!
    作者:京东保险宋阳1背景在车险系统中,对接保司的数量众多。每当系统有新功能迭代后,基本上各个保司的报价流程都需要进行回归测试。由于保司数量多,回归测试的场景也会变得重复而繁琐,给测试团队带来了巨大的工作压力。车险投保流程主要通过H5页面进行,核心功能集中在投保、报价、......
  • Java8
    Lambda一、简介Lambda表达式是Java8引入的一种新的语法,它允许你以简洁的方式表示可传递给方法或存储在变量中的代码块。Lambda表达式可以用来替代匿名内部类,使代码更加简洁、易读和易于维护。二、Lambda表达式的基本语法Lambda表达式的语法形式为:(parameters)->expre......
  • java 实训第15天 Java 多线程
    Java多线程一、定义   java程序本身就是多线程的。   二、相关概念   1、操作系统   内核实现其他资源的管理和调度。   2、进程   一个进程就是操作系统中运行的一个应用程序,每个进程都有进程ID标志唯一性   3、线程   线程是计算......
  • Java 实训第17天 Java网络编程
    Java网络编程一、网络分层1、OSI七层   应用层:HTTPFTPPOP3SMTPTELNET...    表示层:    会话层:     传输层:TCPUDP    网络层:IP    数据链路层   物理层    2、TCP/IP协议   应用层--- 应用层,表示......
  • 【华为OD机试真题E卷】573、区间交叠问题 | 机试真题+思路参考+代码解析(E卷复用)(C++、J
    文章目录一、题目......