公开项目会议 - 2021 年 2 月 25 日
分类
存档的会议纪要
继续每两周一次的公开项目会议系列,以下是 2021 年 2 月 25 日欧洲中部时间下午 5:30 举行的会议的时间线。(以下时间为 IST 时间)
会议在 Selenium Slack 上的 #selenium-tlc
频道举行。
Diego Molina 晚上 9:54
@titusfortner @barancev @harsha509 @luke @jimevans @simonstewart
Luke Hill 晚上 9:54
是的。如果需要,我在这里。
Diego Molina 晚上 9:55
我今天唯一的主题,为了让会议简短,是:“beta 2 需要什么” 欢迎添加/提出任何其他主题
Luke Hill 晚上 9:59
除此之外,我们是否对启用我们发布 4.0.0 正式版有一个粗略的想法(即我们需要达到哪些里程碑)
Diego Molina 晚上 10:01
让我们稍等几分钟,看看是否有足够的人开始会议
Titus Fortner 晚上 10:04
在 beta2 之前,我有一些小事要做,但对我来说越快越好 :)
Simon Stewart 晚上 10:04
我在一个计划会议中,但我会慢慢关注
Titus Fortner 晚上 10:05
(Element#dom_attribute 是我想要完成的主要一个)。我认为 Java 和 C# 都已经有了这个
Diego Molina 晚上 10:05
好的,那么让我们从在场的人开始。到目前为止只有一个主题:“beta 2 需要什么”
我想到的是:修复泄漏 :slightly_smiling_face
Simon Stewart 晚上 10:05
消除泄漏。确保 Grid 上 Docker 实例的 CDP 工作
Diego Molina 晚上 10:06
关于泄漏,在阅读更多关于 AsyncHttpClient 问题及其谷歌群组之后...
10:07
他们提到每个 AsyncHttpClient 实例都有自己的池
Diego Molina 晚上 10:07
这就是为什么他们建议只使用一个实例的原因
Puja Jagani
在你指出潜在问题区域后,我尝试使用 AsyncHttpClient 的单个实例,但仍然看到泄漏 :confused: 明天会尝试深入挖掘。如果您想让我尝试一些特定的东西,请告诉我。
Diego Molina
整个分发器使用一个实例?
Puja Jagani
像我们之前那样使用单个实例,类似于https://github.com/SeleniumHQ/selenium/blob/selenium-4.0.0-alpha-7/java/client/src/org/openqa/selenium/remote/http/netty/NettyClient.java#L41 java/client/src/org/openqa/selenium/remote/http/netty/NettyClient.java:41 private static final AsyncHttpClient httpClient = https://github.com/SeleniumHQ/selenium|SeleniumHQ/seleniumSeleniumHQ/selenium | GitHub 添加
Puja Jagani
这只是为了缩小问题区域。我试图排除创建一个新实例是问题还是我们处理响应的方式(你之前提到的阻塞位)
Puja Jagani
具有单个实例的分发器堆 :see_no_evil
Diego Molina 晚上 10:08
此外,您可以限制池的大小
所以我计划调整客户端配置,看看是否有帮助
10:09
可悲的是,AsyncHttpClient 的文档不存在,但它似乎是一个健壮的实现,用于 Gatling
10:09
(一个负载测试工具)
10:10
负载*
David Burns 晚上 10:12
@simonstewart 如果假设一切都包含在内,“确保 Grid 上 Docker 实例的 CDP 工作”还剩下什么
Simon Stewart 晚上 10:12
(在会议中)
Titus Fortner 晚上 10:13
每个绑定都需要能够实现该部分(从 caps 获取调试器地址等)
David Burns 晚上 10:13
@titusfortner 完成了吗?
10:14
它从 se:options 中获取
Titus Fortner 晚上 10:14
我认为他还没有完成第一部分
他正在改变
Simon Stewart 晚上 10:14
se:cdp 现在我更新了使用它的绑定
David Burns 晚上 10:14
@simonstewart 触碰了我的代码... 我 Python 代码中的肮脏的 Java 人
Simon Stewart 晚上 10:14
“Grid 中的 CDP” stuff 会添加 se:cdpVersion
Luke Hill 晚上 10:14
我在 Ruby 中注意到的一件新事情(不确定是否在所有地方都相关)。是新的 chrome cdp stuff 需要能够在本地/远程实例中工作。
Simon Stewart 晚上 10:14
“我的宝贝……”
David Burns 晚上 10:14
:stuck_out_tongue
Simon Stewart 晚上 10:15
@luke 这就是 se:cdp 功能允许的
Luke Hill 晚上 10:15
比我领先一步 :smile
Simon Stewart 晚上 10:15
Selenium 服务器知道如何转发 CDP 流量
Titus Fortner 晚上 10:15
是的,由于子类化的原因,Ruby 代码实际上从未允许用户从 Remote WebDriver 中受益于特定于浏览器的功能
Luke Hill 晚上 10:15
所以基本上 beta2 中再回来看看。
Titus Fortner 晚上 10:15
我有一个 PR 来解决它
Simon Stewart 晚上 10:15
我将使本地驱动程序也设置 se:cdp
Titus Fortner 晚上 10:16
使用该 PR,Ruby CDP 代码仅在 localhost 上与服务器一起工作,因此我们还需要更新 Simon 所做的
Luke Hill 晚上 10:16
我们“知道”我们需要做什么。这成功了一半。
Titus Fortner 晚上 10:17
由于 @p0deje 已经离开一段时间,而 @twalpole 非常忙,这只是带宽问题。 :)
好吧,部分是,我只知道“ish”
Diego Molina 晚上 10:17
这是 @luke 提交代码的好机会 :slightly_smiling_face
Luke Hill 晚上10:18
我可以尽力提供帮助。但我还没达到他们的标准。
Titus Fortner 晚上10:18
我还想弄清楚如何为 CDP 版本进行不同的 gem 发布
10:19
更重要的是,我们能够更新 CDP 版本以匹配浏览器版本,而不是将 Selenium 方法匹配到 CDP 方法,所以我希望能够独立发布这些工件,并让用户以某种方式切换它。
Luke Hill 晚上10:19
到复活节的时候,我希望能够再次找到更稳定的住所,无论是租还是买我的第一套房子。所以,是的,晚上应该可以做更多的事情。这将是我两年多以来第五次搬家了
Titus Fortner 晚上10:22
泄漏调查还有多少工作要做?(我问是因为我真的不知道都涉及哪些内容)
Diego Molina 晚上10:23
不确定,我这周投入了精力,至少我把它定位到了 Distributor
10:24
当执行新的测试时,它会随着时间的推移消耗内存,并且永远不会释放它
我现在正在检查问题是否真的与 AsyncHttpClient 有关
10:25
嗯,更确切地说,与我们使用它的方式有关
David Burns 晚上10:25
@diemol @Puja Jagani 知道这是一个优先事项,所以请随时拉她进来 :slightly_smiling_face
Diego Molina 晚上10:26
他们建议使用单个实例,而在 Distributor 中,我们每个注册的节点都有一个实例,一个实例用于健康检查,还有一个我还没搞清楚是什么的实例
Simon Stewart 晚上10:30
因为每个实例都需要自己的配置
10:31
如果我们可以在每个请求中更改配置,我们就没问题了
Diego Molina 晚上10:31
他们有不同的基本 URL,对吧?
Simon Stewart 晚上10:31
对
10:32
并且可能还有超时时间
配置对象上的任何内容
Diego Molina 晚上10:33
我没有看到不同的超时时间,但是当我们允许用户在 Grid 中配置超时时间时,我们将需要它们
Puja Jagani
我认为 RequestBuilder 允许为每个请求设置超时时间。
Diego Molina 晚上10:34
所以,嗯,有意思……现在不知道该怎么办了 :slightly_smiling_face
Simon Stewart 晚上10:35
我再次要喃喃自语,基于 Netty 编写我们自己的 HTTP 客户端,从我们用于域套接字的客户端开始