1
1
---
2
- title : " BiDirectional functionality "
2
+ title : " 双向功能 "
3
3
linkTitle : " BiDi"
4
4
weight : 16
5
5
aliases : [
@@ -12,23 +12,27 @@ aliases: [
12
12
]
13
13
---
14
14
15
- BiDirectional means that communication is happening in two directions simultaneously.
16
- The traditional WebDriver model involves strict request/response commands which only allows for communication to
17
- happen in one direction at any given time. In most cases this is what you want; it ensures that the browser is
18
- doing the expected things in the right order, but there are a number of interesting things that can be done with
19
- asynchronous interactions.
20
15
21
- This functionality is currently available in a limited fashion with the [ Chrome DevTools Protocol] (CDP),
22
- but to address some of its drawbacks, the Selenium team, along with the major
23
- browser vendors, have worked to create the new [ WebDriver BiDi Protocol] ( https://w3c.github.io/webdriver-bidi/ ) .
24
- This specification aims to create a stable, cross-browser API that leverages bidirectional
25
- communication for enhanced browser automation and testing functionality,
26
- including streaming events from the user agent to the controlling software via WebSockets.
27
- Users will be able to listen for and record or manipulate events as they happen during the course of a Selenium session.
16
+ 双向是指通信同时在两个方向上进行.
17
+ 传统的 WebDriver 模型涉及严格的请求/响应命令,
18
+ 在任何时候都只允许单向通信.
19
+ 在大多数情况下, 这正是您想要的;它能确保浏览器以正确的顺序执行预期的操作,
20
+ 但异步交互也有许多有趣的地方.
28
21
29
- ### Enabling BiDi in Selenium
30
22
31
- In order to use WebDriver BiDi, setting the capability in the browser options will enable the required functionality:
23
+ 目前, [ Chrome DevTools Protocol] (CDP) 可以有限地提供这种功能,
24
+ 但为了解决它的一些缺点,
25
+ Selenium 团队与主要浏览器供应商一起创建了新的 [ WebDriver BiDi 协议] ( https://w3c.github.io/webdriver-bidi/ ) .
26
+ 该规范旨在创建一个稳定的跨浏览器 API,
27
+ 利用双向通信增强浏览器自动化和测试功能、
28
+ 包括通过 WebSockets 从用户代理到控制软件的流式事件.
29
+ 用户将能在 Selenium 会话过程中监听、记录或操作事件.
30
+
31
+
32
+ ### 在Selenium中启用 BiDi
33
+
34
+ 为了使用 WebDriver BiDi,
35
+ 在浏览器选项中设置该功能将启用所需的功能:
32
36
33
37
{{< tabpane langEqualsHeader=true >}}
34
38
{{< tab header="Java" >}}
@@ -51,17 +55,25 @@ options.setCapability("webSocketUrl", true);
51
55
{{< /tab >}}
52
56
{{< /tabpane >}}
53
57
54
- This enables the WebSocket connection for bidirectional communication,
55
- unlocking the full potential of the WebDriver BiDi protocol.
56
58
57
- Note that Selenium is updating its entire implementation from WebDriver Classic to WebDriver BiDi (while
58
- maintaining backwards compatibility as much as possible), but this section of documentation focuses on the new
59
- functionality that bidirectional communication allows.
60
- The low-level BiDi domains will be accessible in the code to the end user, but the goal is to provide
61
- high-level APIs that are straightforward methods of real-world use cases. As such, the low-level
62
- components will not be documented, and this section will focus only on the user-friendly
63
- features that we encourage users to take advantage of.
64
59
65
- If there is additional functionality you'd like to see, please raise a
66
- [ feature request] ( https://github.com/SeleniumHQ/selenium/issues/new?assignees=&labels=&template=feature.md ) .
60
+ 这将启用用于双向通信的 WebSocket 连接、
61
+ 释放 WebDriver BiDi 协议的全部潜能.
62
+
63
+
64
+
65
+ 请注意, Selenium 正在将其整个实现从 WebDriver Classic
66
+ 升级到 WebDriver BiDi (同时尽可能保持向后兼容性) ,
67
+ 但本部分文档的重点是双向通信所允许的新功能.
68
+
69
+
70
+
71
+ 终端用户可以在代码中访问低级 BiDi 域,
72
+ 但我们的目标是提供高级应用程序接口,
73
+ 这些应用程序接口是真实世界用例的直接方法.
74
+ 因此, 我们将不对底层组件进行记录, 本节将只关注我们鼓励使用者利用的用户友好功能.
75
+
76
+
77
+ 如果您希望看到其他功能, 请提出
78
+ [ 功能请求] ( https://github.com/SeleniumHQ/selenium/issues/new?assignees=&labels=&template=feature.md ) .
67
79
0 commit comments