公开项目会议 - 2021年5月20日

继续之前的双周公开项目会议系列,这是2021年5月20日下午5:30 CET 举行的会议时间表。(以下时间为 IST)

会议在 Selenium Slack 上的 #selenium-tlc 频道举行。


Simon Stewart 晚上 9:00

@AutomatedTester, @p0deje @titusfortner, @harsha509 @Puja Jagani @barancev @jimevans @Todd Tarsi 以及其他任何感兴趣的人,快来加入吧!

晚上 9:00

有什么议程项目吗?

Diego Molina 晚上 9:00

我可以粘贴正在进行的议程,然后交给你们来处理 :slightly_smiling_face

Simon Stewart 晚上 9:00

好的,请粘贴!

Diego Molina 晚上 9:01

第四个 Beta 版本的待办事项?

  • 服务器 - Grid
  • 通过 WebSocket 管道传输 VNC 连接器,实现实时视频
  • 统一新的会话队列
  • 在 AWS 或类似平台上用 >50 个并发测试对新 Grid 进行压力测试
  • 检查 Redis/JDBC 支持的服务是否正常运行
  • 分发器在分配新会话时遵循规范
  • 每个节点允许超过 1 个 IE 会话?https://github.com/SeleniumHQ/selenium/issues/9388

语言绑定

  • C# 和 JS 中缺少“se:cdpVersion”
  • 所有绑定都可以通过 Grid 执行 CDP 吗?
  • Selenium 4 中有哪些功能?
  • 所有绑定都实现了这些功能吗?
  • Selenium IDE
  • 谁知道发布流程是什么?
  • 需要什么?
  • 谁可以帮助审查 pull 请求?

9388 Grid 4 不允许 Internet Explorer 的多个会话

:boom: 回归报告

我们使用 Selenium Grid 2 和 3 多年来并行运行多个 IE 会话,没有任何问题。但现在 Selenium 4 将 IE 会话的数量限制为仅 1 个,没有任何方法可以覆盖该限制。

最后一个可以正常工作的 Selenium 版本

版本:3.141.59 之前可以正常工作

版本:4.0.0-alpha 停止工作

复现步骤

  1. 使用 java -jar selenium-server-4.0.0-beta-3.jar hub 启动 hub
  2. 使用 java -Dwebdriver.ie.driver=IEDriverServer-3.150.1.exe -jar selenium-server-4.0.0-beta-3.jar node –max-sessions 7 –override-max-sessions true 启动 IE 节点预期行为:一个 Grid 节点允许并行运行最多 7 个使用 IE 的测试。环境:操作系统:Windows
    浏览器:IE
    Bro… 显示更多标签 C-grid https://github.com/SeleniumHQ/selenium|SeleniumHQ/seleniumSeleniumHQ/selenium | 4月17日 | 由 GitHub 添加

Simon Stewart 晚上 9:01

谢谢!

晚上 9:01

我将添加:我们希望在 RC1 中加入什么?

晚上 9:01

还有人想添加其他内容吗?

Diego Molina 晚上 9:02

还有

项目常规统计

  • 上次会议:157 个未解决的问题,25 个未解决的 pull 请求当前:161 个未解决的问题,25 个未解决的 pull 请求

晚上 9:02

(所以,我不能主持会议,但我会在周围 :slightly_smiling_face:)

Simon Stewart 晚上 9:02

非常感谢。谢谢你,@diemol

晚上 9:03

我猜沉默意味着没有其他内容要添加了?

在这种情况下:beta 4 的待办事项

Simon Stewart 晚上 9:04

我看到 @Puja Jagani 已经让跟踪功能再次工作,我很想在 b4 中看到它。

Puja Jagani

明天就会落地!

Simon Stewart

太棒了!

Simon Stewart

谢谢 :slightly_smiling_face

Simon Stewart 晚上 9:04

并且 @diemol 发布了一个 Grid 扩展到 50 个客户端的视频

