公開專案會議 - 2021年2月25日
延續每兩週一次的公開專案會議系列,以下是於歐洲中部時間下午 5:30,2021年2月25日舉行的會議時間軸。(以下時間為印度標準時間)
會議在 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 上的 CDP 連接到 Docker 實例可以運作
Diego Molina 晚上10:06
關於洩漏問題,在閱讀更多關於 AsyncHttpClient 的問題以及他們的 Google 群組後…
10:07
他們提到每個 AsyncHttpClient 實例都有自己的池
Diego Molina 晚上10:07
這就是為什麼他們建議只使用一個實例
Puja Jagani
在您指出潛在問題區域後,我今天嘗試使用單一 AsyncHttpClient 實例,但仍然看到洩漏 :confused: 明天我會嘗試更深入地挖掘。如果您希望我嘗試任何特定的東西,請告訴我。
Diego Molina
整個 distributor 的單一實例?
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
Distributor 堆積與單一實例 :see_no_evil
Diego Molina 晚上10:08
此外,您可以限制池的大小
所以我計劃調整客戶端配置,看看是否有幫助
10:09
可惜的是,AsyncHttpClient 的文件不存在,但它似乎是一個穩健的實作,用於 Gatling
10:09
(一個負載測試工具)
10:10
負載*
David Burns 晚上10:12
@simonstewart 假設一切都完成了,要「確保 Grid 上的 CDP 連接到 Docker 實例可以運作」還剩下什麼?
Simon Stewart 晚上10:12
(會議中)
Titus Fortner 晚上10:13
每個 binding 都需要能夠實作那部分(從 capabilities 取得 debugger 位址等等)
David Burns 晚上10:13
@titusfortner 完成了嗎?它從 se:options 取得
10:14
它從 se:options 取得
Titus Fortner 晚上10:14
我不認為他第一部分完成了
他正在修改那個
Simon Stewart 晚上10:14
se:cdp 現在我更新了使用它的 bindings
David Burns 晚上10:14
@simonstewart 動了我的程式碼… 骯髒的 Java 人碰了我的 Python 程式碼
Simon Stewart 晚上10:14
「Grid 中的 CDP」功能將新增 se:cdpVersion
Luke Hill 晚上10:14
我在 Ruby 中注意到一個新東西(不確定是否與整個項目相關)。新的 Chrome CDP 功能需要能夠在本地/遠端實例中運作。
Simon Stewart 晚上10:14
「我的寶貝…。」
David Burns 晚上10:14
:stuck_out_tongue:
Simon Stewart 晚上10:15
@luke 那就是 se:cdp capability 允許的功能
Luke Hill 晚上10:15
你領先我一步 :smile
Simon Stewart 晚上10:15
Selenium Server 知道如何轉發 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 又超級忙碌,這只是頻寬的問題。 :)
嗯,部分是這樣,我只知道「大概」
Diego Molina 晚上10:17
這是 @luke 提交程式碼的機會 :slightly_smiling_face
Luke Hill 晚上10:18
我可以盡可能提供幫助。但我還沒有達到他們的標準。
Titus Fortner 晚上10:18
我也想弄清楚如何為 CDP 版本做不同的 gem 發布
10:19
能夠更新 CDP 版本以匹配瀏覽器版本比 Selenium 方法到 CDP 方法更重要,所以我希望能夠獨立發布 artifacts,並讓使用者以某種方式切換它。
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
他們有不同的 base URL,對吧?
Simon Stewart 晚上10:31
對
10:32
還有可能的超時
config 物件上的任何東西
Diego Molina 晚上10:33
我沒有看到不同的超時,但當我們允許使用者在 Grid 中配置超時時,我們將需要它們
Puja Jagani
我認為 RequestBuilder 允許為每個請求設定超時。
Diego Molina 晚上10:34
所以,嗯,有趣… 現在不確定該怎麼辦 :slightly_smiling_face
Simon Stewart 晚上10:35
我要再次嘟囔關於基於 Netty 撰寫我們自己的 HTTP 客戶端,從我們用於 domain socket 的那個開始