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


    写在前面

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

    如何编写测试脚本

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

    java
    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。


    __EOF__

  • 本文作者: 久曲健的测试窝
  • 本文链接: https://www.cnblogs.com/longronglang/p/16732739.html
  • 关于博主: 评论和私信会在第一时间回复。或者直接私信我。
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    【精选】代码Ai生成,
    基于Matlab实现元胞自动机(CA)
    解决WindowsServer上的Web应用程序无法访问网络共享文件问题
    Electron打包方式
    小白转行做3D游戏建模,有没有前途?
    网络安全(黑客)自学
    凭借SpringBoot整合Neo4j,我理清了《雷神》中错综复杂的人物关系
    基于复旦微的FMQL45T900全国产化ARM开发开发套件(核心板+底板)
    tcp客户端向tcp服务器发送json文件,服务器转存为json文件
    JVM—垃圾收集算法、内存分配策略
  • 原文地址:https://www.cnblogs.com/longronglang/p/16732739.html