公开项目会议 - 2021年6月3日

继续进行双周公开项目会议系列…

继续进行双周公开项目会议系列,以下是 2021 年 6 月 3 日下午 5:30(欧洲中部时间)举行的会议的时间线。(以下时间均为印度标准时间)

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


Diego Molina 晚上 9:01

:wave: 有人在参加我们的公开会议吗?@barancev @manoj9788 @mmerrell @simonstewart @harsha509 @Puja Jagani @AutomatedTester @titusfortner @p0deje @jimevans

晚上 9:02

让我发布我们正在进行的议程

项目总体统计

  • 上次会议:161 个未解决的问题,25 个未解决的拉取请求
  • 当前:167 个未解决的问题,28 个未解决的拉取请求
  • Beta 4 的待办事项?

服务器 - Grid

  • 将 VNC 连接器通过 WebSocket 管道传输以实现实时视频
  • 检查 Redis/JDBC 后端服务是否正常工作
  • 分配新会话时,分发器遵循规范

语言绑定

  • C# 和 JS 中缺少“se:cdpVersion”
  • 所有绑定都可以在 Grid 上进行 CDP 吗?
  • Selenium 4 中有哪些功能?
  • 所有绑定都实现了它们吗?

发布流程

  • 在 beta 4 之后,我们应该记录每个绑定和 Grid 是如何发布的

Selenium IDE

  • 谁知道发布流程是什么?需要什么?

  • 谁可以帮助审查拉取请求?

  • 请随意添加您想添加的任何主题

Todd Tarsi 晚上 9:04

我一直在尝试在 ide v4 中运行 ide v3,并且它正在逐渐完成。 当我们到达那里时,我会发布一张截图

Simon Stewart 晚上 9:04

议程 LGTM

Diego Molina 晚上 9:05

关于项目总体统计的评论,感觉好像人们正在更多地尝试测试版,我看到问题增加了

Simon Stewart 晚上 9:06

这是一件好事。

Diego Molina 晚上 9:06

大多数 Grid 问题可以通过文档修复,所以我可以花时间来做

其他问题似乎要么是错误,要么是人们只是在弄清楚如何使用 beta 3,不确定

Simon Stewart 晚上 9:06

我从某人那里得到了一些非正式的反馈,他说“顺便说一句,对于我们来说,在浸泡测试中它似乎比 3.141.59 稳定得多”。

Diego Molina 晚上 9:06

很高兴知道

Simon Stewart 晚上 9:06

是否有任何我们应该优先处理的问题?

我最近没有读过它们,但如果有一个主题,我们可以尝试解决系统性原因

Diego Molina 晚上 9:09

我们还有一些待审查的 PR,其中一些与 @Puja Jagani 创建的 Grid 相关。@simonstewart,也许等事情不那么紧张的时候,你可以看看?

Simon Stewart 晚上 9:10

好的。我会尽快处理。

Diego Molina 晚上 9:10

好的,那么 Beta 4 的待办事项有哪些?

Simon Stewart 晚上 9:11

我想只有 .Net 绑定了,New。

Diego Molina 晚上 9:11

  • 服务器 - Grid
  • 将 VNC 连接器通过 WebSocket 管道传输以实现实时视频
  • 检查 Redis/JDBC 后端服务是否正常工作
  • 我认为“Distributor 在分配新会话时遵循规范”已经完成了,对吗?

而且我相信 @Puja Jagani 处理了“检查 Redis/JDBC 后端服务是否正常工作”,但不确定。

Simon Stewart 晚上 9:11

我想是的,正在检查。

Simon Stewart 晚上 9:11

我想是的,正在检查。

晚上 9:12

是的。我们现在更好地遵循了规范。

在 rc1 之前,我会使用 curl 对其进行更多命令行测试。我敢打赌我仍然可以让它失败。

Diego Molina 晚上 9:13

我本打算开始处理“通过 WebSocket 管道传输 VNC 连接器以进行实时视频”,但我遇到了 StressTest 未通过的问题,导致需要修复。我希望在 RC1 之前完成,最好是用于 Beta 4。

