python chromium 自动化_将 WebDriver (Chromium) 用于测试自动化

本文介绍了如何使用Python和WebDriver (Chromium) 进行自动化测试,包括安装Microsoft Edge (Chromium) 和相应的驱动程序,设置EdgeOptions,以及启动和配置WebDriver会话。通过Selenium库,开发者可以控制浏览器行为,实现自动化测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将 WebDriver (Chromium) 用于测试自动化

01/29/2021

本文内容

WebDriver 允许开发人员创建模拟用户交互的自动化测试。 WebDriver 测试和模拟与 JavaScript 单元测试不同,因为 WebDriver:

访问在浏览器中运行的 JavaScript 不可用的功能和信息。

更精确地模拟用户事件或操作系统级事件。

在单个测试会话中管理多个窗口、选项卡和网页。

在特定的计算机上运行 Microsoft Edge 的多个会话。

以下部分介绍如何开始使用适用于 Microsoft Edge 的 WebDriver \ (Chromium) 。

安装 Microsoft Edge (Chromium)

确保安装Microsoft Edge (Chromium) 。 若要确认已安装 Microsoft Edge \ (Chromium) ,请导航到并验证版本号是版本 edge://settings/help 75 或更高版本。

下载 Microsoft Edge 驱动程序

若要开始自动执行测试,请使用以下步骤来确保安装的 WebDriver 版本与浏览器版本匹配。

导航 edge://settings/help 到获取 Microsoft Edge 的版本。

416deb8a47dfa5c94a9cc3155d13baf9.png

2020 年 1 月 14 日 Microsoft Edge Canary 的生成号

导航到 Microsoft Edge 驱动程序下载 页面,并下载与 Microsoft Edge 的版本号匹配的驱动程序。

a5816c49aef7daba9c631104e24b2350.png

Microsoft Edge 驱动程序页的"下载 " 部分

选择 WebDriver 语言绑定

