Java+playwright+testNG实现UI自动化测试

今天来讲讲使用Java结合最新的playwright来做UI自动化测试

目前网上大部分都是关于使用Python做自动化的教程,Java的比较少一些,但是我认为使用Java做自动化还是有优点的,性能就好一点,当然大家根据实际需求来。

一、 普通UI测试

  1. 创建 Maven 项目
    在你选择的 IDE(如 IntelliJ IDEA 或 Eclipse)中创建一个新的 Maven 项目。

  2. **添加依赖到 pom.xml**:(我使用的jdk1.8) 打开 pom.xml 文件并添加以下依赖:

    <dependencies>
        <!-- Playwright -->
        <dependency>
            <groupId>com.microsoft.playwright</groupId>
            <artifactId>playwright</artifactId>
            <version>1.41.0</version>
            <scope>test</scope>
        </dependency>
    
        <!-- TestNG -->
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>7.4.0</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

示例测试用例

接下来,编写一个简单的测试用例,使用 Playwright 打开 Google 页面,并验证页面标题。

  1. 创建测试类
    在你的 Maven 项目中,创建一个新的测试类 BaiduTest.java

    import com.microsoft.playwright.*;
    import org.testng.Assert;
    import org.testng.annotations.*;
    
    public class BaiduTest {
        Playwright playwright;
        Browser browser;
        Page page;
    
        @BeforeClass
        public void setUp() {
            playwright = Playwright.create();
            BrowserType.LaunchOptions options = new BrowserType.LaunchOptions();
            options.headless = false; // 设置为有头浏览器
            browser = playwright.chromium().launch(options);
            page = browser.newPage();
        }
    
        @Test
        public void testBaiduHomePage() {
            page.navigate("https://www.baidu.com");
            String title = page.title();
            Assert.assertEquals(title, "百度一下,你就知道");
        }
    
        @AfterClass
        public void tearDown() {
            browser.close();
            playwright.close();
        }
    }

使用 TestNG 管理测试用例

  • 使用 @Test 注解:这标记了一个方法作为测试方法。

  • 使用 @BeforeClass 和 @AfterClass 注解:分别用于在测试类中所有测试方法之前和之后执行代码。

  • 断言:使用 Assert 类来进行断言,验证测试结果是否符合预期。

生成测试报告

  • 在 pom.xml 中配置 TestNG 生成测试报告的能力。

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M5</version>
                <configuration>
                    <suiteXmlFiles>
                        <suiteXmlFile>testng.xml</suiteXmlFile>
                    </suiteXmlFiles>
                </configuration>
            </plugin>
        </plugins>
    </build>
  • 创建 testng.xml 文件来管理测试套件:

    <!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
    <suite name="Sample Suite">
        <test name="Baidu Tests">
       
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是阿尘呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值