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