Simon Stewart 晚上 9:13

希望你所需的基础设施已经到位。

我猜你会公开一个 se:vnc 功能或类似的?

Diego Molina 晚上 9:14

是的,这就是想法。

Simon Stewart 晚上 9:14

完美。

这提醒了我,我们应该确保 Sauce 和 BS 都知道 Selenium 4 本地端都将尝试连接到 se:cdp,他们的基础设施可以/应该/可能需要处理这个问题。

Titus Fortner 晚上 9:18

只有在使用 devtools 功能时,本地端才应该尝试连接到该端点。如果不支持,最好让它报错为未知端点。

Diego Molina 晚上 9:18

我们正在内部处理这个问题,Sauce 的每个人都知道:slightly_smiling_face

Simon Stewart 晚上 9:18

@titusfortner,这是 Java 代码所做的。

@diemol,这是个好消息:slightly_smiling_face

Diego Molina 晚上 9:20

好的,那么是语言绑定。

  • C# 和 JS 中缺少“se:cdpVersion”
  • 所有绑定都可以在 Grid 上进行 CDP 吗?

我不确定 @harsha509 和 @AutomatedTester 是否有时间在 JS 绑定中使用它。

Simon Stewart 晚上 9:21

如果绑定正确使用 se:cdp,那么他们应该能够通过 Grid 进行 CDP。

Sri Harsha 晚上 9:22

不,@diemol。正如上次讨论的那样,我们把它推迟到 rc1。如果有时间,我肯定会看看。

Simon Stewart 晚上 9:22

我认为 .Net 绑定还不了解 se:cdp 功能。

快速 grep 表明这是真的。

Diego Molina 晚上 9:22

感谢你的更新,@harsha509!

好的,也许我们可以跳到下一个话题。

  • Selenium 4 中有哪些功能?
  • 所有绑定都实现了它们吗?

我一直没能完成这个列表,因为时间不够,而且我也不知道从哪里开始获取这些信息。

晚上 9:26

从我脑海中浮现的是:

  • 相对定位器(Java 可以接受定位器,其他绑定使用 withTag)
  • 新建标签页命令
  • CDP(但是有哪些 CDP 功能?)
  • Firefox 中的全页截图
  • 打印到 PDF

晚上 9:26

还有其他的吗?

Sri Harsha 晚上 9:26

JS 绑定没有实现 /session/{session id}/element/{element id}/shadow 端点。

晚上 9:27

不确定其他语言绑定。

  • computedRole

  • computedLabel

Titus Fortner 晚上 9:28

是否有任何驱动程序实现了 shadow 端点?

Simon Stewart 晚上 9:28

我下周将把它连接到 Java 中。

Jim Evans 晚上 9:28

正在努力准备 .NET 以迎接 beta。:tada: 4

Simon Stewart 晚上 9:28

我也可能会连接一个回退。

Jim Evans 晚上 9:29

我也想包括 shadow 端点,但我可能无法完成。

Simon Stewart 晚上 9:29

它可以等到 rc1。

晚上 9:30

郑重声明,我将 rc1 视为“如果我们想的话,我们可以将此标记为 4.0 并完成”,因此在我们发布之前,我们不需要所有命令都到位。:+1: 1

晚上 9:30

我真的希望 beta4 是最后一个 beta 版本。

Titus Fortner 晚上 9:31

所以,它不是明确列在议程上的,但与各种语言实现所有功能有关……

文档。

最好有一些东西可以解释所有新功能,并在每种语言中都有示例。

晚上 9:31

(就像我愿意提供帮助,而不仅仅是抱怨这个问题一样)

晚上 9:33

但是……

  • 我们是否仍然想先更新到不同的主题?

  • 是否可以从“技术内容策略师”或类似的人那里获得帮助来组织事情?

Diego Molina 晚上 9:33

我的想法是通过列出功能并查看它们在何处实现以及需要在何处实现:+1: 2

Sri Harsha 晚上 9:33

