如何使用Playwright对Java API实现自动视觉测试

网友投稿 331 2022-11-04


如何使用Playwright对Java API实现自动视觉测试

微软新的端到端浏览器自动化框架Playwright引起了轰动!仅在几个月前,我才试玩了Playwright,当时它是一个仅javascript的框架,当得知语言支持已经扩展到我心爱的java以及python和C#时,我感到非常惊喜。

借助额外的语言支持以及跨现代浏览器引擎Chromium,Firefox和WebKit执行的能力,这使Playwright与Selenium WebDriver处于同一类别,成为所有需要交叉测试的Web测试人员(不仅是js)的可行测试解决方案浏览器测试功能,适用于复杂的应用程序。

我喜欢通过实际使用框架来自动化现实场景来评估框架。因此,在本文中,我将与Playwright分享构建测试项目的步骤,其中包括Page Objects,还将Playwright步骤与Selenium WebDriver中的等效步骤进行比较。

如何安装Playwright Java

Playwright入门的第一步是将依赖项添加到您的项目中。您可以从Maven存储库中获得Playwright客户端。我创建了一个新的pom.xml文件,并添加了playwright依赖项。

         xmlns:xsi="http://w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    4.0.0

    angie.jones

    playwright-java

    1.0-SNAPSHOT

   

       

           com.microsoft.playwright

           playwright

           0.180.0

       

   

         xmlns:xsi="http://w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    4.0.0

    angie.jones

    playwright-java

    1.0-SNAPSHOT

   

       

           com.microsoft.playwright

           playwright

           0.180.0

       

   

像Selenium WebDriver一样,Playwright是一种浏览器自动化工具,不一定限于测试框架。实际上,它们都不提供任何断言方法。因此,您还需要添加一个断言库。对于此示例,我将使用TestNG。

       

      &nbsphttp://;    com.microsoft.playwright

           playwright

           0.180.0

       

       

           org.testng

           testng

           7.3.0

           test

       

   

如何在Playwright中启动浏览器

Playwright 允许您创建特定类型的浏览器对象。选项包括Chromium(基于Chrome和Edge),Firefox和WebKit(基于Safari引擎)。使用此Browser 对象,可以使用launch()方法启动浏览器实例。

package base;

import com.microsoft.playwright.*;

import org.testng.annotations.BeforeClass;

public class BaseTests {

    private Browser browser;

    @BeforeClass

    public void setUp(){

        browser = Playwright

                .create()

                .chromium()

                .launch();

    }

}

默认情况下,Playwright以无头模式启动浏览器,这意味着您实际上不会看到测试执行。如果您希望浏览器打开,则可以通过传入LaunchOption禁用无头模式:

.launch(new BrowserType.LaunchOptions().withHeadless(false));

除了设置无头模式外,LaunchOptions还提供了其他几种方法,包括设置环境变量和打开Chromium开发工具的方法。

如何在Playwright中启动网站

现在我们有了浏览器,可以加载测试中的应用程序– Automation Bookstore。为此,我们需要一个Page对象–与Selenium中的WebDriver对象相似。要创建Page对象,请在第8行上调用browser.newPMrcqYePTage()。它表示浏览器窗口中的单个选项卡。有了这个对象,我们就可以导航到我们的URL(第9行)。

@BeforeClass

    public void setUp(){

        browser = Playwright

                .create()

                .chromium()

                .launch(new BrowserType.LaunchOptions().withHeadless(false));

        Page page = browser.newPage();

        page.navigate("https://automationbookstore.dev/");

    }

如何在Playwright中创建页面对象

我们已经在浏览器中加载了应用程序,现在我们想使用Page Object Model设计模式来创建一个Java类,该Java类代表应用程序的Search页面。

为了与Web元素进行交互,Page Object类将需要访问我们在上面创建的Playwright Page对象。同样,这与我们将Selenium WebDriver对象传递给Page Object类以便它们可以执行浏览器交互方法的方式类似。

Page page = browser.newPage();

        page.navigate("https://automationbookstore.dev/");

        SearchPage searchPage = new SearchPage(page);

package pages;

import com.microsoft.playwright.Page;

public class SearchPage {

    private Page page;

  

    public SearchPage(Page page){

        this.page = page;

    }

}

我要添加到此类的第一个方法是search(),它将接收文本并将其输入到文本字段中。这样做的方法是fill(),它使用一个定位符和您想要输入的文本到字段中。您可以在第11行看到调用。

public class SearchPage {

    private Page page;

    private String locator_searchBar = "#searchBar";

    public SearchPage(Page page){

        this.page = page;

    }

    public void search(String query) {

        page.fill(locator_searchBar, query);

    }

}

以上就是如何使用Playwright对Java API实现自动视觉测试的详细内容,更多关于Playwright对Java API实现自动视觉测试的资料请关注我们其它相关文章!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:天干地支查询API(天干地支查询软件)
下一篇:混沌系统加密图像(通过行和列上进行循环移位实现)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~