Public Project Meeting - June 03, 2021
Continuing the series of bi-weekly public project meetings, here is the timeline of the meeting held on June 03, 2021,5:30 PM CET. (Below times are on IST)
Meetings are held on the #selenium-tlc
channel on Selenium Slack.
Diego Molina 9:01 PM
:wave: Anyone around for our public meeting? @barancev @manoj9788 @mmerrell @simonstewart @harsha509 @Puja Jagani @AutomatedTester @titusfortner @p0deje @jimevans
9:02 PM
Let me post our ongoing agenda
General project statistics
- Previous meeting: 161 open issues, 25 open pull requests
- Currently: 167 open issues, 28 open pull requests
- Pending work for the Beta 4?
Server - Grid
- Pipe VNC connectors through the WebSocket plumbing for live video
- Check that the Redis/JDBC backed services actually function
- Distributor follows spec when allocating new sessions
Language bindings
- “se:cdpVersion” is missing in C# and JS
- Can all bindings do CDP over Grid?
- What are the features present in Selenium 4?
- Do all bindings implement them?
Release process
- After beta 4, we should document how each binding and the Grid are released
Selenium IDE
-
Who knows what the release process is? What is needed?
-
Who can help reviewing pull requests?
-
please feel free to add any topics you’d like to add
Todd Tarsi 9:04 PM
I have been puttering on running ide v3 inside of ide v4, and it is kinda coming along. I’ll just post a screencap of where it’s at when we get there
Simon Stewart 9:04 PM
Agenda LGTM
Diego Molina 9:05 PM
A comment on General project statistics It feels as if folks are trying betas a bit more, I see an increase of issues
Simon Stewart 9:06 PM
That’s a Good Thing.
Diego Molina 9:06 PM
Most of the Grid ones can be fixed with docs, so I can take time to do that
other ones, seem to be either bugs or people just figuring out how to use beta 3, not sure
Simon Stewart 9:06 PM
I got some informal feedback from someone who said “btw it seems a ton more stable than 3.141.59 for us on soak test”.
Diego Molina 9:06 PM
That is nice to know
Simon Stewart 9:06 PM
Are there any issues we should be prioritising?
I’ve not read them recently, but if there’s a theme, we can try and address the systemic causes
Diego Molina 9:09 PM
We also have a few PRs pending to review, some of them related to the Grid, which @Puja Jagani created, and maybe when things are less intense, you could have a look @simonstewart, please?
Simon Stewart 9:10 PM
Sure. I’ll get on that ASAP
Diego Molina 9:10 PM
ok, so Pending work for the Beta 4?
Simon Stewart 9:11 PM
Just the .Net bindings, I think New
Diego Molina 9:11 PM
- Server - Grid
- Pipe VNC connectors through the WebSocket plumbing for live video
- Check that the Redis/JDBC backed services actually function
- Distributor follows spec when allocating new sessions I think “Distributor follows spec when allocating new sessions” was done, right?
and I believe @Puja Jagani tackled “Check that the Redis/JDBC backed services actually function”, not sure
Simon Stewart 9:11 PM
I think so, just checking
Simon Stewart 9:11 PM
I think so, just checking
9:12 PM
Yeah. We follow the spec better now
Before rc1, I’ll do some more command line testing of it using curl. I bet I can still make it fail
Diego Molina 9:13 PM
I was going to start working on “Pipe VNC connectors through the WebSocket plumbing for live video” but I bumped into the StressTest not passing, which lead to a fix. I want to have this before RC1, hopefully for beta 4
Simon Stewart 9:13 PM
Hopefully the infrastructure you’ll need is already in place.
I guess you’re going to expose a se:vnc capability or similar?
Diego Molina 9:14 PM
yes, that is the idea
Simon Stewart 9:14 PM
Perfect
Which reminds me, we should make sure that both Sauce and BS know that the Selenium 4 local ends will all try connecting to se:cdp and their infra could/should/might want to handle that
Titus Fortner 9:18 PM
local ends should only try connecting to that endpoint if using a devtools feature. Might make sense to just let it error out as unknown endpoint if it isn’t supported.
Diego Molina 9:18 PM
We are working internally on that, everyone at Sauce is aware :slightly_smiling_face:
Simon Stewart 9:18 PM
@titusfortner that’s what the java code does
@diemol that’s great news :slightly_smiling_face:
Diego Molina 9:20 PM
Ok, so Language bindings
- “se:cdpVersion” is missing in C# and JS
- Can all bindings do CDP over Grid?
I am not sure if @harsha509 and @AutomatedTester had time to use that in the JS bindigns
Simon Stewart 9:21 PM
If bindings are using se:cdp properly, then they should be able to do CDP over Grid.
Sri Harsha 9:22 PM
No @diemol. As discussed in last we punt it to rc1. If time permits i will look into it for sure
Simon Stewart 9:22 PM
I think the .Net bindings aren’t aware of the se:cdp capability yet
A quick grep suggests that’s true
Diego Molina 9:22 PM
thank for the update, @harsha509!
ok, so maybe we can jump to the next topic:
- What are the features present in Selenium 4?
- Do all bindings implement them?
I have not been able to get this list done, lack of time and also I do not know where to start to get this information
9:26 PM
from the top of my head, is:
- Relative locators (Java can accept the locator, the other bindings use withTag)
- New tab command
- CDP (but what CDP features?)
- Full page screenshot in Firefox
- Print to PDF
9:26 PM
any others?
Sri Harsha 9:26 PM
JS bindings doesnt have /session/{session id}/element/{element id}/shadow endpoint implemented
9:27 PM
not sure of other language bindings
-
computedRole
-
computedLabel
Titus Fortner 9:28 PM
Do any of the drivers have shadow endpoint implemented?
Simon Stewart 9:28 PM
I’ll wire that into Java next week
Jim Evans 9:28 PM
working away at .NET to get ready for beta. :tada: 4
Simon Stewart 9:28 PM
I may wire in a fallback too
Jim Evans 9:29 PM
i want to also include the shadow endpoints, but i may not get to that.
Simon Stewart 9:29 PM
It can wait for rc1.
9:30 PM
For the record, I’m thinking of rc1 as “if we want to, we could tag this as 4.0 and be done”, so until we ship that, we don’t need all the commands in place. :+1: 1
9:30 PM
I’m seriously hoping beta4 is the last beta
Titus Fortner 9:31 PM
So, it’s not explicitly on the agenda, but relates to the languages implementing everything….
documentation.
Would be nice to have something that explains everything that is new with examples in each of the languages
9:31 PM
(as in I am willing to help not just complain about this one)
9:33 PM
but…
-
Do we still want to update to a different theme first?
-
Would it be possible to get help from a “Technical Content Strategist” or the like to help us organize things?
Diego Molina 9:33 PM
that is my idea by listing the features and seeing where they are implemented and where they need to be implemented :+1: 2
Sri Harsha 9:33 PM
I have tried my best to provide examples for all language bindings and a note on top of it like https://www.selenium.dev/documentation/en/webdriver/browser_manipulation/#create-new-window-or-new-tab-and-switch
Simon Stewart 9:34 PM
@titusfortner a human’s guide to the new features is a good idea.
Titus Fortner 9:34 PM
After spending a little time with the Sauce tech content team it has really showed me how much of a difference it makes to have someone who does this for a living organize things
I can look at something and say “this structure doesn’t make sense,” but my solution will be something that also doesn’t make sense. :smile:
Diego Molina 9:36 PM
I want to move to Docsy, a hugo theme that helps us to have website and docs in one single place
Titus Fortner 9:36 PM
and if we can reference code snippets from selenium repo tests rather than having to create/maintain them independently in our docs that would be huge
Is docsy the one I was looking at last time (whenever that was)?
Simon Stewart 9:36 PM
@diemol can the move to docsy be done at the same time as the docs themselves are updated?
Diego Molina 9:36 PM
and I have found Hugo shortcodes that can render real tests hosted in GitHub repositories, so we can run those tests in GitHub actions and provide working examples :tada: 2
Simon Stewart 9:37 PM
Oh! That’s nice!
Diego Molina 9:37 PM
I want to move the website first and leave for last the docs, but it will be hard to sync things, but it can be done
Titus Fortner 9:38 PM
I feel like if we have
- A more intuitive structure of documentation
- A template for adding code snippets in tabs
then it’s just a matter of finding the test code in the project for each feature
Diego Molina 9:39 PM
nro. 2, is the Hugo shortcode I found
Titus Fortner 9:39 PM
and I’d like to propose we actually look to hire someone to help us with #1.
Top notch documentation for Selenium 4 could make all the difference
Simon Stewart 9:39 PM
We can easily set up an “example” repo that people can look at
Titus Fortner 9:40 PM
@diemol yeah, I just need an example in the template we want to use, because that’s what I was missing the last time I tried to help :slightly_smiling_face:
Luis Correia 9:41 PM
sorry for intruding, the documentation so far is too “surgical”, lacking proper context. I would provide a full Java/C#/Python Class/Snipped with inline comments that would explain constructs
Titus Fortner 9:41 PM
I loaded the new template, spent like 8 hours tyring to figure out how to get tabs to work, and then gave up. :smile:
Luis Correia 9:42 PM
bonus points would go to code interacting with an example website
Diego Molina 9:42 PM
This is normally the type of thing that gets done when someone spends a few days working on it and then enabling others to work :+1: 1
9:42 PM
So hopefully I can have time for that after beta 4 is released
Titus Fortner 9:43 PM
I think if I understood Go better I might have been successful
9:43 PM
it just is very different from Docusaurus and Jekyll which are the 2 static site implementations I’ve worked with
and I like @Luis Correia’s point about more context
Diego Molina 9:43 PM
We can pair on that, I don’t know Go so much, I just know how to copy & paste properly
Titus Fortner 9:44 PM
but as someone who writes things with a lot more context, it’s also a *much more significant undertaking
9:44 PM
Watir we have the inline docs that are surgical, then “guides” on our website that try to explain things
And we have examples in each of the repos against our test server
something we might do is publish the test server on selenium.dev so anyone can run their own code against it without having to build selenium?
9:45 PM
I did that for the watir test code as well
Luis Correia 9:46 PM
yes, public test servers are a good thing
I can help testing and correct testing code (mainly for Java) against that server
I’m kinda “well versed” into Maven build cycles and can probably help the project in that respect
Titus Fortner 9:48 PM
I just copy/pasted everything to the examples directy: http://watir.com/examples
People can change url_for(“forms_with_input_elements.html”) in the specs to “http://watir.com/examples/forms_with_input_elements.html"
Diego Molina 9:48 PM
maybe we can jump into the next topic? Release process
- After beta 4, we should document how each binding and the Grid are released
Titus Fortner 9:52 PM
For Ruby you need an account on rubygems. We can probably set one up a common email @selenium.dev with a secret password
9:53 PM
we can build the gem with bazel now, but the actual release requires manual intervention still
but I think we all agree that it is needed and we can do it after Se4 release
Diego Molina 9:56 PM
Something we were talking yesterday was to record the release process in a zoom call or similar and some of us who have more time, can document that process
Simon Stewart 9:58 PM
The java process isn’t too taxing
9:58 PM
The main thing is you need a Sonatype OSS account so you can publish the artifacts
Diego Molina 9:59 PM
so I believe we can focus on this topic a bit more when we feel close to beta 4 release?
Titus Fortner 10:01 PM
or RC :slightly_smiling_face:
Simon Stewart 10:03 PM
We are close to the b4 release :slightly_smiling_face:
@titusfortner getting the leg-rc package working properly again is on my list
Diego Molina 10:04 PM
I think we should find a way to document releases sooner than later because I imagine we will need to iterate faster when RC1 happens
Titus Fortner 10:04 PM
I meant release candidate version vs beta 4, not the RC package, but sure :wink:
Simon Stewart 10:04 PM
@barancev and I both have the keys for java releases
Diego Molina 10:11 PM
ok, I guess the idea would be to simply record those sessions
Sri Harsha 10:11 PM
Coming to Selenium-ide, I have the production build from V3 branch.
At the time of release i can change the build version, build, zip it and pass it over to someone who has access for release
Titus Fortner 10:11 PM
:thumbsup:
Diego Molina 10:12 PM
but I think we can chat more about this when we are actually going to release beta 4?
10:13 PM
Good idea to jump into the next topic :slightly_smiling_face:
Selenium IDE
- Who knows what the release process is? What is needed?
- Who can help reviewing pull requests
so releasing it is as easy as uploading the zip somewhere? to the browser stores?
Todd Tarsi 10:16 PM
I can help review pull requests, but I don’t have any permissions around that stuff. Would reviewing PRs stil lhelp?
Diego Molina 10:17 PM
that would definitely help
Todd Tarsi 10:17 PM
Sounds good, I’ll take up a more active role reviewing PRs then.
Diego Molina 10:18 PM
I can help with merging if needed :slightly_smiling_face:
but we really need to figure out how to release
Todd Tarsi 10:18 PM
The release process seems like something that shouldn’t be that complicated. We build for edge, firefox, and chrome and then upload the zip files to the stores, right?
Sri Harsha 10:18 PM
Yes @diemol. Uplaoding the zip in webstore who has release access
Diego Molina 10:18 PM
I will try to ping Dave and Tomer privately
Simon Stewart 10:18 PM
Thank you @Todd Tarsi Helping to review things would be really helpful
There’s a chance I have access to the release account
Sri Harsha 10:19 PM
i asked @corevo . He said @simonstewart may have access to webstore to publish
Simon Stewart 10:19 PM
At least for Firefox, and maybe Chrome
Diego Molina 10:20 PM
sounds good, that would help a lot
Simon Stewart 10:22 PM
Will check tomorrow