晚上 9:04

我做了一些性能优化工作,以获得更好的利用率

晚上 9:05

而且我们也统一了会话队列

晚上 9:05

也就是说,我认为一旦跟踪工作完成,Grid 就可以用于 b4 了

晚上 9:05

有人(@harsha509 @AutomatedTester)知道 JS 绑定中的 se:cdpVersion 吗?

David Burns 晚上 9:07

我还没有做

Simon Stewart 晚上 9:07

(我看到 @harsha509 正在打字……)

Sri Harsha 晚上 9:07

js 上未实现 cdp 版本检查。

Simon Stewart 晚上 9:07

好的。我们是否需要在 beta 4 中使用它,还是应该将其推迟到 rc1?

David Burns 晚上 9:08

我们可以推迟它

Simon Stewart 晚上 9:08

好的。我们将其推迟到 rc 1

David Burns 晚上 9:08

没有人注意到它是如何工作的,也没有错误报告,所以……

Simon Stewart 晚上 9:08

那么通过 Grid 执行 CDP 呢?

如果你正在为 websocket 端点使用 se:cdp,它会正常工作

晚上 9:09

(@titusfortner 和 @p0deje 我也很好奇 Ruby 绑定和通过 Grid 执行 CDP 的情况)

David Burns 晚上 9:09

它已经在那里了

Titus Fortner 晚上 9:11

是的,对于 Remote,Ruby 从 se:cdpVersion 获取版本

晚上 9:12

我们运行本地和通过 Grid 的测试,一切都通过了

Simon Stewart 晚上 9:12

Ruby 绑定也使用 se:cdpVersion 吗?

我猜你对类型的依赖不如 Java 和 .Net,所以也许没那么重要

Titus Fortner 晚上 9:13

https://github.com/SeleniumHQ/selenium/blob/411b883645023d1e1a629a3197d3552253b93f2f/rb/lib/selenium/webdriver/remote/driver.rb#L54 driver.rb

capabilities['se:cdpVersion'].split('.').first

https://github.com/SeleniumHQ/selenium|SeleniumHQ/seleniumSeleniumHQ/selenium | 由 GitHub 添加

Simon Stewart 晚上 9:13

完美 :slightly_smiling_face

晚上 9:14

等待 @titusfortner 打字

Titus Fortner 晚上 9:14

不用了,我没什么有用的要说

晚上 9:14

但 Ruby 和 devtools 的东西我认为我们没问题

Simon Stewart 晚上 9:15

很好。继续下一个话题!

晚上 9:15

我觉得如果有人有时间和精力,@jimevans 会很感激 .Net 绑定方面的帮助

晚上 9:16

我知道在上次状态会议上,他提到在 beta4 之前,他希望加入一些功能

David Burns 晚上 9:17

@Puja Jagani 做了一些 .Net 的工作。如果 Jim 告诉我们需要做什么,我们可以帮忙

Simon Stewart 晚上 9:18

我认为可能是通过 Grid 执行 CDP,以及 CDP 版本相关的内容

晚上 9:18

但是,很明显,@jimevans 比我了解得多得多

David Burns 晚上 9:18

我需要在 Python 代码中完成多个选项处理能力的工作

晚上 9:19

如果我在 3.14 中弃用了一些代码,就会更容易得多

Simon Stewart 晚上 9:20

我们可以稍后讨论你打算破坏的内容

晚上 9:20

不过,可能我们只需做简单的事情

就我而言,我们正在等待的是 @jimevans 同意 .Net 的内容已准备好用于 beta4

Titus Fortner 晚上 9:21

我刚刚注意到 Ruby 还没有为 Firefox 实现全页屏幕截图支持;我今天会添加它。

在这个前提下,我需要在每种语言中创建一些使用远程驱动程序的特定于浏览器的功能示例,因为我知道并非所有绑定中的所有功能都能正常工作

