首页 > 编程语言 >微软出品自动化神器Playwright,不用写一行代码(Playwright+Java)系列(三) 之 手把手带你结合TestNG测试框架写一个脚本

微软出品自动化神器Playwright,不用写一行代码(Playwright+Java)系列(三) 之 手把手带你结合TestNG测试框架写一个脚本

时间:2022-09-26 22:22:36浏览次数:77  
标签:Playwright Java TestNG playwright static org import page

写在前面

官方给的栗子是Junit,但是我还是用TestNG来进行脚本的编写,这里只分享思路,不管是哪个测试框架基本思路都是一样的,喜欢用官方的Junit的,建议查看官方文档

如何编写测试脚本

在@BeforeClass方法中初始化Playwright和Browser并在@AfterClass中销毁它们,具体示例如下:

import com.microsoft.playwright.*;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * 用例编写
 */
public class TestExample {

    static Playwright playwright;
    static Browser browser;
    static BrowserContext context;
    static Page page;

    @BeforeClass
    static void launchBrowser() {
        playwright = Playwright.create();
        browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setArgs(Collections.singletonList("--start-maximized"))
                .setHeadless(false).setSlowMo(5000));
        context = browser.newContext(new Browser.NewContextOptions()
                .setViewportSize(1920, 1080));
        page = context.newPage();
    }


    @Test
    public void shouldSearchSoftTest() throws InterruptedException {
        page.navigate("https://www.baidu.com/");
        page.locator("#kw").fill("公众号:软件测试君");
        page.locator("#kw").press("Enter");
        String value = page.getAttribute("#kw", "value");
        Assert.assertEquals(value, "公众号:软件测试君");
        System.out.println(page.url());
    }


    @AfterClass
    public void afterClass() {
        browser.close();
        context.close();
        playwright.close();
    }

}

写在最后

至于测试用例的串联、执行、报告展示方面,个人还是喜欢TestNg,喜欢JUnit的同学可以参考Junit5。

标签:Playwright,Java,TestNG,playwright,static,org,import,page
From: https://www.cnblogs.com/longronglang/p/16732739.html

相关文章

  • 【笔记】Java相关大杂烩①
    【笔记】Java相关大杂烩Java程序的执行流程是?*.java文件-->*.class文件-->类装载器-->字节码校验器-->解释器-->操作系统平台Java程序执行时哪一个环节会测试代码段......
  • Java中的方法
    Java中的方法一、方法概述1、方法:就是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集2、注意:方法必须先创建才可以使用,该过程称为定义方法的定义方......
  • Java的IDEA中的Debug
    ​Java的IDEA中的Debug​​一、Debug概述​1、Debug:是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序 ​......
  • Javaweb项目报错:MySQLNonTransientConnectionException: message from server: "Too
    错误描述:运行Javaweb时出现的错误,是在项目成功运行后,进行了几次页面跳转操作或数据库DML操作后出现的报错截图如下:解决方案:调整最大连接数重启mysql服务器servicem......
  • 北京思特奇2023年校招笔试(Java)
    北京思特奇2023年校招笔试(Java)1、表达式(short)10/10.2*2运算后结果是什么类型?答案:double,浮点数默认是double,自动类型向上转换为浮点数类型2、serialVersionUID字......
  • Java代码如何创建GUID字符串呢?
    参考文章:http://www.java265.com/JavaJingYan/202111/16360183221692.html随机字符串是我们日常开发中,经常使用的一种字符串,那么下文将讲述具有代表性的字符串GUIDGUID字......
  • java开发环境搭建
    JDK下载下载链接:https://www.oracle.com/java/technologies/downloads/如果链接失效就去搜索Java官网找到download路径打开安装包,无脑next,可以更改一个想存放的目录。......
  • 六 Java异常
    异常什么是异常实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求、你的程序要打开某个文件,这个文件可能不存在或者文件格式不对......
  • JavaWeb--Mybatis--2022年9月25日
    第一节  Mybatis概述1.Mybatis概念tips:持久层是什么:负责将数据保存到数据库的那一层代码,以后开发我们会将操作数据库的......
  • java 封装一个二分查询函数
    packageBinarySearch;importjava.lang.reflect.Array;publicclassTest{publicstaticvoidmain(String[]args){intarr[]={2,6,7,8,9,11,13,......