久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

如何使用Playwright對Java API實現(xiàn)自動視覺測試

瀏覽:3日期:2022-08-17 14:18:41

微軟新的端到端瀏覽器自動化框架Playwright引起了轟動!僅在幾個月前,我才試玩了Playwright,當時它是一個僅JavaScript的框架,當?shù)弥Z言支持已經(jīng)擴展到我心愛的Java以及Python和C#時,我感到非常驚喜。

借助額外的語言支持以及跨現(xiàn)代瀏覽器引擎Chromium,F(xiàn)irefox和WebKit執(zhí)行的能力,這使Playwright與Selenium WebDriver處于同一類別,成為所有需要交叉測試的Web測試人員(不僅是JS)的可行測試解決方案瀏覽器測試功能,適用于復雜的應用程序。

我喜歡通過實際使用框架來自動化現(xiàn)實場景來評估框架。因此,在本文中,我將與Playwright分享構建測試項目的步驟,其中包括Page Objects,還將Playwright步驟與Selenium WebDriver中的等效步驟進行比較。

如何安裝Playwright Java

Playwright入門的第一步是將依賴項添加到您的項目中。您可以從Maven存儲庫中獲得Playwright客戶端。我創(chuàng)建了一個新的pom.xml文件,并添加了playwright依賴項。

<?xml version='1.0' encoding='UTF-8'?><project xmlns='http://maven.apache.org/POM/4.0.0' xmlns:xsi='http://www.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'> <modelVersion>4.0.0</modelVersion> <groupId>angie.jones</groupId> <artifactId>playwright-java</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>com.microsoft.playwright</groupId> <artifactId>playwright</artifactId> <version>0.180.0</version> </dependency> </dependencies></project>

像Selenium WebDriver一樣,Playwright是一種瀏覽器自動化工具,不一定限于測試框架。實際上,它們都不提供任何斷言方法。因此,您還需要添加一個斷言庫。對于此示例,我將使用TestNG。

<dependencies> <dependency> <groupId>com.microsoft.playwright</groupId> <artifactId>playwright</artifactId> <version>0.180.0</version> </dependency> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>7.3.0</version> <scope>test</scope> </dependency> </dependencies>如何在Playwright中啟動瀏覽器

Playwright 允許您創(chuàng)建特定類型的瀏覽器對象。選項包括Chromium(基于Chrome和Edge),F(xiàn)irefox和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以無頭模式啟動瀏覽器,這意味著您實際上不會看到測試執(zhí)行。如果您希望瀏覽器打開,則可以通過傳入LaunchOption禁用無頭模式:

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

除了設置無頭模式外,LaunchOptions還提供了其他幾種方法,包括設置環(huán)境變量和打開Chromium開發(fā)工具的方法。

如何在Playwright中啟動網(wǎng)站

現(xiàn)在我們有了瀏覽器,可以加載測試中的應用程序? Automation Bookstore。為此,我們需要一個Page對象?與Selenium中的WebDriver對象相似。要創(chuàng)建Page對象,請在第8行上調(diào)用browser.newPage()。它表示瀏覽器窗口中的單個選項卡。有了這個對象,我們就可以導航到我們的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中創(chuàng)建頁面對象

我們已經(jīng)在瀏覽器中加載了應用程序,現(xiàn)在我們想使用Page Object Model設計模式來創(chuàng)建一個Java類,該Java類代表應用程序的Search頁面。

為了與Web元素進行交互,Page Object類將需要訪問我們在上面創(chuàng)建的Playwright Page對象。同樣,這與我們將Selenium WebDriver對象傳遞給Page Object類以便它們可以執(zhí)行瀏覽器交互方法的方式類似。

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行看到調(diào)用。

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實現(xiàn)自動視覺測試的詳細內(nèi)容,更多關于Playwright對Java API實現(xiàn)自動視覺測試的資料請關注好吧啦網(wǎng)其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 永胜县| 博湖县| 伊金霍洛旗| 鱼台县| 深圳市| 金沙县| 峨山| 衡山县| 怀远县| 井陉县| 靖州| 邵阳市| 巴楚县| 琼海市| 七台河市| 盐山县| 惠安县| 宜川县| 仙游县| 科尔| 湖北省| 东乡| 元氏县| 壶关县| 凭祥市| 阿克苏市| 新宁县| 平山县| 达孜县| 科技| 且末县| 恩平市| 定日县| 勐海县| 水城县| 禹城市| 永丰县| 宁河县| 巍山| 镇江市| 丰宁|