Simon Stewart 晚上 9:21

其他人怎么看?

David Burns 晚上 9:21

不会破坏承诺

Simon Stewart 晚上 9:21

@titusfortner 我认为我们可以将“绑定之间的功能对等”设定为 rc1 的目标

Titus Fortner 晚上 9:21

是的,有道理

晚上 9:22

我会在 beta4 之前完成 Firefox 屏幕截图的事情

Simon Stewart 晚上 9:22

只要 beta4 中包含广泛的功能(特别是与 CDP 相关的基础设施,即使不是在其之上构建的更友好的 API)

Titus Fortner 晚上 9:22

为我们如此接近而感到非常兴奋 :slightly_smiling_face

Simon Stewart 晚上 9:22

这很自然地引出了一个问题:我们在 RC1 中想要什么?

Titus Fortner 晚上 9:23

确保功能对等 :slightly_smiling_face

Simon Stewart 晚上 9:23

  • 语言之间的功能对等
  • 更新当前浏览器的 CDP 版本
  • 更多的 Grid 压力测试

Titus Fortner 晚上 9:23

或者至少记录下来

Simon Stewart 晚上 9:23

文档 :slightly_smiling_face

Titus Fortner 晚上 9:23

既然我们在这里,JUnit 5 的开发人员对于如何修复这个问题没有任何想法

关于 #2273 并行值在固定策略中被忽略的评论

如果有人有解决此问题的建议,我将洗耳恭听。我唯一想到的方法是将每个测试的执行包装在另一个非 ForkJoinPool 线程中,但这将使所需的线程数量加倍,并对性能产生影响。https://github.com/junit-team/junit5|junit-team/junit5junit-team/junit5 | 5月13日 | 由 GitHub 添加

晚上 9:24

这绝对是 JUnit 的问题,但这会影响我们的用户 :disappointed: :disappointed

Simon Stewart 晚上 9:24

他们为什么不只是维护一个正在运行的线程数的 AtomicInteger,我实在想不通

Titus Fortner 晚上 9:25

你能建议他们这样做吗?

晚上 9:25

我对于线程的理解太浅薄了,我只会帮倒忙,而不是帮忙

Simon Stewart 晚上 9:25

我们可以解决这个问题 :slightly_smiling_face

Titus Fortner 晚上 9:26

:thumbsup

Simon Stewart 晚上 9:26

大家还有什么希望在 rc1 中看到的吗?

晚上 9:26

或者换句话说,如果我们发布 rc1 并且没有出现重大问题,那么什么会阻止我们在那之后发布 4.0 版本?

晚上 9:28

(我将在此处的沉默理解为每个人现在都很忙)

Titus Fortner 晚上 9:29

你的清单在我看来不错...

Simon Stewart 晚上 9:30

好的。

晚上 9:31

那么,让我们继续讨论 Selenium IDE

我认为我们有一小部分核心人员可以发布 IDE

晚上 9:32

但是 @corevo 和 DaveH 最了解这个过程

晚上 9:33

总结一下

  • Selenium IDE
  • 谁知道发布流程是什么?
  • 需要什么?
  • 谁可以帮助审查 pull 请求?

Todd Tarsi 晚上 9:33

@simonstewart - 我很乐意尽我所能提供帮助,包括审查 PR。

Simon Stewart 晚上 9:34

这是个好消息 :slightly_smiling_face

晚上 9:34

谢谢

晚上 9:34

同样,感觉我们今天在这方面不会取得太大进展。

Titus Fortner 晚上 9:35

我认为我们需要收到前任所有者的回复才能取得进展

Simon Stewart 晚上 9:35

我建议我们与 @corevo、DaveH、@harsha509 以及其他对此感兴趣的人员建立电话或电子邮件链,以推动此事进展,可以吗?

Titus Fortner 晚上 9:35

我们是否可以通过非 Slack 的方式联系他们,因为他们似乎没有关注这里?