必须下载的最后一个组件是特定语言的客户端驱动程序,用于将代码 \ (Python、Java、C#、Ruby、JavaScript) 转换为 Microsoft Edge \ (Chromium) 中运行的命令。

下载你选择的 WebDriver 语言绑定。 Microsoft Edge 团队建议使用 Selenium 4.00-alpha07 或更高版本,因为它支持 Microsoft Edge \ (Chromium) 。 但是,你可以控制所有较旧版本的 Selenium 中的 Microsoft Edge \ (Chromium) ,包括当前稳定的 Selenium 3 版本。

重要

如果之前使用和类自动执行或测试 Microsoft Edge \ (Chromium) ,则 WebDriver 代码不会在 Microsoft Edge 版本 ChromeDriver ChromeOptions 80 或更高版本中运行。 若要解决此问题,请更新测试以使用 EdgeOptions 该类并下载 Microsoft Edge 驱动程序。

使用 Selenium 3

如果你已使用 [Selenium 3,][|::ref1::|]你可能已有浏览器测试,并且想要添加 Microsoft Edge \ (Chromium) 的覆盖范围,而无需更改 Selenium 版本。 若要使用 [Selenium 3][|::ref2::|] 为 Microsoft Edge \ (EdgeHTML) 和 Microsoft Edge \ (Chromium) 编写自动测试,请安装适用于 Microsoft Edge 的 Selenium 工具 程序包以使用更新的驱动程序。 工具 EdgeDriver EdgeDriverService 中包含的类与 Selenium 4 中的内置等效项完全兼容。

使用以下步骤将适用于 Microsoft Edge 和[Selenium 3][|::ref3::|]的Selenium 工具添加到项目中。

pip install msedge-selenium-tools selenium==3.141

如果你Java Maven,请通过向文件添加以下依赖项来添加msedge-selenium-tools-java: pom.xml

com.microsoft.edge

msedge-selenium-tools-java

[3.141.0,)

The Java package is also available to download directly on the Selenium Tools for Microsoft Edge Releases page.

使用 [npm][JavaScript|::ref4::|] 安装 edge-selenium-tools 和 selenium-webdriver 程序包。

npm install @microsoft/edge-selenium-tools selenium-webdriver

使用 WebDriver (Microsoft Edge) Chromium

若要使用 WebDriver 自动化浏览器,必须先使用首选的 WebDriver 语言绑定启动 WebDriver 会话。 会话是浏览器的单个运行实例,可以使用 WebDriver 命令进行控制。 启动 WebDriver 会话将启动一个新的浏览器实例。 启动的浏览器将保持打开状态,直到您关闭 WebDriver 会话。

以下内容将引导你使用 Selenium 启动与 Microsoft Edge \ (Chromium) 的 WebDriver 会话。 可以使用 Selenium 3 或 4 运行这些示例。 若要与 Selenium 3 一起使用,必须安装适用于 Microsoft Edge 的 Selenium 工具包。

自动化 Microsoft Edge (Chromium)

Selenium 使用 EdgeDriver 该类管理 Microsoft Edge \ (Chromium) 会话。 若要启动会话并自动执行 Microsoft Edge \ (Chromium) ,请创建一个新对象,并传递一个属性设置为 EdgeDriver EdgeOptions UseChromium true 的对象。

var options = new EdgeOptions();

options.UseChromium = true;

var driver = new EdgeDriver(options);

options = EdgeOptions()

options.use_chromium = True

driver = Edge(options)

该类 EdgeDriver 仅支持 Microsoft Edge (Chromium) ,不支持 Microsoft Edge (EdgeHTML) 。 对于基本用法,你可以创建一个 EdgeDriver 而不提供 EdgeOptions 。

EdgeDriver driver = new EdgeDriver();

let options = new edge.Options();

options.setEdgeChromium(true);

let driver = edge.Driver.createSession(options);

备注

如果你的 IT 管理员将DeveloperToolsAvailability策略设置为 ,Microsoft Edge 驱动程序无法驱动 2 Microsoft Edge (Chromium) 因为驱动程序使用Microsoft Edge DevTools。 确保 将 DeveloperToolsAvailability 策略设置为或自动执行 Microsoft Edge (0 1 Chromium) 。

选择特定浏览器二进制文件 (仅 Chromium)

可以使用特定的 Microsoft Edge \ (Chromium) 启动 WebDriver 会话。 例如,可以使用 Microsoft Edge 预览频道(如 Microsoft Edge Beta)运行测试。

var options = new EdgeOptions();

options.UseChromium = true;

options.BinaryLocation = @"C:\Program Files (x86)\Microsoft\Edge Beta\Application\msedge.exe";

var driver = new EdgeDriver(options);

options = EdgeOptions()

options.use_chromium = True

options.binary_location = r"C:\Program Files (x86)\Microsoft\Edge Beta\Application\msedge.exe"

driver = Edge(options)

EdgeOptions options = new EdgeOptions();

options.setBinary("C:\\Program Files (x86)\\Microsoft\\Edge Beta\\Application\\msedge.exe");

EdgeDriver driver = new EdgeDriver(options);

let options = new edge.Options();

options.setEdgeChromium(true);

options.setBinaryPath("C:\\Program Files (x86)\\Microsoft\\Edge Beta\\Application\\msedge.exe");

let driver = edge.Driver.createSession(options);

自定义 Microsoft Edge 驱动程序服务

使用类创建类实例时,它会为 EdgeDriver EdgeOptions Microsoft Edge EdgeDriverService \ (EdgeHTML) 或 Microsoft Edge \ (Chromium) 创建和启动相应的类。

如果要创建一个 ,请创建一个为 EdgeDriverService Microsoft Edge \ (Chromium) 方法 CreateChromiumService() 。 当您需要添加自定义项时,您可能会发现它非常有用。 例如,以下代码开始详细日志输出。

using (var service = EdgeDriverService.CreateChromiumService())

{

service.UseVerboseLogging = true;

var driver = new EdgeDriver(service);

}

备注

在传递给实例时,不需要 EdgeOptions EdgeDriverService 提供 EdgeDriver 对象。 该类根据你提供的服务使用 EdgeDriver Microsoft Edge \ (EdgeHTML) 或 Microsoft Edge \ (Chromium) 的默认选项。

但是,如果要同时提供这两个类和类,请确保为相同版本的 Microsoft Edge 配置这两 EdgeDriverService EdgeOptions 者。 例如,在该类中不能使用默认的 Microsoft Edge \ (EdgeHTML) 类和 EdgeDriverService Chromium EdgeOptions 属性。 该类 EdgeDriver 会引发错误,以防止使用不同的版本。

使用 Python 时 Edge ,对象将创建和管理 EdgeService 。 若要配置 EdgeService ,请向对象传递 Edge 其他参数,如以下代码所示。

service_args = ['--verbose']

driver = Edge(service_args = service_args)

使用此方法 createDefaultService() 创建为 Microsoft EdgeDriverService Edge \ (Chromium) 。 驱动程序服务Java系统属性Java自定义。 例如,以下代码使用 "webdriver.edge.verboseLogging" 该属性启用详细日志输出。

System.setProperty("webdriver.edge.verboseLogging", "true");

EdgeDriverService service = EdgeDriverService.createDefaultService();

EdgeOptions options = new EdgeOptions();

EdgeDriver driver = new EdgeDriver(service, options);

使用 JavaScript 时,使用类 Service 创建和 ServiceBuilder 配置 。 或者,你可以将对象传递给该对象,该对象将启动 Service Driver \ (并停止) 服务。

若要配置 Service ,请运行类中的另一 ServiceBuilder 个方法,然后再 build() 使用该方法。 然后作为 service 参数在方法中 Driver.createSession() 传递。

let service = new edge.ServiceBuilder().enableVerboseLogging().build();

let driver = edge.Driver.createSession(options, service);

使用Chromium-Specific选项

如果将该属性设置为 ,则您可以使用类访问与自动执行其他 Chromium 浏览器时所使用的特定于 UseChromium true EdgeOptions Chromium 的属性和方法相同的属性和方法。

var options = new EdgeOptions();

options.UseChromium = true;

options.AddArgument("headless");

options.AddArgument("disable-gpu");

options = EdgeOptions()

options.use_chromium = True

options.add_argument("headless")

options.add_argument("disable-gpu")

EdgeOptions options = new EdgeOptions();

options.addArguments("headless");

options.addArguments("disable-gpu");

let options = new edge.Options();

options.setEdgeChromium(true);

options.addArguments("headless");

options.addArguments("disable-gpu");

备注

如果该属性设置为,则不能对 UseChromium Microsoft Edge true \ (EdgeHTML) 。

其他 WebDriver 安装选项

百年

如果你使用 Microsofty 作为程序包管理器,请运行以下命令来安装 Microsoft Edge 驱动程序。

choco install selenium-chromium-edge-driver

Docker

如果使用 Docker,请通过运行以下命令,下载预配置映像和 Microsoft Edge \ (Chromium) 和预安装的 Microsoft Edge 驱动程序。

docker run -d -p 9515:9515 mcr.microsoft.com/msedge/msedgedriver

有关详细信息,请导航到 Docker Hub 上的 msedgedriver 容器。

后续步骤

若要了解有关 WebDriver 以及如何使用 Selenium 编写自动 WebDriver 测试的信息,请导航到 Selenium 文档。

联系 Microsoft Edge DevTools 团队

Microsoft Edge 团队希望倾听你有关使用 WebDriver、Selenium 和 Microsoft Edge 的反馈。 若要向团队发送你的问题和意见,请选择 Microsoft **** Edge DevTools 中的"发送反馈"图标或发送推文@EdgeDevTools。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值