购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.6 其他主流Web自动化测试框架

目前,除了前面介绍的Selenium,业界比较流行的Web自动化测试框架还有Puppeteer和Playwright这两款。本节将简单介绍这两款自动化测试框架,感兴趣的读者可以自行深入学习和研究它们。

1.6.1 Puppeteer

Puppeteer是由Chrome开发团队开发的一款面向Chrome浏览器的开源Web自动化测试框架。Puppeteer目前只支持在Node.js运行环境下使用。Puppeteer的安装步骤非常简单,只需要执行命令npm install puppeteer即可。此外,可能还需要安装Puppeteer所需的Chrome浏览器二进制文件。具体安装命令为npx puppeteer browsers install chrome。接下来,我们来看一个Puppeteer的简单示例。

     const puppeteer = require('puppeteer');
     // 以异步执行的方式启动一个新的浏览器实例
     (async () => {
       const browser = await puppeteer.launch();
       const page = await browser.newPage();
     // 访问网页
     await page.goto('https://www.baidu.com');
     // 进行截图
     await page.screenshot({ path: 'baidu_screenshot.png' });
     // 在页面中执行JavaScript
     const title = await page.evaluate(() => document.title);
     console.log(title);
     await browser.close();
     })();

对Puppeteer框架感兴趣的读者可以查阅Puppeteer在线文档https://puppeteer.bootcss.com/,或者其他相关资料。

1.6.2 Playwright

Playwright是一款提供优秀跨语言和跨浏览器支持的Web自动化测试框架。它支持多种编程语言开发环境,例如Java、Python和C#等。同时也支持包括Chrome、Edge、Safari在内的多款浏览器平台。Playwright的架构与Selenium的架构类似,它们之间的主要区别是Selenium WebDriver通过HTTP请求与浏览器进行交互(CDP命令通过WebSocket请求进行交互),而Playwright主要通过WebSocket请求与浏览器进行交互。接下来,我们将介绍如何搭建基于Java语言的Playwright开发环境。

步骤01 在Maven工程的pom.xml文件中添加Playwright Java client Library客户端依赖包。

     <dependency>
         <groupId>com.microsoft.playwright</groupId>
         <artifactId>playwright</artifactId>
         <version>1.42.0</version>
     </dependency>

步骤02 编写相应的爬虫程序。以下是一个简单的示例程序,该程序的功能是访问百度网页,填写搜索词并执行搜索操作,具体实现代码如下:

     // 创建一个Playwright实例
     Playwright playwright = Playwright.create();
     // 使用 Chromium 浏览器类型,启动一个浏览器实例,设置为可见(非无头)模式
     Browser browser = playwright.chromium().launch(new
BrowserType.LaunchOptions().setHeadless(false));
     // 创建一个新页面
     Page page = browser.newPage();
     // 在页面上导航到指定的URL,这里是 "https://www.baidu.com"
     page.navigate("https://www.baidu.com");
     // 等待2秒,等待页面加载
     Thread.sleep(2000);
     // 根据CSS选择器定位搜索输入框,并输入搜索词"Java网络爬虫精解与实践"
     page.locator("#kw").type("Java网络爬虫精解与实践");
     // 根据CSS选择器定位搜索按钮,并单击
     page.locator("#su").click();
     // 等待2秒,等待页面加载
     Thread.sleep(2000);
     // 关闭浏览器
     browser.close();
     // 关闭Playwright实例
     playwright.close();

感兴趣的读者可以查阅其他有关Playwright的资料,本小节就不再详细介绍Puppeteer相关内容了。 lqfy6TJDy6mj6uDhAeCT+sXFDSsW+KEyoq+MHBYuBCYe+JhG9+Q0G6yaqOVOQ6PC

点击中间区域
呼出菜单
上一章
目录
下一章
×