我尽力为所有语言绑定提供示例,并在顶部添加注释,如 https://seleniumcn.cn/documentation/en/webdriver/browser_manipulation/#create-new-window-or-new-tab-and-switch

Simon Stewart 晚上 9:34

@titusfortner,关于新功能的人工指南是个好主意。

Titus Fortner 晚上 9:34

在 Sauce 技术内容团队工作了一段时间后,我真正体会到了有一个以这个为生的人来组织事情有多大的不同。

我可以看看某个东西并说“这个结构没有意义”,但我的解决方案也会是没有意义的东西。 :smile

Diego Molina 晚上 9:36

我想迁移到 Docsy,这是一个 hugo 主题,可以帮助我们将网站和文档放在一个地方。

Titus Fortner 晚上 9:36

如果我们能引用 Selenium 仓库测试中的代码片段,而不是必须在我们的文档中独立创建/维护它们,那就太棒了。

Docsy 是我上次看到的东西吗(无论那是什么时候)?

Simon Stewart 晚上 9:36

@diemol,迁移到 docsy 能否与文档本身的更新同时进行?

Diego Molina 晚上 9:36

我找到了 Hugo 短代码,可以渲染 GitHub 存储库中托管的真实测试,因此我们可以在 GitHub 操作中运行这些测试并提供可行的示例 :tada: 2

Simon Stewart 晚上 9:37

哦!这太棒了!

Diego Molina 晚上 9:37

我想先迁移网站,最后再处理文档,但这很难同步,但可以完成。

Titus Fortner 晚上 9:38

我觉得如果我们有

  • 更直观的文档结构
  • 在选项卡中添加代码片段的模板

那么剩下的就是找到每个功能的项目中的测试代码。

Diego Molina 晚上 9:39

第 2 项是我找到的 Hugo 短代码。

Titus Fortner 晚上 9:39

我想建议我们实际上聘请某人来帮助我们解决 #1 的问题。

针对 Selenium 4 的一流文档可能会带来很大的不同。

Simon Stewart 晚上 9:39

我们可以轻松设置一个“示例”存储库供人们查看。

Titus Fortner 晚上 9:40

@diemol,是的,我只需要一个我们想要使用的模板中的示例,因为这是我上次尝试提供帮助时所缺少的:slightly_smiling_face

Luis Correia 晚上 9:41

很抱歉打扰了,目前的文档太“外科手术式”了,缺乏适当的上下文。我会提供完整的 Java/C#/Python 类/代码段,其中包含解释构造的内联注释。

Titus Fortner 晚上 9:41

我加载了新模板,花了 8 个小时试图弄清楚如何让选项卡工作,然后放弃了。 :smile

Luis Correia 晚上 9:42

与示例网站交互的代码将获得额外的分数。

Diego Molina 晚上 9:42

这通常是某人花几天时间处理,然后让其他人工作时完成的事情:+1: 1

晚上 9:42

所以希望我可以在 Beta 4 发布后有时间处理这个问题。

Titus Fortner 晚上 9:43

我想如果我更了解 Go,我可能会成功。

晚上 9:43

它与我使用过的 2 个静态站点实现 Docusaurus 和 Jekyll 非常不同。

我喜欢 @Luis Correia 关于更多上下文的观点。

Diego Molina 晚上 9:43

我们可以一起处理这个问题,我不太了解 Go,我只知道如何正确地复制和粘贴。

Titus Fortner 晚上 9:44

但是,作为以更多上下文编写内容的人,这也是一项*更加重要的任务。

晚上 9:44

在 Watir 中,我们有外科手术式的内联文档,然后在我们的网站上有试图解释事情的“指南”。

我们在每个存储库中都有针对我们测试服务器的示例。

我们可能会做的一件事是在 selenium.dev 上发布测试服务器,以便任何人都可以针对它运行自己的代码,而无需构建 Selenium?

晚上 9:45

我也为 watir 测试代码做了这件事。

Luis Correia 晚上 9:46

是的,公共测试服务器是一件好事。

我可以帮助测试并纠正针对该服务器的测试代码(主要是 Java)。

我有点“精通” Maven 构建周期,可能在这方面帮助该项目。