是的,那样 :slightly_smiling_face

Simon Stewart 晚上 9:35

点头

@harsha509,你愿意安排一下吗?

如果我们能得到你们的电子邮件地址....

Sri Harsha 晚上 9:36

我可以从 @corevo 那里获取关于如何发布和记录它的信息。

晚上 9:37

好的 @simonstewart

Simon Stewart 晚上 9:37

太棒了。谢谢。如果我能帮忙推动事情进展,我很乐意

Sri Harsha 晚上 9:37

:bow

Simon Stewart 晚上 9:37

@Todd Tarsi 我想听听 electron 的工作进展如何

Todd Tarsi 晚上 9:38

@simonstewart - 有一个 PR 作为讨论的起点会更好,所以我今晚稍后会提交一个。

Simon Stewart 晚上 9:38

哦,是的。绝对是 PR 讨论 :slightly_smiling_face

晚上 9:39

好了,各位。我想我们已经完成了议程。

晚上 9:39

大家还有什么想谈的吗?

Titus Fortner 晚上 9:39

BiDi 的当前状态是什么?

Luis Correia 晚上 9:40

文档 :slightly_smiling_face

Titus Fortner 晚上 9:40

我认为我们已经关闭了列出我们要实现的功能的问题,大概是因为我们已经实现了我们认为必要的功能

Simon Stewart 晚上 9:41

Bidi 的状态?w3c 规范,还是我们计划支持的用例?

Titus Fortner 晚上 9:41

后者

前者在某种程度上是否驱动着后者?

Simon Stewart 晚上 9:41

@Luis Correia 已知悉。我们将在 bidi 相关内容之后讨论文档

w3c 规范在我们发布 4.0 版本之前不会完成,所以让我们先把它放在一边

Titus Fortner 晚上 9:42

哦,是的,我等到我们讨论完 beta 和 RC 版本之后才提出这个问题 :slightly_smiling_face

这是未来的路线图内容

Simon Stewart 晚上 9:42

所以,该问题的用例是

  • 监听 DOM 事件
  • 记录浏览器中正在发生的事情,包括控制台和 JS 错误
  • 在任何 JS 错误上快速失败
  • 拦截网络请求,允许模拟后端请求
  • 记录流量(Alex:允许重放吗?)
  • 在安全页面上进行身份验证
  • 引导脚本(例如,在每次页面加载时执行 JavaScript 片段)

晚上 9:43

记录流量可以由执行网络拦截的相同代码完成

我认为引导脚本可能是目前支持最差的东西

晚上 9:44

从技术上讲,Java 有代码可以做到这一点,但我对其稳健性没有信心。或者,实际上,我是否真的实现了它

w3c 规范也从对用例的讨论开始,并且有很多重叠(不足为奇!)

晚上 9:45

我很想使用 CDP 实现脚本固定。这将充分锻炼引导脚本

Titus Fortner 晚上 9:46

所以也许我需要更好地理解规范和 Selenium 代码是如何相互支持的。我们需要确保我们添加的功能在规范中有所记录吗?

(即,是一个驱动另一个,还是像以前一样,geckodriver 和 w3c 相互驱动)

Simon Stewart 晚上 9:47

规范目前正在奠定基础,开始做有用的事情,所以它还没有涵盖用例

晚上 9:48

我怀疑 Selenium 4 的使用将有助于指导规范,因为我们发现了 CDP 中对于测试和自动化真正有用的子集

Titus Fortner 晚上 9:48

完美,谢谢

Simon Stewart 晚上 9:48

现在有点像鸡和蛋的问题。

晚上 9:49

一旦我们发布了 4 版本,我计划将我的重点转移到规范上

Titus Fortner 晚上 9:49

规范总是这样,对吧? :slightly_smiling_face

Simon Stewart 晚上 9:49

总是 :slightly_smiling_face

我们还有 10 分钟!我们是否应该继续讨论文档?

Titus Fortner 晚上 9:49

@diemol 我们是否正在迁移/已经迁移到不同的主题?

用于文档

Simon Stewart 晚上 9:49

@Luis Correia 你能详细说明一下你的意思吗?

Luis Correia 晚上 9:50

关于单端口网格还是文档?

Simon Stewart 晚上 9:51

请讨论文档

Luis Correia 晚上 9:52

好的,我的理解是当前的文档过于外科手术式,只解释一件事,但可能没有完整的上下文,特别是在 Grid 4 文档中

Simon Stewart 晚上 9:52

你希望它如何改变?

Luis Correia 晚上 9:53

在网站上没有一个包含所有可用选项和开关的部分,必须深入研究代码

晚上 9:53

注意:这不是发布的障碍,而是一个锦上添花的功能

晚上 9:55

这是一个很好的起始链接

https://selenium.net.cn/documentation/en/grid/grid_4/

selenium.dev

Grid 4 :: Selenium 文档 Selenium 文档

Simon Stewart 晚上 9:55

好的,所以比你从 selenium -h 得到的信息更好的描述?

Titus Fortner 晚上 9:55

https://selenium.net.cn/documentation/en/grid/grid_4/configuring_components/config_help/

selenium.dev

配置帮助 :: Selenium 文档

Selenium 文档

Luis Correia 晚上 9:55

我很高兴在网页上看到这个

Simon Stewart 晚上 9:56

好的。你能在 https://github.com/SeleniumHQ/selenium/issues/8165 上发表评论吗?

8165 使用新的 Selenium 4 功能更新用户文档 :rocket: 功能提案 Selenium 4 带来了一套全新的功能,https://selenium.net.cn/documentation/en/ 需要更新,以包含与它们相关的文档。动机

很高兴在文档中涵盖以下新功能:• 相对定位器 • CDP 集成 • 新的 Grid 4.0 示例... 标签 C-docs,Selenium-4-Beta 评论 2 https://github.com/SeleniumHQ/selenium|SeleniumHQ/seleniumSeleniumHQ/selenium | 4 月 7 日 | 由 GitHub 添加

Titus Fortner 晚上 9:56

看起来我链接的页面显示了命令,但没有显示输出?

Luis Correia 晚上 9:56

@titusfortner 甚至还有原因,这就是恰当的上下文

晚上 9:57

我会 @simonstewart

Titus Fortner 晚上 9:57

为其提供上下文肯定会很有用

Simon Stewart 晚上 9:57

非常感谢。这是改进文档的跟踪问题,所以在那里添加评论会很有帮助

Titus Fortner 晚上 9:58

或者你可以 PR 你认为可以提供上下文的更改;文档都在公共仓库中。

我现在正在为 Sauce 文档而苦恼。我擅长确保信息“正确”,但我发现自己不擅长向人们解释为什么这对他们很重要,而这部分很重要

Simon Stewart 晚上 9:59

@titusfortner 我猜你已经看过 https://developers.google.com/tech-writing 了?

Titus Fortner 晚上 9:59

就像我有“演示”模式和“文档”模式,我无法让它们一起工作 :smile

Simon Stewart 晚上 9:59

啊,是的。很难把叙述做好

Titus Fortner 晚上 10:00

好吧,这也得益于 Sauce 中那些实际职业是组织信息以便人们能够理解它的人

10:00

我还没有看过技术写作页面,看起来很有意思

Simon Stewart 晚上 10:01

我们结束吧?我想我们涵盖了我们需要的大部分内容

晚上 10:02

主要的决定是等待 @jimevans 允许我们发布 beta 4。

我完全可以接受为此等待尽可能长的时间,但我也听到 @AutomatedTester 建议也许 @Puja Jagani 可以提供帮助

Titus Fortner 晚上 10:06

听起来不错,谢谢 @simonstewart!