Titus Fortner 晚上 9:48

我只是将所有内容复制/粘贴到了示例中:http://watir.com/examples

人们可以将规范中的 url_for(“forms_with_input_elements.html”) 更改为“http://watir.com/examples/forms_with_input_elements.html"

Diego Molina 晚上 9:48

也许我们可以跳到下一个主题?发布流程

  • 在 beta 4 之后,我们应该记录每个绑定和 Grid 是如何发布的

Titus Fortner 晚上 9:52

对于 Ruby,你需要一个 rubygems 上的帐户。我们或许可以用一个通用的电子邮件 @selenium.dev 和一个秘密密码来设置一个。

晚上 9:53

我们现在可以用 bazel 构建 gem,但实际的发布仍然需要人工干预。

但我认为我们都同意这是需要的,我们可以在 Se4 发布后这样做。

Diego Molina 晚上 9:56

我们昨天谈到的一件事是在 Zoom 通话或类似的方式中记录发布过程,而我们当中一些有更多时间的人可以记录该过程。

Simon Stewart 晚上 9:58

Java 流程并不太繁琐。

晚上 9:58

主要的是你需要一个 Sonatype OSS 帐户才能发布工件。

Diego Molina 晚上 9:59

所以我认为当我们感觉接近 beta 4 发布时,我们可以更多地关注这个话题?

Titus Fortner 晚上 10:01

或 RC :slightly_smiling_face

Simon Stewart 晚上 10:03

我们快要发布 b4 了:slightly_smiling_face

@titusfortner,让 leg-rc 包再次正常工作在我的列表上。

Diego Molina 晚上 10:04

我觉得我们应该尽快找到一种方法来记录发布版本,因为我预想当 RC1 发布时,我们需要更快地迭代。

Titus Fortner 晚上10:04

我指的是发布候选版本而不是 beta 4,而不是 RC 包,但好吧 :wink

Simon Stewart 晚上10:04

@barancev 和我都有 Java 发布的密钥

Diego Molina 晚上10:11

好的,我想这个想法是简单地记录这些会话

Sri Harsha 晚上10:11

关于 Selenium-ide,我拥有来自 V3 分支的生产构建。

在发布时,我可以更改构建版本,构建,将其压缩并传递给有发布权限的人

Titus Fortner 晚上10:11

:thumbsup

Diego Molina 晚上10:12

但是我认为我们可以在实际发布 beta 4 时再聊这个?

晚上10:13

跳到下一个话题是个好主意 :slightly_smiling_face

Selenium IDE

  • 谁知道发布流程是什么?需要什么?
  • 谁可以帮忙审查拉取请求

所以发布它就像把 zip 文件上传到某个地方一样简单吗?上传到浏览器商店?

Todd Tarsi 晚上10:16

我可以帮忙审查拉取请求,但我没有任何关于这方面的权限。审查 PR 仍然有帮助吗?

Diego Molina 晚上10:17

那肯定会有帮助

Todd Tarsi 晚上10:17

好的,我会更积极地审查 PR。

Diego Molina 晚上10:18

如果需要,我可以帮忙合并 :slightly_smiling_face

但我们真的需要弄清楚如何发布

Todd Tarsi 晚上10:18

发布过程似乎不应该那么复杂。我们为 Edge、Firefox 和 Chrome 构建,然后将 zip 文件上传到商店,对吧?

Sri Harsha 晚上10:18

是的 @diemol。在有发布权限的网上商店上传 zip 文件

Diego Molina 晚上10:18

我会尝试私下 ping Dave 和 Tomer

Simon Stewart 晚上10:18

谢谢 @Todd Tarsi,帮助审查会非常有帮助

我有可能可以访问发布帐户

Sri Harsha 晚上10:19

我问了 @corevo。他说 @simonstewart 可能有权访问网上商店进行发布

Simon Stewart 晚上10:19

至少对于 Firefox,可能对于 Chrome 也是如此

Diego Molina 晚上10:20

听起来不错,那会有很大帮助

Simon Stewart 晚上10:22

明天会检查