This is the multi-page printable view of this section. Click here to print.
Blog Posts - 2020
- New Tricks in Selenium 4
- Public Project Meeting - December 03, 2020
- Public Project Meeting - November 19, 2020
- What’s Coming in Selenium 4: Why The Major Version Bump?
- What’s Coming in Selenium 4: How Can I Contribute?
- Browser Testing and Tools WG Meeting @ TPAC 2020
- Public Project Meeting - October 08, 2020
- SeleniumConf Virtual 2020 Recap
- Public Project Meeting - September 24, 2020
- How to delete your master branch
- Public Project Meeting - August 13, 2020
- Public Project Meeting - July 02, 2020
- Moving to Trunk
- How Selenium Works: Episode 1 - Transportation
- Public Project Meeting - June 04, 2020
- Selenium 4.0 Alpha 6 is out!
- Public Project Meeting - May 07, 2020
- Public Project Meeting - April 23, 2020
- Public Project Meeting - April 9, 2020
New Tricks in Selenium 4
In the third post in his series, Simon Stewart continues talking about what’s coming in Selenium 4 and reviews some of the tricks in the new release.
In my last posts, we talked about how to contribute to Selenium, and why we’re bumping the version number to 4. That’s enough preamble! Today, we’ll cover some details about the new tricks and capabilities that Selenium 4 offers.
Finding Elements, and Relative Locators
You know, finding elements on a page can be really difficult. I’ve seen loads of people using very complicated XPATH expressions, and trying to figure out complex CSS selectors and things like that. There have been whole talks about the subject at SeleniumConf. Surely there must be a better way to do this?
Think about how we describe where an element is on the page. Think about how you’d do this over the phone. You’d never talk about the raw DOM, “Ah, find the fifth DIV element nested inside the SPAN with an ‘id’ of ‘foo’”. You’d just never say that! Instead, you’d say something like, “just find that thing above that image, and to the right of that link,” when talking about where things are located on the page.
A long time ago, a project called Sahi started to locate elements like this. Sahi had Relation APIs, which are a lovely way of finding elements, and it was very, very fluent and pleasant to use. When I was starting WebDriver years ago, I was talking with Narayan (creator of Sahi) and I promised him that I was going to hold off implementing this flagship feature of Sahi. It was something that was lovely, but it was also something Sahi was rightly proud of. However, there are now other tools, such as Tyco, that are implementing this style of API, so it seems like the time is right to do the same in Selenium. In Selenium 4 we call them “relative locators.” You may sometimes see us refer to them as “friendly locators,” since the initial implementation called them that, but “relative” better describes how they work. We have a handful of them: near, above, below, left of, right of. They allow you to talk in human language about where an element is on a page.
Looking at the future, we are also planning to enable users to add new types of locators, not only on the, on the client side, but also to the Selenium Server. For example, although JS UI frameworks come and go (anyone else remember using jquery?), it’d be nice to be able to add a custom locator for the current tools people like, such as React.
Authenticating to Web Sites
One feature that people have been asking for since we started the project has been the ability to authenticate to a web site. Previously, you could do this by crafting the URL the browser went to properly, but this leaks credentials to any man-in-the-middle and leaves them in server logs, so browsers have slowly removed this piece of functionality. That’s unfortunate, since it’s something that we know people frequently need to do in their tests. In Selenium 4, we now offer a mechanism to register a username and password that can be used to authenticate against these sites.
Intercepting Network Traffic
A common complaint of Selenium tests is that they’re slow and flaky. While the bindings to the browser are excellent, and fully described by the W3C WebDriver spec, it is true that any end-to-end test is likely to suffer more flakiness than a simple unit test—there are just more moving parts, and more possibilities for things to go wrong.
One way to resolve this issue is to stub out the backend of the application, intercepting network traffic in the test and returning pre-canned responses. Tools such as mountebank make this easy for API testing. Wouldn’t it be nice if there was a similar tool for Selenium?
With Selenium 4, we now provide a mechanism to do this, using the NetworkInterceptor (well, that’s what we call it in the Java bindings). Pass it your WebDriver instance, and it’ll be called every time the browser is about to make an HTTP request, allowing you to return almost anything you want
The Chrome Debugging Protocol
As I mentioned previously, one of the nice things about Selenium 4 is our work to ensure a stable and modern user-facing API. What does this mean? To start, we need to acknowledge that after a long time there’s now competition back in the browser automation space. Notably in the form of Puppeteer and Cypress, and taking a step back, what do they offer? They build upon the Chrome DevTools Protocol (CDP)>, which is a protocol developed to enable a debugger inside Chromium-based browsers.
Because of what it was designed to do, it is a chatty protocol, and not a user-facing API that allows you to introspect into the browser. Worse, introduce a network hop between the test and the browser, this chattiness leads to slower tests as the network latency increases. That is why tools such as Puppeteer want you to run on the local machine. That’s great for the speed of an individual test, but makes parallelisation harder, as you can’t use services such as Sauce Labs easily.
To complicate matters, because the CDP is designed as a debugging protocol, it can change with no notice between versions. That’s why Puppeteer and Cypress are tied to specific versions of browsers, and that causes a dilemma for you as a test author: how do you test on multiple versions of a browser? Updating the test API to get a different browser can lead to you no longer making valid API calls. Not doing so ties you to a potentially outdated version of a browser.
Despite this, using the CDP opens up a host of possibilities, and that’s why we’ve added support for it in Selenium 4. In fact, some of our new features are built on top of it (though we hide the details!)
But we’ve also gone further that just adding basic support. Selenium 4 can support multiple versions of the CDP at the same time, meaning you can test with both the current and beta versions of Chromium-based browsers without needing to rewrite tests. We do this by providing an “idealised CDP”, which is stable and covers the features we feel tests need. If that idealised view of the world isn’t enough for you, we also expose the raw CDP APIs too, giving you flexibility to choose what’s best for your tests.
We’re feeding this experience into the new W3C WebDriver Bidi specification, which is helping make that a better fit for testers.
I am leaving out of this post all the details related to another important trick in Selenium 4, the new Selenium Grid, which I will cover in the next post. Stay tuned!
This was originally posted at https://saucelabs.com/blog/new-tricks-in-selenium-4
Public Project Meeting - December 03, 2020
Archived meeting minutes
Continuing the series of bi-weekly public project meetings, here is the timeline of the meeting held on December 03, 2020,5:30 PM CET.
Meetings are held on the #selenium-tlc
channel on Selenium Slack.
Diego Molina 5:32 PM
So, things from the previous meeting
General project statistics
- Previous meeting: 280 open issues, 62 open PRs
- Current: 278, 60 PRs
Diego Molina 5:35 PM
here are the topics that we initially cover today:
Overall announcements? New people on committees, with the commit bit, etc?
Anything new to report from the last PLC/SFC call?
Pending work that needs to be done for the first Beta?
are we all around to start?
Simon Stewart 5:38 PM
@titusfortner @jimevans @p0deje @barancev @AutomatedTester @harsha509
David Burns 5:39 PM
I’m here
Diego Molina 5:41 PM
The first topic is: Overall announcements? New people on committees, with the commit bit, etc? I believe there is not much about this, right?
Simon Stewart 5:41 PM
Nothing from me
David Burns 5:42 PM
nope
Diego Molina 5:43 PM
Maybe, just for awareness of the meeting minutes, for the ones who read them we are doing a survey that will help with the future of Selenium https://twitter.com/SeleniumHQ/status/1333830343368077319
David Burns 5:44 PM
We’ve had nearly 400 respondents
Diego Molina 5:44 PM
and Boni García replied to it with https://www.mdpi.com/2079-9292/9/7/1067 I have not read it yet
David Burns 5:44 PM
if you haven’t retweeted the survey, could you do that please?
Simon Stewart 5:44 PM
I hadn’t seen the reply
Diego Molina 5:46 PM
Boni is the creator of WebDriverManager and a JUnit 5 extension for Selenium I think he is a professor at a university in Madrid
Simon Stewart 5:47 PM
I’m glad WebDriverManager exists
Diego Molina 5:47 PM
Alright, maybe we should have a read at that document and report our findings :slightly_smiling_face:
So, probably we can move to the next topic: Anything new to report from the last PLC/SFC call?
I think there was one call a couple of days ago
David Burns 5:50 PM
Main question: did someone follow up on my CoC request?
I did email again
and mentioned it to @mmerrell
Simon Stewart 5:51 PM
Monday is my next Selenium day. If no-one has responded by then, I’ll chase
Diego Molina 5:52 PM
ok, probably we can move to the next topic and circle back to this one if someone has more information
Pending work that needs to be done for the first Beta?
This is what we wrote/discussed in the previous meeting:
Client facing changes:
- Make relative locators return elements sorted by proximity
- Fix Java Module System problems
- Allow locator strategies to be pluggable
- Enable fallbacks for commands
Server changes:
- Enable retries of commands where necessary using failsafe
- Get the Grid UI looking nice, and returning useful data
- Allow locator strategies to be pluggable
- Pipe VNC connectors through the websocket plumbing for live video
I have on me the task to map this list into GitHub issues in case they do not exist (I have not done it yet)
Simon Stewart 5:54 PM
I’ve made relative locators return elements sorted by proximity
Diego Molina 5:54 PM
is there something else to add? do we have an status update on any item?
Simon Stewart 5:55 PM
My plan on Monday is to look at pluggable locator strategies
Which will require fallbacks for commands
David Burns 5:55 PM
I’ve been working with the Mozilla folk to add bidi support for Firefox, there are bugs on their side that they are working on
Marcus Merrell 5:55 PM
I’m sorry, @AutomatedTester , I never received an email about it. I don’t know if there’s a list I’m not on, or if my address is wrong, or if it went to spam, but I don’t have it
I’ll be glad to follow up if I can get the info
David Burns 5:56 PM
@mmerrell I emailed selenium@sfc
Marcus Merrell 5:56 PM
Right… guess I need to verify that I’m on that
Simon Stewart 5:58 PM
You should be.
Diego Molina 5:59 PM
Which will require fallbacks for commands I am sorry I never found the time to check your branch and work on it
Marcus Merrell 5:59 PM
I haven’t seen any of the sponsor emails either… starting to think there’s a problem
Diego Molina 6:02 PM
ok, so I believe we don’t have any more comments for this?
Simon Stewart 6:02 PM
Not from me
(Looks like a short meeting today, he says. Jinxing it)
Alexei Barantsev 6:04 PM
as for the beta1, I’m going to add commands getAriaRole and getAccessibilityName and I call java api complete
Diego Molina 6:05 PM
perhaps the last thing to mention is that I have pending to fill out the table about who has access to the distribution engines (npmi, sonartype, etc…) so the idea is that I will make sure we all have access to all of them
Simon Stewart 6:05 PM
Speaking of which, we really do need to push a JS release
Anyone want to volunteer for that?
David Burns 6:05 PM
If it’s not done this evening I will do it
about to take youngest to ballet so will be out for a few hours
Alexei Barantsev 6:06 PM
I’ve enabled GitHub integration in sonarcube, so it should sync org members and provide access
Simon Stewart 6:07 PM
That’s nice
Thank you
Diego Molina 6:09 PM
well, so I think that’s it for this meeting, right?
Simon Stewart 6:10 PM
I think so
Diego Molina 6:11 PM
ok, then, thank you all!
Titus Fortner 6:49 PM
Sorry to miss; I was giving training. Also, I miss getting to travel for these; Zoom is just not the same…
Titus Fortner 7:02 PM
I haven’t looked, has the print pdf endpoint been added to all the bindings? I haven’t looked in past 2 weeks, but Ruby & .NET needs to implement FF Full Page screenshot, Java (.NET?) need to be able to tell Firefox to take a full Page Screenshot when using RemoteWebDriver Java & Ruby need to re-fix the STP browser name
Ruby stuff was on my to-do list, until my paid work job gave me a daunting task with a short timeline
Jim Evans 7:04 PM
.NET hasn’t added print-to-pdf yet.
nor full-page screenshot.
Titus Fortner 7:06 PM
on that note @barancev I couldn’t duplicate the Ruby Remote Firefox bug on Mac, and VirtualBox appears to be a disaster running on Mac because I can’t even get it to play nicely with a Linux install to test it there. NET read timeout is often a random network problem, but it looks like we’ve been seeing the error consistently, so I’m concerned about it being a real problem. @p0deje do you have a linux machine available to see if we can replicate locally?
Alex Rodionov 9:35 PM
@titusfortner Not really and frankly I don’t have spare time to set it up to investigate
Speaking of which, I’ll be leaving for a 1 month road trip next week and I won’t be able to do any Selenium work during that time. Likely till early February in fact. If there is anything I can do before that, please let me know.
Titus Fortner 9:39 PM
@p0deje when do you leave?
Alex Rodionov 9:40 PM
Next Wednesday
Titus Fortner 9:45 PM
oof, well I’ve been assigned to create and give 20+ hours of classroom training on Selenium for a client between now and EOY, and I have maybe half of that right now :) I should be more available in January to help, but I’ve spent more time with the Selenium java code than Ruby code recently, so I’m not sure how we have the DevTools stuff implemented. @twalpole what’s your availability this month? :-D
David Burns 9:49 PM do we have people to do releases for ruby with @p0deje away?
Alex Rodionov 9:50 PM
According to https://github.com/SeleniumHQ/selenium/issues/8168, a currently missing CDP stuff in Ruby is: Intercept network requests allowing to mock backend requests Bootstrap script Record traffic The first two I believe are implemented in Java so it should not be hard to redo it in Ruby. I might give it a shot this weekend. The latter I think is missing in all bindings. @titusfortner we can hop on pairing session and I’ll guide you through the code. Otherwise, it all lives in devtools directory
@AutomatedTester Yes, Titus can do releases
David Burns 9:52 PM
don’t forget that @rajendra can help, BS is a ruby shop so we can help
he’s been looking through the code for the devtools stuff and is working the print stuff
Titus Fortner 10:02 PM
I’ll have bandwidth to do a release, but not to dig through the implementations until January :)
Public Project Meeting - November 19, 2020
Archived meeting minutes
Continuing the series of bi-weekly public project meetings, here is the timeline of the meeting held on November 19, 2020 (times are on IST).
Meetings are held on the #selenium-tlc
channel on Selenium Slack.
The next meeting will be on December 03, 2020,5:30 PM CET.
Simon Stewart 9:53 PM
@diemol are you running today’s status update?
Diego Molina 9:55 PM
I can do that I always forget because the event has no notifications
let me look for the agenda Some numbers before starting: Previous meeting: 281 open issues, 61 open PRs Current: 280, 62 PRs
Simon Stewart 9:58 PM
I’ve added a 30 minute reminder to the meeting in Google Calendar
Diego Molina 10:00 PM
From previous agendas, I believe these could be the topics:
- Overall announcements? New people on committees, with the commit bit, etc?
- Anything new to report from the last PLC/SFC call?
- Pending work that needs to be done for the first Beta?
- Users/passwords, access keys, etc… to distribution and release repositories.
- CoC, next steps?
10:00
Feel free to add topics
10:01
Should we start? pinging @AutomatedTester @titusfortner @harsha509 @jimevans @manoj9788 @mmerrell @barancev @p0deje
Sri Harsha 10:04 PM
m in
Simon Stewart 10:04 PM
Here!
Diego Molina 10:05 PM
First topic: Overall announcements? New people on committees, with the commit bit, etc?
David Burns 10:05 PM
here
Simon Stewart 10:06 PM
We really need to agree an emoji for “I’ve nothing to say”
:shushing_face: maybe?
David Burns 10:06 PM :speak_no_evil:
Diego Molina 10:06 PM
:speak_no_evil:
Simon Stewart 10:06 PM
I like that We shipped 4a7 Nice work, everyone
Diego Molina 10:08 PM
ok, let’s move to the next topic :slightly_smiling_face:
2nd topic: Anything new to report from the last PLC/SFC call?
Simon Stewart 10:09 PM
I missed it
David Burns 10:10 PM
There were notes from @jimevans re: a meeting at the end of October, was that the last SFC?
https://seleniumhq.slack.com/archives/C013TSZD4P5/p1604415853013000
Diego Molina 10:12 PM
right, I remember that, probably that covers the topic then, next one :slightly_smiling_face: 3rd topic: Pending work that needs to be done for the first Beta?
Simon Stewart 10:13 PM
There’s a lot. Mostly in Java I think we should all get together at some point and figure out how closely our CDP-based functionality aligns I think it’s pretty close, but I know that there are few things that @jimevans did that I’d like “take inspiration” from
David Burns 10:14 PM
Can we get things documented since you can be a bottle neck due to life. How can we, being my team, help here?
Simon Stewart 10:14 PM
- lient facing changes:
- Make relative locators return elements sorted by proximity
- Fix Java Module System problems
- Allow locator strategies to be pluggable
- Enable fallbacks for commands
10:16
Server changes:
- Enable retries of commands where necessary using failsafe
- Get the Grid UI looking nice, and returning useful data
- Allow locator strategies to be pluggable
- Pipe VNC connectors through the websocket plumbing for live video
@AutomatedTester ^^ I documented them :stuck_out_tongue: CDP for Firefox would be handy too
David Burns 10:17 PM I am going to start CDP for Firefox tomorrow
Simon Stewart 10:17 PM
Are there docs on how to find the ws address to use?
David Burns 10:17 PM
No… I will document it
Diego Molina 10:17 PM
we really need some sort of docs to have a decent feature parity across bindings
Titus Fortner 10:17 PM
does all the CDP stuff work for Edge as well right now? I haven’t tried anything but Chrome so far
David Burns 10:18 PM
I have a “try” build of geckodriver with it that I need to play with
Simon Stewart 10:18 PM
The Java stuff works for edge too
Titus Fortner 10:18 PM
I was doing a brief analysis of some things for a talk I was giving, and we implemented features in Selenium 3 at very different versions between the bindings. Kind of surprised me :)
Simon Stewart 10:18 PM
Heh. Jari was fast :slightly_smiling_face:
David Burns 10:19 PM
misses Jari
Diego Molina 10:20 PM
do we have GitHub issues for the items missing for beta?
Jim Evans 10:20 PM
those notes were from the 3 november call, which was the last PLC call (they only happen monthly)
Simon Stewart 10:20 PM
Most of those things are in the project plan, @diemol
Jim Evans 10:21 PM
so there’s a bug in .NET alpha7 that prevents the bindings from working with grid 4. (it’s fixed now)
Titus Fortner 10:21 PM
I mentioned recently that Java & Ruby don’t have the right STP name still in 4 alpha and .NET & Ruby both need to add support for full page screenshots in Firefox. Not sure what list that needs to get added to? (I’ll try to get to the Ruby stuff this weekend)
Jim Evans 10:22 PM
print-to-pdf end point?
Simon Stewart 10:22 PM
@jimevans I think the check in the java bindings may be a little too extreme, so we may need to loosen things there too @titusfortner good point. The STP thing is irksome. I need to dig into it
Jim Evans 10:23 PM
sorry i’m late to the party, btw. was spending a few minutes with P this morning before her first client.
Titus Fortner 10:23 PM
I tried to fix it in Java, but I was missing pieces. Someone who knows what they are doing, should be easy
Simon Stewart 10:23 PM
It’s not easy If it was, I’d have fixed it already :slightly_smiling_face: Or @barancev would have
Titus Fortner 10:23 PM
STP went from “Safari” to “Safari Technology Preview” back to “Safari” I changed Ruby to the longer version when I thought I was using the latest STP (I was not)
Simon Stewart 10:24 PM
I think I need to tease apart the two versions of the browser more
Titus Fortner 10:24 PM
I think we just need to support the latest version
Simon Stewart 10:24 PM
I’ll have a chat with folks here to figure out the Right Thing to do
Jim Evans 10:24 PM
i want .NET to undergo a radical refactor in its class structure before 4.0 releases. now that we have a web standard, the current class hierarchy is wrong.
Simon Stewart 10:24 PM
Yeah, just the latest version
Jim Evans 10:24 PM
well, not really “radical,” but definitely a change
Simon Stewart 10:25 PM
@jimevans we really need to find a way to get someone helping you with the .net stuff
Jim Evans 10:25 PM
nothing breaking, API-wise. with .NET 5 being out, it should be a fair sight easier.
Diego Molina 10:27 PM
We can spread the word about the help we need in the different bindings, either for refactoring or reaching feature parity if we have those changes described somewhere, ideally a GitHub issue. Then we could tweet or something, saying we need help with this issue.
David Burns 10:28 PM
Well… I have an idea I would like to share towards this but I can do that at another time unless now is a good time
Simon Stewart 10:28 PM
The Java module stuff is obvious if you use java modules
Jim Evans 10:28 PM
so, right now, the .NET class hierarchy is RemoteWebDriver (implements IWebDriver et al) -> all browser-specific drivers. what it should be is abstract class WebDriver (implements IWebDriver) -> RemoteWebDriver, and also abstract WebDriver -> browser specific drivers. if i’m clever about it, this will not be a breaking API change, because IWebDriver is still A Thing™.
Simon Stewart 10:28 PM
Just like the java 8 issue was
Diego Molina 10:29 PM
Please share, @AutomatedTester
Jim Evans 10:30 PM
my ${paidWork} project is approaching a bit of stability, so i should be able to devote some time between now and the end of the year, hopefully.
Jim Evans 10:30 PM
my ${paidWork} project is approaching a bit of stability, so i should be able to devote some time between now and the end of the year, hopefully.
David Burns 10:31 PM I would like to, with support of this group, see about creating a Yak Day. The idea is, and it requires a bit of upfront work, to get issues in place for this and then see if we can get contributors
Jim Evans 10:31 PM
the idea in Selenium 5 is to start phasing out the use of IWebDriver in favor of using the abstract base class.
David Burns 10:32 PM
it would also require that I, or others, do a “How to contribute” video to share before hand
Jim Evans 10:32 PM
(sorry for the parallel idea-spewing into the channel, but i’ve been thinking about this, and not really talked about it to anyone outside the multiple voices in my own head.)
David Burns 10:32 PM
and if we split it accordingly to language bindings and services we can see if we can try build out a bit more support for each langauge and may get us more contributors.
Simon Stewart 10:33 PM
There’ll be hoops I need to jump through, but I can jump through them to make that happen
David Burns 10:33 PM
I appreciate it can flood us with junk and we would need to work out to how to prevent that
Simon Stewart 10:33 PM
I’ve got some half-written docs for building with bazel for selenium.dev too
David Burns 10:33 PM
but the general gist is create tiny bits of work to build up contributors
Titus Fortner 10:34 PM
So, I don’t know what everything that is on the lists mentioned above entails, but I do want to put in a generic plug that we make sure things absolutely need to be in 4.0. If we can release something “good enough” to iterate on through 4.x releases, it’s going to be *much better than a super polished codebase that isn’t released for another 6 months.
Diego Molina 10:34 PM
that would be really great
David Burns 10:35 PM
I agree @titusfortner, while we are in alpha we have a limited usage group but we have finite resources so its a fine line to tread
Titus Fortner 10:36 PM
nope, totally understand; we’re all volunteers and such. just requesting we keep in mind that perfect is the enemy of releasing something that makes current users lives better
Simon Stewart 10:36 PM
After 4.0 ships, I’m going to be stepping away I’ll probably stay involved with WebDriver Bidi, but I won’t be cutting code
Diego Molina 10:37 PM
no no, you cannot leave us alone with bazel :smile:
Titus Fortner 10:37 PM
Yeah, I get that this is a factor for sure :)
David Burns 10:37 PM
Bazel isn’t that scary
Titus Fortner 10:38 PM
isn’t the point of bazel that we shouldn’t have much issue with it once everything transitions? :-D
Simon Stewart 10:38 PM
I’ll still be hacking on bazel
David Burns 10:38 PM
I’ve been contributing to that community recently… going to overtake @simonstewart knowledge soon :smile:
Simon Stewart 10:38 PM
One can only hope
Jim Evans 10:39 PM
bazel is fine… as long as your language and toolset’s opinions don’t conflict with bazel’s
David Burns 10:39 PM
@jimevans I’m finding that works with all languages… but that’s an aside
Simon Stewart 10:39 PM
@jimevans I want to see better .net support in bazel What I need is a) time, b) a Windows machine
Jim Evans 10:40 PM
well some languages’ tooling are more opinionated than others. (see: MSFT is all in on MSBuild, and any other build tool will always, always, always be a second-class citizen.)
Diego Molina 10:40 PM
Can the project buy you one?
Jim Evans 10:41 PM
@simonstewart i’ve had remarkably good luck using VMs and VMWare Fusion.
Simon Stewart 10:41 PM
My hard drive is currently stuffed with multiple versions of macOS.
Jim Evans 10:41 PM
like, that’s been my exclusive .NET dev environment for going on 8 years now.
Simon Stewart 10:42 PM
Once I get more storage, I can try a VM again
Diego Molina 10:42 PM
but ok, to the topic, which was Pending work that needs to be done for the first Beta? I believe we have commented the most of it
10:43
I will go through the meeting minutes and then create GitHub issues if I don’t find any for the items mentioned
Simon Stewart 10:43 PM
For me, “beta 1” means “this is what you’ll get in 4.0, but there are known issues”
Jim Evans 10:43 PM
.NET needs to add the “make CDP user scenarios easy” methods to be added.
Diego Molina 10:43 PM
and I will ping you to add details about it
Jim Evans 10:44 PM
yikes that’s atrocious grammar. but you get my meaning.
Diego Molina 10:44 PM
should we move to the last two topics? we have 16 minutes left
David Burns 10:44 PM
go for it :slightly_smiling_face:
Diego Molina 10:44 PM
4th topic: Users/passwords, access keys, etc… to distribution and release repositories. So, recently @AutomatedTester & me got access to the project to release Java, but in general, if we ever need to do a release and the key folks are missing we do not have access to this information
Jim Evans 10:45 PM anyone who wants access to the nuget repo, create a nuget.org account (requires a “microsoft account”), and let me know. i’ll add you to the organization for selenium.
Titus Fortner 10:46 PM
who owns email access to selenium.dev? I think we should get a project email/password for these things instead of each using our own?
Sri Harsha 10:46 PM
i got access to npm selenium-webdriver package
Diego Molina 10:46 PM
for example, we were able to get access to the npm org recently, so @harsha509 could do a JS release
David Burns 10:46 PM
and we got access for NPM :wink:
Diego Molina 10:46 PM
I thought we could be more proactive in this and not wait until we need the person to share the access.
Titus Fortner 10:47 PM
I mean, if people sign up for rubygems and send me their email, I can add them to the list of authorized users; but might scale better if there were a lastpass/onepass/whateverpass that stores universal credentials…
David Burns 10:47 PM
The only place I can think of is nuget python has a few people but we can add more. The other place is Google Storage, do we have enough people with access there?
Simon Stewart 10:49 PM
I’ve got Google Storage. @jimevans does too. I think Luke may still have the keys.
Diego Molina 10:51 PM
I believe it is a matter of someone doing the work and going one by one to give access to the TLC to all what we need. I can find some time to do that
10:52
ok, then the last topic 10:52 CoC, next steps?
David Burns 10:53 PM
CoC is waiting on SFC/PLC to reply to my message I should follow up I have found a contractor, ex-head of D&I from Mozilla, to help do the work
lukeis:indeed: 10:55 PM
yeah, i still have the google storage keys… tucked away in an archive i put in my personal google drive :grimacing:
Simon Stewart 10:55 PM
I’ve put together a quick Google Doc for folks to add their names to for access to release pathways.
David Burns 10:56 PM
thanks @simonstewart!
lukeis:indeed: 10:57 PM
we got rid of the google app-engine driving seleniumhq.org right?
Simon Stewart 10:58 PM
I can’t remember where we deploy selenium.dev to It may still be app engine
David Burns 10:58 PM
selenium.dev is on github pages
Diego Molina 10:58 PM
We use GitHub Pages
David Burns 10:58 PM
via Hugo
Simon Stewart 10:59 PM
https://github.com/SeleniumHQ/seleniumhq.github.io/blob/dev/.github/workflows/deploy.yml#L26 .github/workflows/deploy.yml:26 uses: peaceiris/actions-gh-pages@v3 https://github.com/SeleniumHQ/seleniumhq.github.io|SeleniumHQ/seleniumhq.github.ioSeleniumHQ/seleniumhq.github.io | Added by GitHub
lukeis:indeed: 11:00 PM
yeah, the sehq app engine still exists… and the dashboard seems like it’s still getting some kind of requests (very few) wonder if it’s still handling some redirects
Diego Molina 11:02 PM
it should be mostly redirects I need to leave, but thank you all for joining!
Titus Fortner 11:02 PM
Thanks @diemol!
What’s Coming in Selenium 4: Why The Major Version Bump?
In the second post in this series, Simon Stewart continues talking about what’s coming in Selenium 4 and why this release has a major version bump.
In my last post, I shared a bit about how the Selenium project works overall. Now, let’s start talking about Selenium 4 and what’s coming. One thing I think I should clear up is “why the major version number bump?”
Sometimes I joke that the major reason for the version number bump is that while the digits of Pi are infinite, when we went from 3.14 to 3.141, people got a little bit upset. Moving to 3.141.5 and then 3.141.59 was as far as we wanted to push that particular idea :)
More seriously, the first reason is that we have a revised Selenium IDE. Years ago, this used to be Firefox only because it used the XPI extension mechanism (which was specific to Firefox). It’s now a web component, and you can download it for Chrome, Firefox, and anything else that supports Web Components. There is currently work to rewrite it as an Electron app, which will allow us to make better use of the native OS the IDE is running on. That work was largely pushed forward by developers working at Applitools. They started from a base of the original Selenium IDE that had been migrated to use Web Components by a company called SideX. It’s been a fantastic example of the community working together well.
Secondly, we have fully adopted the W3C WebDriver protocol, and have dropped support for the original home-grown wire protocol. The way that Selenium communicates with a web browser is via a wire protocol that’s effectively just JSON over HTTP. Originally this grew organically as we figured things out, and we tried to make browsers do what we needed them to. That original protocol is known as the JSON wire protocol because it spoke JSON over the wire (and we’re not great at coming up with very original names).
That original protocol was the base for the W3C WebDriver protocol, which smoothed some of the rough edges, and brought some much needed consistency to the protocol. The two major areas the standardised protocol improved on included session creation, where we removed considerable ambiguity, and by providing a far richer API for specifying user actions.
So what does this adoption of the W3C protocol mean for you? I’ll be honest: it probably doesn’t mean much to you at all. If you’re using a modern browser (released over the past couple of years), you will find that actually you already speak the W3C protocol with Selenium 3.
So who does care about the protocol dialects? When we talk about companies like Sauce Labs who provide Selenium as a service—they care about it. The ecosystem is ready for this next step, because the technical folks at these companies have ensured that they understand and comply with the W3C protocol, and folks from the Selenium project have been there offering help and advice as needed.
One of the other nice things about Selenium 4 is that we’ve done our best to ensure a stable user-facing API. That means when you upgrade your project from Selenium 3 to Selenium 4, it should be a drop-in upgrade. You just change the version number, recompile and you should be done.
There are a few caveats that you should be aware of, however! The major one is that if in the last version of Selenium 3 a method was deprecated, it’s now probably gone. We’ve taken the opportunity of a major version bump to delete them and clean up the behind-the-scenes internals people don’t normally get to see. If you’re a software developer, you may recognise this as us paying off some of our technical debt :)
Stay tuned for the next post, where I’ll go over some new tricks in Selenium 4.
This was originally posted at https://saucelabs.com/blog/whats-coming-in-selenium-4-why-the-major-version-bump
What’s Coming in Selenium 4: How Can I Contribute?
In this new blog series all about the upcoming release of Selenium 4, Simon Stewart will cover how the Selenium project works, who is involved, how you can get involved, and a sneak peek at what’s new in Selenium 4.
As the lead of the Selenium project, I wanted to kick off a new blog series leading up to the release of Selenium 4. During this series, I’ll talk all about how the Selenium project works, who is involved, how you—yes, you!—can get involved, and we’ll get a sneak peek at what’s new in Selenium 4. I’ve been speaking about this off and on for a while, but now the 4.0 release is looming I wanted to start sharing in more depth.
In this first post, we’ll start off with a brief discussion about how the Selenium project itself runs and who does what, because that’s a really helpful piece to understand how and why things happen the way they do on the project. In future posts, we’ll look at the new IDE, and then we’ll talk about Selenium 4 in more depth, including the fact that it should be a drop-in replacement for you. I’ll also review some new features that we’ve added to Selenium 4, and talk a bit about the modernized Selenium Grid. So let’s get started!
About the Selenium Project
Selenium is an Open Source project. It’s run under the aegis of the Software Freedom Conservancy (SFC). The SFC is a group dedicated to pushing forward Free and Open Source software. Besides Selenium, they have a handful of projects you may have heard of, including Samba, Mercurial and Git. The SFC allows us to focus on writing code and fixing bugs by handling all the legal and financial stuff we’re not good at. They’re the ones that help us negotiate contracts for when we want to run SeleniumConf, for example.
Acting as a bridge between the project and the SFC is the Project Leadership Committee
(PLC). Currently, it’s made up of Jim Evans, Alexei Barantsev, Marcus Merrell, Manoj Kumar,
and myself. What do we do? Effectively, the PLC is about providing a smaller group of people
for the SFC to talk to when decisions need to be made about funding a conference, or how
best to respond to sponsorship agreements. Because we like to do as much work in the open
as possible, you can find us on the #selenium-plc
Slack channel, and almost every
conversation and topic is discussed here.
One of the key qualifications for being on the PLC is a demonstrated commitment to helping the Selenium project improve and succeed, and we recognise that the project is more than just “code.” It’s a community, and the make up of the PLC reflects that.
The Technical Leadership Committee (TLC) includes the people who set the technical direction
for the project. If you come over to the Selenium Slack, you can find the #selenium-tlc
channel,
which is where a lot of the technical conversations happen for the project. The TLC includes Jim
Evans, Alexei Barantsev, David Burns, Diego Molina, Titus Fortner, and me.
How do you get on the TLC? Although the project governance document goes into more detail, it can be summed up as simply as someone who’s demonstrated technical leadership on the project, over an extended period of time. Just as with the PLC, being on the TLC doesn’t give someone more authority, but they’re the ones who can merge PRs, and who can (if need be) commit directly to the tree.
Again, the TLC tries to do as much work as possible in the open. If you’re ever interested in watching
the design discussions, or asking why a bit of the Selenium code base is structured the way it is, then
come and join us in the #selenium-tlc
Slack channel. There’s normally someone from the project there
who’ll be able to answer your questions!
I wanted to share how the project works for one simple reason: to highlight one of the really important things with Open Source, which is that anyone can contribute! You don’t need to be throwing code around in order to be contributing, and you don’t need to be special in order to contribute your time and effort.
So obviously there’s the people running the projects and writing code, but we couldn’t do that all on our own. Every release includes contributions from a variety of people, not just the core development team. Also, we’re always happy to accept patches. If you’re not quite sure where to start, I recommend you head to our GitHub page and take a look at the project tab. That’s where you can see the things that need to be done and what we’re working on.
The other way to get involved is the way that everyone used to get involved with Open Source, which is by what’s known as “scratching your own itch”. It’s if there’s something about the project, something about the product you think could be a little bit better, download the source, edit it, and then send us a PR.
We encourage you to get involved and contribute! On the Selenium website, there is a
page that outlines in detail the steps to join the Selenium team.
Join the Selenium Slack channel to interact with us and ask questions. If you want to discuss something,
or if you don’t understand why the code is written the way it is, feel free to come on to that Slack channel
and talk to us. Also, if you’d like to see how the decision making is made, then please do feel free to come
on to the #selenium-tlc
or the #selenium-plc
channels to see those groups. Because we’re Open Source, we
try and do everything in the open.
If you’d like to put faces to people’s Slack or IRC handles, then please note that there’s a regular team meeting every other Thursday on Google Meet at 4:30pm (UK time!) We tend to just chat and discuss everything from the project to the weather, but that’s a great way to get to know people a little better! :)
Finally, if you’re having trouble getting to grips with the Selenium code base, then please do come and ask us for help. We’ve done our best to make the on-ramp as easy to take as possible, but the project can seem complicated and daunting when you’re getting started. We’re here to help!
I hope you enjoyed this intro to the Selenium project. Next week, we’ll talk about why the major version bump to Selenium 4. Stay tuned!
This was originally posted at https://saucelabs.com/blog/whats-coming-in-selenium-4-how-can-i-contribute
Browser Testing and Tools WG Meeting @ TPAC 2020
It’s that time of the year where working groups from the W3C meet up to discuss the various standards that are being worked on.
Within the Browser Testing and Tools Working Group, there are 2 different standards.
We have:
The first is what is commonly supported by the Selenium Project and has support from Apple, Mozilla, Microsoft, and Google in their browsers. It is also supported by various Selenium in the cloud providers like Sauce Labs and BrowserStack.
As the world has moved on we have felt the need to add new APIs and move Selenium to be more event-driven. This is where we are learning, and collaborating, with projects like Puppeteer to make sure that we can improve the Browser Automation space. This is where the WebDriver-Bidi Specification comes in. It has broad support from the browser vendors so you can use official browsers and not be limited by the JavaScript sandbox. Some of the newer frameworks can’t guarantee that.
If you’re curious about we discussed this week, feel free to read it up on the W3 Wiki.
This post was originally shared on David Burns’ Blog
Public Project Meeting - October 08, 2020
Archived meeting minutes
Continuing the series of bi-weekly public project meetings, here is the timeline of the meeting held on October 08, 2020 (times are on IST).
Meetings are held on the #selenium-tlc
channel on Selenium Slack.
The next meeting will be on October 22, 2020,5:30 PM CET.
Diego Molina 9:03 PM
Perhaps the main topics to discuss are these ones: Anything new to report from the last PLC/SFC call? Pending work that needs to be done for Alpha 7?
9:03
anything else that we need to talk about?
Simon Stewart 9:04 PM
Also paging @mmerrell and @manoj9788
9:05
Not much to share from the PLC call this week
9:05
Tentative thoughts about where we might be able to host SeConf next year, and puzzling out whether we can meet in person
Marcus Merrell 9:05 PM
here now
Simon Stewart 9:06 PM
@mmerrell can give more of an update
Marcus Merrell 9:06 PM
if I understand it correctly, we have ~$40,000 tied up with the Chicago venue, and it would be the path of least resistance to hold it there
9:08
we’ll start meeting around the first of November to start planning something there… I’d much rather hold it in the EU, but with the loss of White October, we’d need to a) find an organizing entity, and b) be prepared to pay ~double what we paid WOE, and only have a conference of half the size (i.e. we’d likely lose $$). We’ll need to decide whether or not it’d be worth it
Diego Molina 9:12 PM
if we plan ahead of time, and things are ok in terms of covid, it can happen in the EU, we have contacts here. We could ask orgs that have conferences like Agile Testing Days to give us a hand. Just throwing ideas here.
9:13
Or the folks at MoT
9:13
Next topic?
Simon Stewart 9:14 PM
Sure
9:14 Alpha 7 talk?
Diego Molina 9:14 PM
Yes
Simon Stewart 9:15 PM
@jimevans is working on the CDP stuff for .Net
9:15
I’m busy implementing some of the nice features we’ve wanted for a while (including things like script pinning)
9:15
I know that @AutomatedTester has mostly wrangled Python into shape with the CDP stuff
Diego Molina 9:15 PM
We have the PRs for the queue, which I reviewed but it’d be nice if you have a look again, Simon
9:16
(grid)
Simon Stewart 9:16 PM
But I don’t know if it supports multiple versions
9:16
I can have a look at them tomorrow
Diego Molina 9:16 PM
Specially 8754, not sure about using two concurrent arrays there
9:17
Aside from what you mentioned, and the PRs for the queue, I think we are good for Alpha 7
Simon Stewart 9:18 PM
Aye
Diego Molina 9:19 PM
sooo, I think we are done with the meeting?
Simon Stewart 9:27 PM
I think so
9:27
Unless there’s anything else people want to talk about ?
Diego Molina 9:36 PM
Doesn’t seem like that Thank you everyone!
SeleniumConf Virtual 2020 Recap
This year the Selenium Conference was held virtually, and despite that, the conference was again that exciting place where the Selenium community meets every year to share and learn about the most popular browser automation tool in the world. The conference offered talks about improved testing practices, new tools to simplify the setup of automated tests, the future of Selenium, and lots of learnings from speakers who shared their use cases and practical advice for how they use Selenium at work.
Here are some takeaways and interesting talks from this year’s conference:
Selenium: State of the Union
A peek at the upcoming Selenium 4 release was possible thanks to the demo Simon Stewart gave during this traditional talk that happens in every Selenium conference. Selenium 4 is shaping up nicely and will leave the Alpha state soon. We are all looking forward to the betas, and a candidate release shortly after that. The talk also invited other members of the Selenium team to share the organizational work they have been doing in the project, including diversity, governance and welcoming contributors.
Build a responsive typescript wdio framework
Varuna Srivastava gave a talk together with Wim Selles that showed how to build a robust and scalable framework for UI testing, based on WebdriverIO. It showed concepts that are important when getting started with JavaScript, NodeJS, and the NPM ecosystem. Furthermore, there was a broad overview of WebdriverIO and its shiny features, as well as a demo on how to use TypeScript for testing. This is a recommended talk for anyone who wants to get started on testing with JavaScript.
To Test and monitor one website is not that hard, but what if you need to do it to over 40 websites?
This was an interesting talk from Jesus Sanchez, where in order to avoid having the QA department as a bottleneck for the growing team of developers, they took the approach of building tools and resources for developers and enabling them to write tests for their over 40 websites. It is an interesting take on how the QA role becomes a facilitator and an enabler for the rest of the organization, while coaching everyone on how to write automated tests and the value of testing the right thing.
Careers in Testing – Identify your SuperPower
Smita Mishra gave a captivating talk where she invited all testers to think what alternative paths could be present in their careers, given that some organizations value testing more than others. Smita showed that if you understand what you enjoy the most, and find a way to combine that with your current and future skills, it could show you how to grow your career by finding and following a path of the least resistance.
Developing Selenium tests with JUnit 5
JUnit 5 is the new iteration of this popular testing framework, and it implements a new programming and extension model named Jupiter. Boni García presents in this talk a JUnit 5 extension called Selenium-Jupiter, the demos showed illustrate how useful this extension is because it simplifies the test configuration and reduces the boilerplate code that needs to be written in order to have a test running. Have a look at it because it is well maintained and documented, and it will help you by reducing the time needed to set up your tests.
I’m Not Special
One of the keynotes in the conference was done by Jim Evans, where he relates a personal journey through his career and how clearly “not special” he considers himself. One of the key takeaways is the fact that you become a major contributor and you do not need to be special to do that. No review will make enough justice to highlight how heartwarming and encouraging this talk was, it is a must watch for anyone who wants to become a contributor.
Closing keynote
The final session of the conference was the keynote where the project committers do an open Q&A with the community. Different opinions were shared around the question of the challenges the Selenium project sees by the growing number of browser automation tools. In addition, all project contributors made an open invitation to the community to get involved in the project, if you are interested in that, please check the project’s governance document. This is another recommended session to watch, lots of insights about how the project and its individuals work that will help the community understand the project better.
This was originally posted at https://opensource.saucelabs.com/blog/selenium_conf_2020_recap/
Public Project Meeting - September 24, 2020
Archived meeting minutes
Continuing the series of bi-weekly public project meetings, here is the timeline of the meeting held on September 24, 2020 (times are on IST).
Meetings are held on the #selenium-tlc
channel on Selenium Slack.
The next meeting will be on October 09, 2020, 4:30 PM CET.
Diego Molina 9:00 PM
So this is the proposed agenda, and @AutomatedTester has some more topics: General project statistics
- Previous meeting: 334 open issues, 63 open PRs
- Current: 281, 61 PRs Overall announcements? New people on committees, with the commit bit, etc?
- Anything new to report from the last PLC/SFC call?
- Pending work that needs to be done for Alpha 7?
- Pending work that needs to be done for the first Beta?
David Burns 9:00 PM
I dont have more topic, I want to discuss some of those topics
Diego Molina 9:01 PM
I need to improve reading skill :slightly_smiling_face:
9:01 PM
OK, let’s start
Simon Stewart 9:01 PM
settles in
Diego Molina 9:02 PM
General project statistics Previous meeting: 334 open issues, 63 open PRs Current: 281, 61 PRs We are slowly cleaning the list of issues, more cleaning to come :slightly_smiling_face:
Simon Stewart 9:02 PM
Another 32 weeks, and we’ll be done (Well, PRs)
David Burns 9:03 PM
I think we should pat ourselves on the back. In February we had over 600 issues
Diego Molina 9:03 PM
Absolutely
9:04
Ok, next topic Overall announcements? New people on committees, with the commit bit, etc? I am not aware of any announcements…
Simon Stewart 9:04 PM
Not that I’m aware of
Diego Molina 9:04 PM
Ok, so probably the next topic won’t have any updates either Anything new to report from the last PLC/SFC call?
Simon Stewart 9:05 PM
Not from me
Diego Molina 9:06 PM
Perfect, so let’s jump to the next one Pending work that needs to be done for Alpha 7?
Jim Evans:black_medium_square: 9:06 PM .NET needs a fair bit of refactor for CDP i’m planning on taking all day tomorrow to look at that.
David Burns 9:07 PM
Oh that’s awesome
Simon Stewart 9:07 PM
The java code is in a releasable state, I think Though I broke a test in the distributor, so I may want to fix that before landing
Rajendra Kadam 9:07 PM
I am working on js cdp stuff
David Burns 9:07 PM
The python code for here is just me putting in the work to make the API not suck
Jim Evans:black_medium_square: 9:07 PM
once i get CDP generation redone for C#, i’ll be pretty happy with the state of the .NET code base.
Simon Stewart 9:07 PM
There’s the session queue PR that it’d be nice to land, but I don’t think it’s essential
David Burns 9:07 PM
@p0deje has the Ruby stuff done
Diego Molina 9:07 PM
I am reviewing @Puja Jagani’s PR about the session queue, it’d be nice to have it for the alpha
Simon Stewart 9:07 PM
@jimevans this is good news :slightly_smiling_face:
Jim Evans:black_medium_square: 9:08 PM
i do need to think about a “version independent API for CDP” for .NET
Titus Fortner 9:08 PM
Do we need cdp for alpha 7? There are a number of bug fixes from 6 to get out there
Simon Stewart 9:08 PM
I’d like us to have a fairly unified approach between (at least) java and .net for the unified CDP. Happy to make changes to the java tree to make that happen
David Burns 9:08 PM
The queueing stuff I think needs to be in the alpha so we can get it to nightly users
and then improve in the betas
Jim Evans:black_medium_square: 9:09 PM
@titusfortner i at least need to get that version-independent api done before alpha7. .NET skipped alpha6 altogether, because i suck.
Simon Stewart 9:09 PM
@titusfortner in the java tree, the new CDP stuff has allowed us to hook in a bunch of APIs. It’d be nice if those were in other languages too
David Burns 9:10 PM
but… feature wise after that we’re done right? I’m itching to get us out of alpha we’re not getting enough usage
Simon Stewart 9:10 PM
I think we’re basically there once it’s done How’s the UI looking?
Diego Molina 9:11 PM
Sounds like it, for Alpha 7, to summarise: CDP working across bindings Session queue in Grid
David Burns 9:11 PM
the UI is there, I think. We’ve fixed the main UI issues
Jim Evans:black_medium_square: 9:11 PM
i agree with that assessment. once CDP work for .NET is done, i’m considering it feature-complete for 4.x.
David Burns 9:11 PM
and that’s all in trunk
Diego Molina 9:13 PM
Great, I am not sure if there is anything else to add to the topic
Simon Stewart 9:13 PM
Other than a proposed date to release a7?
David Burns 9:13 PM
next week (no pressure everyone)
Jim Evans:black_medium_square: 9:14 PM
wednesday or after of next week. i’m sure i’m not going to get it all done in one day.
David Burns 9:14 PM
Thursday and Fridays are our normal release dates so that sounds good
Simon Stewart 9:14 PM
I’m going to make a decision to gate the release on @jimevans saying that .Net is ready to roll
Jim Evans:black_medium_square: 9:14 PM
to quote @AutomatedTester “no pressure” :slightly_smiling_face: we’re putting a stake in the ground saying a7 is our last alpha?
Simon Stewart 9:15 PM
With a hard stop-date of 2020-10-07 For java, yes And I think we have the most moving parts
Jim Evans:black_medium_square: 9:15 PM
(agreed as a7 being last alpha for .NET too)
Diego Molina 9:17 PM
Any comments from other bindings? @AutomatedTester @titusfortner @rajendra @harsha509?
David Burns 9:17 PM
I want us out of alpha so…
Simon Stewart 9:17 PM
@AutomatedTester we all want to be out of alpha
Rajendra Kadam 9:17 PM
working out for js, some tests issues, trying to fix those
Simon Stewart 9:17 PM
But we also don’t want to move “just because”
Sri Harsha 9:18 PM
JS is already in alpha 7, can we release JS npm with like alpha7-patch1 with CDP ?
Simon Stewart 9:18 PM
Bump JS to alpha8 Keep it simple :slightly_smiling_face:
Sri Harsha 9:19 PM
ok, Thank you @simonstewart
Diego Molina 9:21 PM
Does it make sense to discuss the next topic? “Betas”
Simon Stewart 9:22 PM
We can move on from “alphas” :slightly_smiling_face:
Diego Molina 9:22 PM
Like, having a timeline or something like that for Betas?
David Burns 9:22 PM
There are a number of issues that are “assigned” in the “in Progress” part of https://github.com/SeleniumHQ/selenium/projects/2 I think understanding which of those features are needed for use to move through the betas is important
Simon Stewart 9:23 PM
I have a pile of branches locally with changes If it’s in the 4.0 roadmap, that kind of suggests it’s needed before release If it’s not in the roadmap, we don’t need to worry about it (For the release itself) (We do need to worry about it)
David Burns 9:24 PM
so… I guess my request is, if you’re doing it, what can we do to get it sorted (like hand off to someone else) or if you’ve not started can you unassign yourself I think it would be good to get a clearer picture of where people can help
Simon Stewart 9:25 PM
I’m not actually assigned to that much
David Burns 9:25 PM
this is a comment to all of us really
Simon Stewart 9:25 PM
One code review, one “add support for retries to handlers” I’ve a local change that has the skeleton of retries written, as well as fallback URLs for commands
Diego Molina 9:27 PM
I’ve seen that one and wanted to check, but time hasn’t been on my side lately
Simon Stewart 9:27 PM
Join the club :slightly_smiling_face:
David Burns 9:28 PM
so part of my request really is knowing where I can help without having to badger you all I being me and my team
Simon Stewart 9:29 PM
Getting Grid rock solid would be really helpful I suspect we’re not really using ZMQ properly And if that falls over, we’re in trouble
David Burns 9:31 PM
we’ve engaged @adamgoucher and he seems Ok, but this is where I want to get more usage from betas and the grid is pretty solid we’ve fixed the main issues from browserstack at least
Simon Stewart 9:32 PM
One thing I’d quite like is a way to hook in SaaS providers to the Grid
David Burns 9:32 PM
and I would love to get a new alpha out so we can start using Jaegar more
Simon Stewart 9:33 PM
The Docker support also needs some work Firebase support and XRay would be nice for use in GCP and AWS Our HTTP client needs work: I don’t think reactor is really going to work for us
9:34
Every time I try and switch to it, there’s Yet Another Weird Failure
David Burns 9:35 PM
I am happy to get Puja involved here
Simon Stewart 9:36 PM
I think one thing we’d really love to demo is “deploying Grid to EKS” and seeing it start outputting information @Puja Jagani’s help would be amazing
Puja Jagani 9:36 PM
Would love to help!
Simon Stewart 9:36 PM
Awesomeness :slightly_smiling_face:
Diego Molina 9:36 PM
we can do that, it should not be hard :slightly_smiling_face:
Simon Stewart 9:37 PM
Getting a Kafka version of EventBus would allow folks to use other hosted infra, but I think that may be too much for 4.0
Diego Molina 9:39 PM
I prefer to see the Gird being rock solid at its core, and when that is the case, add the other things
David Burns 9:39 PM
augementing things like that is a definite post 4.0 item
Diego Molina 9:39 PM
for example, I would say we can tackle the redis backed distributor after the release
Simon Stewart 9:40 PM
I’m working on some changes to make the state of the distributor serializable Once those are done, I’ll be a lot happier with it
Diego Molina 9:43 PM
Great, I think those are the topics for today, is there something else?
Simon Stewart 9:44 PM
Not from me
David Burns 9:44 PM
I’m done
Diego Molina 9:45 PM
Thanks everyone!
Simon Stewart 9:45 PM Thank you, @diemol!
How to delete your master branch
At the Selenium project we practice
trunk based development, in which trunk
is the
usual name of the default git branch of the repository. However, when the project was
moved to GitHub, the repository followed the traditional use of master
as a name for
the default git branch.
With the intention of making the Selenium project an even more inclusive place where
everyone is welcome, a decision was made to use trunk
as the default git branch and,
after the switch, delete the master
branch. This change created a few challenges.
This blog post will point out a few things you should watch out if you want to make
the same change in your GitHub repository.
Broken Links
It is common to link specific parts of the code in the documentation, and that link
normally contains the branch name. Double-check your documentation for links pointing
to files living on the master
branch, as they could end up as broken links after
the change.
Mentions to the branch name
Similarly, the branch name gets mentioned in different parts of the repository, such as code comments, contribution instructions, issue and pull request templates, and the readme. Don’t forget to check these places.
GitHub repository badges
We all like to show off how our GitHub repository is doing by adding as many badges as we can. In many cases, those badges report a build status that depends on the branch where the build was executed. Make sure your Travis/CircleCI/GitHub Actions badge is pointing to the new branch.
Continuous Integration setups
A good practice in open source is to have a continuous integration setup to run the builds, execute tests and potentially do automated releases. Nowadays, the CI configuration is done in files (e.g. .travis.yml for Travis), and one important piece of that configuration is the name of the branch where the build should be executed. Similar to the previous point, double check that your new branch name is property configured in your CI integration.
Build scripts
At the Selenium project, we have a few custom build scripts that get executed through the continuous integration setup. An example is the script that generates the docs for the Java, Ruby and Python bindings. This script needs to know the code’s branch name to generate the docs. If you have scripts with similar purposes, check them after changing the branch name.
Open pull requests
All of the tasks above could probably be achieved with a text editor and a massive,
but careful, “search and replace” across all the files in the repository. In short,
the process we followed to move to the new branch trunk
was:
- Create a new branch called
trunk
, based on themaster
branch. - Do all the items described in the previous points.
- Commit and push those changes.
- Delete the
master
branch.
Nevertheless, one thing happened that we did not expect: after deleting the master
branch, all the open pull requests got closed. This made sense, since they were all
targeting the master
branch. Therefore, before deleting your master
branch, double
check and, if needed, edit the open pull requests so they target the new branch.
It goes without saying that the name of your new branch can be any name that works
well for your context and environment. For example, the
repository that has the
contents of the Selenium website uses now dev
as the
branch with the website source files and publish
as the branch with the generated
static website that gets published.
These are our lessons learned during the process of deleting the master
branch in
all the major repositories under the SeleniumHQ GitHub
organization. I hope they are helpful if you decide to move from master
as a name
for your default branch.
This was originally posted at https://opensource.saucelabs.com/blog/how_to_delete_your_master_branch/
Public Project Meeting - August 13, 2020
Archived meeting minutes
Continuing the series of bi-weekly public project meetings, here is the timeline of the meeting held on August 13, 2020 (times are on IST).
Meetings are held on the #selenium-tlc
channel on Selenium Slack.
The next meeting will be on August 27, 2020, 4:30 PM CET.
Diego Molina 7:58 PM :wave:
- Here is the agenda for today
- General project statistics (Previous meeting: 338 open issues, 73 open PRs)
- Overall announcements? New people on committees, with the commit bit, etc?
- Improving workflow (Reviewing PRs, Improving design requirements)
- Selenium Conf website in GitHub org? (README is pending)
- IDE to the main repo?
- Users/passwords, access keys, etc… to distribution and release repositories.
- Anything new to report from the last PLC/SFC call?
- Conferences. Status for SeConf India & SeConf Chicago?
- Pending work that needs to be done for Alpha 7?
- Pending work that needs to be done for the first Beta?
- Selenium Branding guide
- Selenium marketing strategy (e.g: Webpack)
- CoC, next steps?
- Did anyone talk to Miki about the go bindings? (This topic has been skipped in the previous meetings but it is good to keep it on the agenda so we act on it when we have more bandwidth)
8:00 PM
Let’s start with the 1st item General project statistics (Previous meeting: 338 open issues, 73 open PRs)
8:01 PM
Current statistics 334 open issues, 63 open PRs Next item Overall announcements? New people on committees, with the commit bit, etc? Not that I am aware, anyone else?
David Burns 8:02 PM
No, but I would like to propose to create a new team on github for my team to at least have triage ability on bugs
8:03 PM
I can’t assign bugs unless they are somehow associated to the org
Diego Molina 8:03 PM
That is a good idea, I had the thought of creating a triage team and add people who are helping already in the #selenium channel, like @Salmon Mode :+1:
Simon Stewart 8:03 PM
+1 for a triage team
Diego Molina 8:04 PM
We should add that to the governance model
David Burns 8:04 PM
we can always discuss commit bit for my team at a later stage but I want them in the org
Diego Molina 8:04 PM
as a way to be part of the team without the need of explicitly be a committer
8:05 PM
who wants to take that task? add this to the governance model?
David Burns 8:05 PM
I can
Diego Molina 8:05 PM
:thumbsup:
8:06 PM
next topic? Improving workflow (Reviewing PRs, Improving design requirements)
David Burns 8:06 PM
that’s mine
8:07 PM
I would like to see if there is a way we can get designs for what people want descrribed better in issues I have noticed people misinterpretting requests in bugs that my team are working on
8:08 PM
and I dont know if it’s tribal knowledge that is missing or general experience or what can we get more definitive process for this
Simon Stewart 8:08 PM
“misinterpreting”?
David Burns 8:09 PM
well, we started down the observability issue and there are cases where work was done based on what their intrepretation was and it turned out to be different they didnt have the same context and motivation behind the changes
Simon Stewart 8:10 PM
It really helped when we had a conversation about the event stuff And since I’d planned to do that work myself, it seemed more lightweight not to fully describe everything in the issue
David Burns 8:10 PM
I agree, and I want to see if there are times we can front load that in to the issue rather than go down, write code , it’s wrong, try again
Simon Stewart 8:10 PM
Maybe if we make clear that they’re a placeholder for a conversation and identify who to speak to?
Diego Molina 8:11 PM
what I am missing in general about this, is that the decisions made through conversations in Slack are not being written in the GitHub issues or in the PRs, which makes things hard to review and move on
David Burns 8:11 PM
there is that too
8:12 PM
but having a converrsation requires the person that needs to be spoken to being free which isnt always a realistic expectation due to numerrous factors
Simon Stewart 8:13 PM
True, but front-loading all the design work is also impractical
David Burns 8:13 PM
I guess if we add more context and motivation that would be a good halfway point
8:13 PM
motivation being the main one for me.
Diego Molina 8:13 PM
what we also need to realise is that we did not have something that looked like a roadmap before, Simon helped with his brain dump that turned into the GitHub issues we have for the Selenium 4 release project so we are in a better place than the one we were but I agree that more detail on what is intended in the issues is needed, a natural next step in the iteration :+1:
David Burns 8:14 PM
agreed
8:15 PM
because, and this is my next item, if we can have some more info in issues it’s easierr to review there are changes that I can review and I go for correctness in the java server but it might be the wrong idea and we have PRs that sit, again due to people having lives and can’t always be here
Diego Molina 8:16 PM
do you think we should back to the open issues and find ways to extend them and make them more clear?
Simon Stewart 8:17 PM
Select the subset that are needing clarification and ask?
David Burns 8:17 PM
I have started doing that with some of the next load of work that I want my team to work on my goal, like everyone, is to ship se4
Simon Stewart 8:17 PM
Agreed And I want to help make that happen
8:18 PM
But I’m under some weird time constraints
David Burns 8:18 PM
I know, I am not blaming anyone
Simon Stewart 8:18 PM
I know :slightly_smiling_face:
David Burns 8:18 PM
I just want to make your life easier and my team’s and you’re kinda in both
8:19 PM
so… since code is mutable… can we go with I review for correctness, if it’s wrong and we spot then a new issue is raised with more context/motivation? and I will put it on my team’s stack?
8:20 PM
I feel this issue could raise it’s head with Sauce if they expand their team
Diego Molina 8:20 PM
uh, I need the simple English translation for that phrase
David Burns 8:21 PM
heh… sorry since I can review code, and make sure we have tests. If I feel it’s ok to merge I will, after a few days
8:22 PM
if others in this group disagree with the change, let me know, I will add it to our work and will get it sorted The issue of missing context and motivation could happen to anyone joining this group e.g. Sauce expanding their OSS team
Diego Molina 8:24 PM
got it, thanks for the translation I don’t see any issue with that, I think it makes sense in the end we can always improve things after merging code
David Burns 8:24 PM
cool. there are a few PRs from my team that have been sitting for a while
8:25 PM
and didn’t feel I could merge as I didnt have confidence in the serverr (give me a browser any day)
Diego Molina 8:26 PM
I am finding ways to help a bit more there, but we should follow your suggestion, I would appreciate a comment in the PR before merging it, like “hey, this has been sitting for while, it looks correct to me, I’ll merge it tomorrow unless someone has something against” :+1:
David Burns 8:27 PM
deal and we can get to a stage where my team can review each other which would be even better
Diego Molina 8:27 PM
:thumbsup:
8:28 PM
Next topic? Selenium Conf website in GitHub org? (README is pending)
8:29 PM
Quick update here, Andrew gave me an intro on how to make changes, the setup is more complex than I thought. We are in the process of documenting it. We should in the near future formalise a team in the governance model for the Selenium conference, there is a lot of work happening there that should be more recognised :+1:
8:30 PM
Next topic IDE to the main repo?
8:30 PM
I’ve seen @AutomatedTester and @rajendra moving the IDE repo into bazel, right?
David Burns 8:31 PM
bazel work is hand once that is done we can move it over wholesale I think the bazel work is 40% of packages. Tests still need doing but we’re touch the rough edges of bazel here
8:32 PM
we’ve both been chatting to people on the bazel slack
Diego Molina 8:32 PM
thanks for the update next topic?
8:33 PM
Users/passwords, access keys, etc… to distribution and release repositories. I added this one
8:34 PM
A few weeks ago I changed the way docker-selenium is released, moved it to GitHub actions, since I did not know the password used to push the images to Docker Hub, I had to reset the password and use it there
8:35 PM
which means that I am the only one who has the password now, and I believe this is the case for many other things we have (npm, python and ruby stuff, stores for Google/Firefox etc..) is there a way the ones in the TLC can have access to this information?
Simon Stewart 8:35 PM
We have some of the passwords stored in LastPass
Diego Molina 8:35 PM
and also consolidate it?
Simon Stewart 8:36 PM
We can share out individual credentials as needed
Diego Molina 8:36 PM
the thing is that the “as needed” moment usually comes when the one who has the credentials is not available
Simon Stewart 8:37 PM
That’s why we share them on LastPass :slightly_smiling_face:
Titus Fortner 8:37 PM
We could create a selenium account for Rubygems and share the password, right now it is giving individual accounts permission manually
Diego Molina 8:38 PM
Who has access to LastPass and can give access to all the TLC members?
Simon Stewart 8:38 PM
I do. Everyone in the PLC should have it too
Diego Molina 8:38 PM
I am only referring to credentials needed for releases and so on do we want to have different types of credentials mixed?
Simon Stewart 8:38 PM
(Sinking into a meeting where I need to talk at work. Dropping out of here)
Diego Molina 8:39 PM
Ok, then we can touch this topic again in the next meeting, but we already started it :slightly_smiling_face: Next topic: Anything new to report from the last PLC/SFC call?
8:40 PM
Seems not :slightly_smiling_face: Next topic: Conferences. Status for SeConf India & SeConf Chicago?
David Burns 8:42 PM
@mmerrell or @manoj9788 ?
Diego Molina 8:42 PM
I know India is virtual and there is a schedule already, I think they are figuring out if workshops will be done :+1::skin-tone-4:
Diego Molina 8:43 PM
and I saw that Chicago is officially postponed to 2021
David Burns 8:43 PM
in that case, move this topic to just india and then post that conference drop it from the agenda for a while
Diego Molina 8:44 PM
ok, makes sense next topic: Pending work that needs to be done for Alpha 7? Pending work that needs to be done for the first Beta? I am not sure if there are many updates here
8:44 PM
I think we need to land those PRs that are sitting to move to the last alpha
Marcus Merrell 8:46 PM
Yeah–we’ve moved out all SeConf Chicago meetings until November. We’re working to choose a new date with the venue for next year, and working on language in the contract that will allow us “ultimate cancel ability” if this thing continues to be a problem. We can move that off of the agenda for the time being :+1:
8:47 PM
I don’t have any new information about India - as far as I know there are no changes to the plan
Diego Molina 8:48 PM
thanks Marcus!
8:49 PM
So, I know that the 4 remaining topics in the agenda have no updates, so I suggest we skip them and we end the meeting early what do you think?
David Burns 8:49 PM
fine @mmerrell hey… friendly poke about that draining PR
Diego Molina 8:51 PM
ok, thanks everyone for your time!
Public Project Meeting - July 02, 2020
Archived meeting minutes
Continuing the series of bi-weekly public project meetings, here is the timeline of the meeting held on July 02, 2020 (times are on IST).
Meetings are held on the #selenium-tlc
channel on Selenium Slack.
The next meeting will be on July 16, 2020, 4:30 PM CET.
Diego Molina 8:00 PM
Hi all, who is in for the Public Project meeting?
8:01 PM
- Here is the overall agenda:
- Overall announcements? New people on committees, with the commit bit, etc?
- Anything new to report from the last PLC/SFC call?
- Did anyone talk to Miki about the go bindings?
- This topic has been skipped in the previous meetings but it is good to keep it on the agenda so we act on it when we have more bandwidth
- Pending work that needs to be done for Alpha 7?
- Pending work that needs to be done for the first Beta?
- Conferences. Status for SeConf India & SeConf Chicago?
- Selenium Conf website in GitHub org?
- IDE to the main repo?
- CoC, next steps?
- Selenium Branding guide
- Selenium marketing strategy (e.g: Webpack) (if anyone wants to add something, feel free to do it)
8:02 PM
First, some project health: General project statistics Previous meeting: 343 open issues, 72 open PRs Now: 338 open issues, 73 open PRs
David Burns 8:03 PM
looks like healthy movement as I know I’ve handled a few issues and PRs personally
Diego Molina 8:03 PM
Next topic: Overall announcements? New people on committees, with the commit bit, etc?
Simon Stewart 8:04 PM
WebDriver BiDi meeting was yesterday. There’s some spec prose
David Burns 8:04 PM
@tourdedave is stepping back from the tlc, for a while at least unless I have misunderstood
Manoj Kumar Kumar 8:05 PM
@AutomatedTester stepping into TLC
Simon Stewart 8:05 PM
I thought he did that a while ago, but we failed to update everything
David Burns 8:05 PM
its more official :)
Diego Molina 8:05 PM
do we want to remove him from the list explicitly? does it make a difference?
Simon Stewart 8:05 PM
And @AutomatedTester should have been in the TLC from the start :man-facepalming::skin-tone-2:
“The list”? On the governance part of the site?
Yes
Diego Molina 8:05 PM
I thought @AutomatedTester was there, it just my mistake :slightly_smiling_face:
Simon Stewart 8:06 PM
Unofficial draft of the bidi spec: https://w3c.github.io/webdriver-bidi/ There’s a way to go yet
Diego Molina 8:06 PM
ok, I will create a PR to do that (removing @tourdedave)
David Burns 8:06 PM
As retribution for not being on the TLC officially you all owe me cake :cake:
8:06 :P as for the webdriver bidi, as @simonstewart said, there is prose.
8:07
yesterday’s meeting notes are in https://www.w3.org/2020/07/01-webdriver-minutes.html The spec is being driven by Mozilla and Google mostly atm
Diego Molina 8:08 PM
thanks for the updates next topic? Anything new to report from the last PLC/SFC call?
Luke Hill 8:08 PM
I’m just being nosy, nothing to see here.
Manoj Kumar Kumar 8:09 PM
Nothing specific from the last PLC/SFC call. We’ve caught up on conference updates, which we will cover shortly.
Diego Molina 8:10 PM
ok, sounds good next topic is: Did anyone talk to Miki about the go bindings?
- This topic has been skipped in the previous meetings but it is good to keep it on the agenda so we act on it when we have more bandwidth there is no need to comment or discuss if no one has updates though
Simon Stewart 8:10 PM
Nothing from me
Diego Molina 8:11 PM
ok the next topic is: Pending work that needs to be done for Alpha 7?
Simon Stewart 8:11 PM
I’d really like us to get the new UI in place for alpha 7 Even if it’s just a skeleton
David Burns 8:12 PM
That is in flight now, hope to get a demo on Monday and see what needs to be improved before we move into the repo :tada:
Simon Stewart 8:12 PM
Great news :slightly_smiling_face: Lemme check the project plan
Diego Molina 8:12 PM
I have seen CDP in Python and JS are almost there
David Burns 8:12 PM
we already have some of the parts required in master and the rest are being worked on CDP in python has landed
Simon Stewart 8:13 PM
https://github.com/SeleniumHQ/selenium/projects/2
Manoj Kumar Kumar 8:13 PM
And GraphQL is nearing completion, I guess.
Simon Stewart 8:13 PM
Things on my list are the new features based on CDP usage Pluggable locators
8:14
And CDP/WebDriver interop (mostly at the element and window level) Those will let us call alpha 7 the final alpha :tada: And we can make a start on the betas as we’ll be feature complete IMO Anything else that folks can think of?
Diego Molina 8:15 PM
nothing else from my side
David Burns 8:15 PM
we do have the beta list at https://github.com/SeleniumHQ/selenium/issues?q=is%3Aopen+is%3Aissue+label%3ASelenium-4-Beta
8:16
do we need to move more things there?
Simon Stewart 8:16 PM
Are those “bugs to fix in the betas” or “bugs to fix before we can cut a beta”?
David Burns 8:16 PM or remove yes
Simon Stewart 8:16 PM
Logically correct, but not an actual answer :slightly_smiling_face:
David Burns 8:16 PM
it’s a list of things @diemol thought we needed and I mostly agree
Diego Molina 8:17 PM
they come from the Google Doc we went through in London in February with Simon
Simon Stewart 8:17 PM
I shall ruthlessly reprioritise Those are things that we mostly need in place before release
8:18
But I think we can go into the betas with “the features are there, but they’re known to be unstable” The alphas are “the features aren’t even there yet”
Diego Molina 8:18 PM
I would expect to have a few things being unstable in the betas
Simon Stewart 8:19 PM
“A few things” will definitely be unstable
David Burns 8:19 PM
I would like to get things that may have got sorted but the bug list is out of date sorted as well from our lists
Simon Stewart 8:20 PM
That list seems mostly up to date
David Burns 8:20 PM
but things like Ruby on bazel and ide in the mono repo I dont think are Se4 dependent
Simon Stewart 8:20 PM
I don’t see things that are already fixed in it
David Burns 8:20 PM
my comment was general so people checked :D
Diego Molina 8:20 PM
indeed, I usually keep an eye on the issues, and I believe is up to date btw, we are already covering the next topic in the agenda Pending work that needs to be done for the first Beta? :+1::skin-tone-4:
David Burns 8:21 PM
yes and no… Can we get PRs in flight finished if they are just waiting on reviews on fixing review comments I meant
Simon Stewart 8:22 PM
Which ones in particular?
David Burns 8:22 PM
The draining one and the redis one (not picking on people) come to mind
Simon Stewart 8:22 PM
I’m not happy landing the Redis one since it leaves a broken RedisBackedDistributor in the tree, and that’s suboptimal
8:23
I need to re-review the draining one
David Burns 8:23 PM
I am not saying we need to fix it but we need people to finish them off :)
Simon Stewart 8:23 PM
Indeed.
Diego Molina 8:25 PM
so, is there anything else to add before moving to the next one?
Manoj Kumar Kumar 8:25 PM
Selenium IDE work is a separate topic? Unsure if @corevo is here? I meant on the Electron piece of work.
David Burns 8:25 PM
I can field that…
Manoj Kumar Kumar 8:25 PM
great!
David Burns 8:26 PM
Selenium IDE is now in the Edge store :tada: that’s the extension version
8:27
As for the electron version, that’s slightly on hold atm but hopefully we can start that up soon :+1::skin-tone-4:
Manoj Kumar Kumar 8:27 PM
https://microsoftedge.microsoft.com/addons/detail/selenium-ide/ajdpfmkffanmkhejnopjppegokpogffp Link to MS Edge store
David Burns 8:27 PM
I would like it to be a thing as we work on core “fit and finish” pieces
Diego Molina 8:28 PM
sounds good should we move to the next topic?
Manoj Kumar Kumar 8:28 PM
yes
Diego Molina 8:28 PM
Conferences. Status for SeConf India & SeConf Chicago?
Manoj Kumar Kumar 8:29 PM
SeConf Chicago - Postponed to 2021 - we are working on new dates and Hotels.
8:30
SeConf India - It was supposed to held on June - we’ve moved it to September, but it seems hard and the Indian borders won’t open up for any travels in and out.
8:31
Final decision is yet to be made, it will get postponed or we may have a shortened(online event)
Diego Molina 8:32 PM thanks for the updates :slightly_smiling_face:
Manoj Kumar Kumar 8:32 PM
@mmerrell Please fill in, if I’ve missed anything!
Diego Molina 8:32 PM
next topic is: Selenium Conf website in GitHub org? @andrewmkrug did a great job in revamping the site weeks ago, and now the code is in a private repo under the SeleniumHQ GitHub org he’ll add some instructions to the README on how to develop on it and deploy it :clap::skin-tone-4:
8:34
the repo is private just to keep information about future conferences confidential :slightly_smiling_face: next topic: IDE to the main repo?
David Burns 8:35 PM
No change on this. I hope to get to it soon, I have a branch doing the Bazel work
Diego Molina 8:35 PM
ok, sounds good next topic: CoC, next steps?
David Burns 8:36 PM
Last week @diemol and I met with Sage Sharp and had a productive meeting
We have given them a bunch of details and they hoped to get back to use end of this week or beginning of next week with a draft
Diego Molina 8:37 PM
yeah, it was a great session, and I think the CoC is on a good path
Marcus Merrell 8:38 PM
The only conference-related note is that we’re looking at a potential opportunity to host an online-only conference sometime in September/October, but we don’t have details or info on the $$ piece yet
Diego Molina 8:39 PM
thanks @mmerrell
8:40
should we move to the next topic?
David Burns 8:40 PM
regarding online confs I would like people to speak to their respective marketing companies and see if it’s being over done
Marcus Merrell 8:40 PM
that’s my #1 concern
David Burns 8:40 PM
there are so many atm…
Marcus Merrell 8:40 PM
how’s Breakpoint looking, btw?
David Burns 8:41 PM
It’s good so far but I know marketing team don’t really want anything past that
Marcus Merrell 8:41 PM
right… not surprising
David Burns 8:41 PM but that may change
Marcus Merrell 8:42 PM
@simonstewart was talking about potentially having a webinar series instead of a 6-hour block of content, and I’m kind of interested in anything that will keep the zoom fatigue to a minimum
unfortunately, online conferences are not my thing, as an organizer or a participant… this might make me an ideal candidate to create an event that won’t over-do it
David Burns 8:42 PM
heheh
Diego Molina 8:43 PM
ok, seems we can move to the next topic
Selenium Branding guide
Manoj Kumar Kumar 8:44 PM
We’ve always get many requests on usage of Selenium Logo for multiple purposes, PLC usually respond to those requests with the help of SFC folks.
And there is also an issue to track : https://github.com/SeleniumHQ/seleniumhq.github.io/issues/81 This has been long pending and finally we’ve started with it…
8:45
Selenium Branding guide is in-progress. Its on a private Google doc shared with the PLC and TLC members. The legal rep from the SFC team has reviewed and shared feedback and recommendations. And right now its with our Selenium team (PLC, TLC(may not be all of TLC) to look at it and see if we need more clarifications.
8:46
@simonstewart @diemol @AutomatedTester and others When you get a moment, pls take a look and share your feedback
Diego Molina 8:47 PM
I think it makes sense to have something like that, it is easy to see the Selenium logo / name misused in many places
that’s a good initiative @manoj9788!
David Burns 8:47 PM
What does this mean when people use our brand incorrectly. Like there is a linkedin group that charges for people making specific posts there.
8:48
(from what I am told) do we have recourse to challenge them?
Manoj Kumar Kumar 8:49 PM
That reminds of another questions,What are social media accounts that are handled by SeleniumHQ team?
Marcus Merrell 8:49 PM
using it to promote “Selenium Certification” is the example I see most often I believe we’ve done it before (before I joined the PLC) “done it” == “challenged them”
Manoj Kumar Kumar 8:50 PM
AFAIK, Twitter: SeleniumHQ, SeleniumConference are handled by SeleniumHQ team. LinkedIn: Is there one? Facebook: I think there is one, but don’t think anyone from SeleniumHQ team is handling that.
Marcus Merrell 8:51 PM
we should hire a tween to manage our insta (and TikTok) only half-kidding
Diego Molina 8:51 PM
there is this https://www.linkedin.com/company/selenium/about/ and this https://www.linkedin.com/company/selenium/about/
Marcus Merrell 8:51 PM
especially considering how many tweens use Selenium to do fortnite/roblox stuff
Manoj Kumar Kumar 8:51 PM
TikTok is officially banned in India :slightly_smiling_face:
Marcus Merrell 8:51 PM
lol
Diego Molina 8:52 PM
sorry, the 2nd link was meant to be this one https://www.linkedin.com/groups/961927/ (edited)
Manoj Kumar Kumar 8:52 PM
ok, no politics here. No idea, who owns that.
Diego Molina 8:54 PM
I feel this topic overlaps with the last one in the agenda: Selenium marketing strategy (e.g: Webpack)
Manoj Kumar Kumar 8:55 PM
Diego you could share some insights on the example you gave on Webpack
Diego Molina 8:56 PM
yeah, I was trying to find some info while Googling
8:57
the idea I heard, is that webpack was not having a good moment in terms of users and reputation and revamping their image (docs, social media, and of course improving the project code) helped them enormously so this point is just to have a conversation starter and see if you think something similar makes sense for Selenium
Simon Stewart 8:58 PM
It’s useful. I think we should also take a look at the things that people like about Cypress and make it clear how to surface the same thing in Selenium :+1::skin-tone-4:
Manoj Kumar Kumar 8:59 PM
Agreed! I think it makes sense @diemol
David Burns 8:59 PM
I would love for us to do something here. @simonstewart and I have previously discussed this as “fit and finish”
9:00
these are the things that people like about puppeteer/cypress and we’ve not done a good job of explaining similar things
Simon Stewart 9:01 PM
Indeed. TBH, I thought we’d be done with Se4 at this point And well into the fit-and-finish bit that could be Se5 But I agree with @diemol that part of that is a nice site with excellent docs
Diego Molina 9:02 PM
nice, so it seems there is a general feeling that we should be doing something like that I can try to do something about it and give an update for the next meeting
Simon Stewart 9:02 PM
Just one piece isn’t good enough to solve the problems That’d be fantastic, @diemol
Manoj Kumar Kumar 9:02 PM
Happy to pair on that @diemol
Diego Molina 9:02 PM
sounds good!
9:03
well, that was the last topic in the agenda, and we are 3 minutes past the end of the meeting thank you everyone!
David Burns 9:03 PM
yay
Manoj Kumar Kumar 9:03 PM
And we’ve moved from Master to Trunk Thanks @AutomatedTester
David Burns 9:03 PM
yes, and it was an important move
Manoj Kumar Kumar 9:04 PM
Thanks @diemol @simonstewart @AutomatedTester and everyone!
Moving to Trunk
master
branch in favour of trunk
Since the project started we have been following trunk based development. This was a very natural fit when we were using SVN over a decade ago on Google Code.
As Google Code shut down we moved to GitHub and the git model of doing things. We moved there mostly due to the gravity that GitHub had created in Open Source projects.
This meant that we followed the standard use of master
as our trunk to work off. Now that GitHub, and services that use GitHub, have improved support for non-master branches as default we are moving our default branch to trunk
. It describes how we, as a project, work and is a more inclusive term.
If you have pull requests based on master
we will see about moving that over to the trunk
branch ourselves. If we can’t, we may ask you to help with the rebasing.
We, as a project, want to make our community inclusive and this is just one step in making sure we are. Other steps we taking are improving our Code of Conduct and Community Guidelines.
Join us on Slack or IRC if you wish to discuss this further.
How Selenium Works: Episode 1 - Transportation
After an interaction on the last weekend of January 2020, on a Selenium Issue where someone said “why can’t you just…” after I explained the issue I thought that I would start explaining commands in Selenium WebDriver and why we landed on the design that we have today.
I will repeat this on every page of the series but a lot, an annoying amount sometimes, of thinking goes into how every little bit of Selenium works.
Why?
Selenium, by chance and being good at what it does, is used by millions of people around the world as well. It’s how companies from Microsoft and Google to the small startup make sure that their site works in every browser.
How Does Selenium talk to the browser?
Selenium, over the years, decided that we were going to use HTTP to speak to the browser. We built a REST-ish API that every client binding could use and hopefully get the same results.
HTTP and REST-ish? Really?
Yea…
Let’s start with the HTTP part. When we started we had to have a unique way to speak for each browser based on the best way to speak to them. So for Internet Explorer we wrote COM code. It was fine, it worked but gave us nightmares. For Firefox we wrote a monstrocity that read line by line and, thankfully, due to Mozilla’s “make the browser yours” attitude we could do a lot. Opera allowed us to go in via the DevTools protocol.
Now, it meant that, especially in the early days of WebDriver, we would need to maintain N: M bindings where N is the language bindings and M is the browsers we support. This is not a road to a good product. We decided that we need something that every language would understand. We also needed something that would be pretty robust. HTTP was chosen and we set about building the JSONWireProtocol
.
The JSONWireProtocol
is where we built a REST-ish interface that would speak JSON. I say REST-ish because it didn’t follow all the principles of REST but enough to make it powerful for our needs.
How does it relate to things now?
The Web, the internet, and the world has moved on. Why hasn’t Selenium?
This is a good question and the thing is we are trying to move things on. Unfortunately the web has a state where it is broken unless it is working. HTTP is pretty robust as a protocol. It can also allow people to build up clusters for testing without having to worry too much about how the multiplexing would work. This is the reason why Selenium Grid was created and is still a pretty good choice when it comes to farming out your testing to multiple devices and multiple machines.
But Some automation Framework that uses Chrome Debug Protocol is more like the web, be like them.
So… There are tools that use Chrome’s Debug Protocol to drive the browser and some of the things they do better than Selenium are down to their choice of how they speak to the speak to the browser. Unfortunately it’s a Chrome proprietary protocol and Google is not interested in working with other browsers on making it not.
Also, ignoring the interesting design choices from the the Google team, there is the problem that we have to have a permenantly open connection. In this case it uses WebSockets but if you remember my comment earlier about the internet is down until it’s up. WebSockets would be constantly re-establishing the connection. There is also the problem of how much traffic would be going up and down that pipe.
This is fine for puppeteer where you are only speaking to something on your local machine but if you are combining a CI service, like Circle CI or TravisCI and something like AWS Device Farm, Sauce Labs, or BrowserStack you suddenly have a lot of internet inbetween you and your runner and that data needs to get somewhere.
The W3C Browser Testing and Tools Working group, which is made up of browser vendors and Selenium folk, are trying to design what this will look like to make sure that we can make it cross browser from the start without having to do weird hacky patches to browsers and ship those browsers ourselves.
Want to read more?
This was originally posted to https://www.theautomatedtester.co.uk/
Public Project Meeting - June 04, 2020
Archived meeting minutes
Continuing the series of bi-weekly public project meetings, here is the timeline of the meeting held on June 04, 2020 (times are on IST).
Meetings are held on the #selenium-tlc
channel on Selenium Slack.
The next meeting will be on June 18, 2020, 4:30 PM CET.
Diego Molina 8:05 PM
the agenda will be:
- anything people want to add in the next 2 minutes
- me looking to previous agendas and adding those items here
Simon Stewart 8:06 PM
Hahaha
Agenda item: path to betas
8:07 I’d like to hear about the work that @AutomatedTester has in mind for his interns, and how (as a project) we’ll support them
Diego Molina 8:08 PM
Agenda:
- general project statistics
- any overall announcements? new people on committees, have the commit bit, etc?
- so do we want/need to wait for that work to be done before doing Alpha 7?
- Work to be done before beta? (Path to betas)
- when is the next SFC call? (if its happened in the last two weeks, anything to report)
- Did anyone pick up the ball to talk to Miki about the go bindings?
- SeConf India SeConf Chicago
- Selenium Conf website in GitHub org?
- IDE to main repo?
- CoC
Let’s start
8:09 general project statistics: two weeks ago: 391 open issues, open pull request: 68 now: 343 open issues, open pull request: 72
8:10 looking better, let’s keep the pace! 1
next item:; any overall announcements? new people on committees, have the commit bit, etc?
Simon Stewart 8:11 PM
Just a quick note that @Bongosway has landed a few patches recently. I’m hoping that we find a way to help him into the fold a little more
And a high five to @rajendra for his work on the JDBC stuff 1 reply 4 days ago View thread
Diego Molina 8:12 PM
absolutely, thanks for contributing!
anything else or should we move to the next item in the agenda?
8:13 ok, next item: what do we need to be done before doing Alpha 7?
Simon Stewart 8:15 PM
Things I’d like to see:
- Switch to the reactor client for http
- Land a basic replacement for the UI
- Straw-man proposals for the functionality that might rely on CDP
Of which that last is in my court
David Burns 8:16 PM
- I am working on
as for my interns, one of which in here so say hi to @Saksham Gupta
Simon Stewart 8:17 PM
waves to @Saksham Gupta! 1
David Burns 8:17 PM
They will be extending the GraphQL system with in grid (@Saksham Gupta )
and Phani, when he joins, will be building out the Grid UI and modernising it
Diego Molina 8:18 PM
that sounds great!
Marcus Merrell 8:18 PM
welcome, @Saksham Gupta! 1
David Burns 8:18 PM
The goal of the work is to add most, if not all, the features we want in this area
8:19
both @Saksham Gupta and Phani will be supported by me and @rajendra
8:20
and next week we have another member joining our team who we can get to support both interns to make sure we don’t have any performance hits with the work they add and guide them through perf profiling. etc
Simon Stewart 8:20 PM
@Saksham Gupta you might find this useful: https://docs.google.com/document/d/1aFMmmMhBg1PgfTPmyaXaEJAhsh0lf3p0VpV7kfHIstI/edit
Diego Molina 8:20 PM
anything else pending from the non-Java stuff?
I know CDP is not working with JS yet, not sure about Python
David Burns 8:20 PM
Non-java we need to add CDP to python and JS which my team will be doing
Simon Stewart 8:21 PM
One thing i’m keen on is steering users away from raw CDP
David Burns 8:21 PM
agreed
Simon Stewart 8:21 PM
When we get WebDriver BiDi in place, we’d like to use that where possible
CDP is ugly, hard to use, and deeply fragile
Diego Molina 8:22 PM
that is a good point, because we don’t want GitHub issues reporting bugs merely due to something failing in CDP
Simon Stewart 8:23 PM
Something will fail with the CDP stuff
I may have to version it independently of the rest of the java pieces.
Diego Molina 8:23 PM
is the idea to have CDP in JS and Python for Alpha 7?
Marcus Merrell 8:23 PM
has the chromium team talked at all about CDP becoming a standard, or publishing a roadmap? (I’m off to put this exact question into google)
Simon Stewart 8:24 PM
They’re involved with the webdriver bidi stuff
I think there’s a lot of value separating “automation” from “debugging APIs”
Marcus Merrell 8:24 PM
yeah
David Burns 8:24 PM
the spec is being worked on right now
I have been reviewing it this week
Marcus Merrell 8:24 PM
I saw the transcript from last week, good stuff
David Burns 8:25 PM
CDP is not going to be the standard
Diego Molina 8:25 PM
asking again to stay in the topic, is the idea to have CDP in JS and Python for Alpha 7?
Simon Stewart 8:25 PM
Yes
David Burns 8:25 PM
@diemol maybe.. hopefully
Simon Stewart 8:25 PM
We need all languages to have that in place before we can move to betas
Diego Molina 8:27 PM
I have seen a few PRs from https://github.com/seanpoulter, he seems keen to help in JS he already asked how he can implement relative locators in JS we should try to give him quick feedback
Sean Poulter Location Ottawa, Canada Repositories 22 Followers 17 @seanpoulter | Oct 18th, 2012 | Added by GitHub
Simon Stewart 8:28 PM
@harsha509 would you like to help with that? Or @corevo?
And
David Burns 8:28 PM
JS relative locators is in there, might need some TLC
Sri Harsha 8:28 PM
i need a week to hack into js things. currently busy in paid work
Simon Stewart 8:28 PM
NP.
8:29 These paid jobs are what allow us to have the luxury of working on OSS. Focusing on them makes a lot of sense
Diego Molina 8:29 PM
in any case, let’s try to give feedback, we are in the look for JS maintainers and who knows if he could be “the one”
ok, next item?
Simon Stewart 8:30 PM
Have we finished the beta discussion?
I don’t think we’ve got more items to add to it
Diego Molina 8:31 PM
no, that is next
Work to be done before beta? (Path to betas)
Simon Stewart 8:31 PM
The things for alpha-7 are the blockers for beta
8:32 After that, I think the changes are incremental rather than entirely new features
8:33 (other than (maybe) pluggable locators0
Marcus Merrell 8:33 PM
also my “drain” feature
I’m negotiating a couple days with my paid work to get back on that
Simon Stewart 8:33 PM
That’d be nice to get into a7
I suspect that the graphql stuff will cause some changes to have to happen
Marcus Merrell 8:33 PM
can we set up a time to pair for an hour or so?
Sri Harsha 8:33 PM
I will take over maintaining JS bindings for sure in future
Simon Stewart 8:33 PM
@mmerrell sure
8:34 I’m around monday and tuesday next week
@harsha509 WOOHOO!
That’d be awesome
Marcus Merrell 8:34 PM
perfect–I’ve just blocked out most of the day for it
I know what I need to do, but would like a bit of validation on the approach, and then I need to test it
Diego Molina 8:36 PM
ok, seems the betas part has been mostly discussed in the Alpha 7 part and these previous lines
if everyone is ok with it, next topic 2
when is the next SFC call? (if its happened in the last two weeks, anything to report)
Marcus Merrell 8:36 PM
it happened Tuesday, and I believe we primarily discussed the conference
Diego Molina 8:38 PM
ah perfect, there is an item in the agenda for “SeConf India SeConf Chicago”
Simon Stewart 8:38 PM
@manoj9788 will know the most about that
Marcus Merrell 8:40 PM
yep
Diego Molina 8:40 PM
is there something else to comment from SFC or conferences? or should we move to the next item?
Marcus Merrell 8:40 PM
I can speak for Chicago
I don’t think we talked about anything else… the SFC wasn’t present on the call
Diego Molina 8:41 PM
would you like to say something about the Chicago conference?'
Marcus Merrell 8:41 PM
yeah–we’re negotiating with the hotel to take our contract and move it to 2021, around the same time of year
8:42
we’re waiting to hear back from them with a selection of dates in the Sep-Oct-Nov range
hoping not to have it the week before Thanksgiving, but also hoping to keep the room rates low
8:43
as to this year, we’re talking about holding a very sane, relatively small virtual conference, or a series of webinars spread over a couple months
we’re also discussing having another group help us out with planning and execution, someone with experience at promoting and running virtual conferences
8:44
the first discussion will happen today, and if we decide to explore further, I will probably feel more comfortable talking about who we’re considering
there is a lot to consider for a virtual conference, and we want to make sure we are thoughtful and careful
Rajendra Kadam 8:44 PM
replied to a thread: And a high five to @rajendra for his work on the JDBC stuff Thanks @simonstewart. . It wouldn’t have been complete without your help. 1
Diego Molina 8:44 PM
all that is already a lot of info, thanks for sharing!
Marcus Merrell 8:45 PM
for SeConf India, I don’t know if @manoj9788 is on and would like to share. If not, I can at least say a little about what they’re considering, I just don’t want it to be incomplete
Diego Molina 8:46 PM
up to you I would say
Marcus Merrell 8:48 PM
it appears that there’s no way they’re going to be able to put on a conference in September in Bangalore. The borders and COVID caseload aren’t adequately under control, and much like the US conference, there are too many variables that would need to be under control right now for Naresh to feel confident about having an in-person conference a scant 3 months from now 1
(by “borders” I mean “international travel & quarantine procedures”)
Diego Molina 8:48 PM
that makes a lot of sense
Marcus Merrell 8:50 PM
so we are discussing whether or not we can essentially combine the notion of a virtual conference. That troubles me because I know that all parties involved want to see revenue, but the Selenium project doesn’t want to charge for admission. I’m concerned there would be too many hands in the pot for any one of them to receive enough $$ to make it worth their while
but that’s my own concern–not meant to represent the opinion of the planning committee. We’re looking for data, not opinions–so we’re reaching out to people who have been through this in recent weeks to find out what’s possible
8:51 we hope to report in a couple weeks on any progress, both with planning the virtual conference, and with whether or not we can expect to fund our coffers in the near future
Diego Molina 8:51 PM
ok, then we can follow up in the next meeting, thanks! 1
8:52 next topic: Did anyone pick up the ball to talk to Miki about the go bindings?
Simon Stewart 8:52 PM
Not me
Diego Molina 8:52 PM
I think no one did but we should keep the topic around, and try to get to it when we have Se 4 released or close to be released
8:53 adding one more binding now would be too distracting which does not mean that we cannot reach out to him
Simon Stewart 8:54 PM
Agreed
Diego Molina 8:55 PM
ok, let’s move to the next one since we only have a few minutes left
Selenium Conf website in GitHub org?
I see the site was revamped, so great job @andrewmkrug
8:56 but I am not sure if @andrewmkrug is having problems to push the code to the org I can reach out to him
Simon Stewart 8:56 PM
Thank you 1
Diego Molina 8:56 PM
next topic: IDE to main repo?
8:57
I guess we should focus more on the bindings and the Grid for now?
Simon Stewart 8:58 PM
I think @AutomatedTester has already done a chunk of the heavy lifting
9:00
Got to go. Meeting time
Diego Molina 9:00 PM
last topic was CoC, but we can take it next time
well, we covered everything (almost), thank you everyone! 1
Marcus Merrell 9:01 PM
thank YOU, @diemol 1
Selenium 4.0 Alpha 6 is out!
We are very pleased to announce the release of Selenium 4.0 Alpha 6.
All the information can be seen in different tweets from the project contributors, here they are all in one place:
Happy Friday! I've just pushed Selenium 4.0a6 for Java. There's a lot of nice changes:
— Simon Mavi Stewart (@shs96c) May 29, 2020
* Full remoting of the CDP protocol across the Grid
* The skeleton of our GraphQL support
* Better configuration options, especially for Nodes, via TOML
* A bajillion improvements & fixes
1/5
As ever, this release is the product of hard work and contributions not only from the core team (special thanks to @barancev and @diemol. You've done amazing work!) but also from a host of other people. In that spirit, I'd like to thank… 2/5
— Simon Mavi Stewart (@shs96c) May 29, 2020
In no particular order:
— Simon Mavi Stewart (@shs96c) May 29, 2020
* Amit Bhoraniya
* @bongosway
* Gerry Gao
* Sridhar Upputuri
* John Chen
* @alb_i986
* Rahul Shah
* @ulfjack
I've linked to the twitter handle where I know it. Give 'em a high five! Selenium wouldn't be possible without the help of the community! 3/5
I'm hoping that the next alpha will be the last alpha. The "big ticket" items remaining are:
— Simon Mavi Stewart (@shs96c) May 29, 2020
* Provide nice APIs to take advantage of the CDP
* Flesh out the GraphQL support
* A nice UI to take advantage of the GraphQL endpoint
* Robustness work in the Grid
4/5
You can come and join in the fun by either heading over to the GitHub project and picking a task (https://t.co/2ifj6CkeEV) or (and!) coming to have a chat on Slack https://t.co/4aEDqyI6gq 5/5
— Simon Mavi Stewart (@shs96c) May 29, 2020
I have just tagged #Selenium 4a6 on GitHub. It's got a lot of nice cleanups as we edge closer to a proper #Selenium 4 release!
— David @automatedtester@mastodon.social (@AutomatedTester) May 28, 2020
selenium-webdriver 4.0.0.alpha6 has just been released. The biggest change is an experimental support for Chrome DevTools protocol! Read more in changelog https://t.co/1l2XYkaEfB.#selenium #ruby #devtools
— Alex Rodionov (@p0deje) May 28, 2020
Happy hacking!
Public Project Meeting - May 07, 2020
Archived meeting minutes
Continuing the series of bi-weekly public project meetings, here is the timeline of the meeting held on May 07, 2020 (times are on IST).
Meetings are held on the #selenium-tlc
channel on Selenium Slack.
The next meeting will be on May 21, 2020, 4:30 PM CET.
adamgoucher 8:00 PM
alright. welcome back. time for another fortnightly chat about the project.
Simon Stewart 8:01 PM
:wave:
Diego Molina 8:01 PM
:wave:
Sri Harsha 8:01 PM
:wave:
adamgoucher 8:02 PM
some general project statistics; open issues: 391 open pull request: 68 (which is the lowest i think ive seen either of those numbers before)
8:03
agenda wise, this is going to be more loosey-goosey than normal as i’m swamped with day job so ignoring things. we’ll see is that is a good thing or not.
8:03
any overall announcements? new people on committees, have the commit bit, etc?
Simon Stewart 8:04 PM
I’ve landed the update to OpenTracing, which unblocks me
8:04
Next step is to wire the tracing into the Docker support And then pick up the websocket forwarding
8:05
(Which, to be fair, is “mostly done”)
adamgoucher 8:05 PM
heh. the last 20% takes the other 80% of the time :slightly_smiling_face:
Simon Stewart 8:05 PM
The Pareto Principle in action
8:06
I’d be happy pushing a6 before the next meeting
adamgoucher 8:06 PM
what do we think is missing from a6 now?
Simon Stewart 8:06 PM
It’s been a while since we did a release, and there’s progress in there
8:07
I’d dearly love the websocket forwarding, but I can live without it @diemol landed the first work with Fail Safe for some more robustness in the Grid
8:08
I think @barancev is also making some progress switching the underlying HTTP engine again
adamgoucher 8:08 PM
looks like there was a bunch of plumbing / dependencies updated in the last week especially with .net and python
Simon Stewart 8:08 PM
@jimevans and @AutomatedTester know more than I do
Jim Evans 8:10 PM
yes, the .NET bindings build using bazel should now work cross-platform. you should be able to run .NET tests using bazel test (with caveats, which i’ve yet to fully document). it kinda works within VS code, but one can for certain develop using Visual Studio 2019 on Windows, and Visual Studio for Mac on MacOS.
adamgoucher 8:11 PM (still breaks my head to write .net code on mac)
8:11
what more was needed for the http engine stuff? i thought there was a flag in there already?
8:12
or did we change it again, again
Simon Stewart 8:13 PM
The underlying library didn’t support http/2 or unix domain sockets, despite it being possible
adamgoucher 8:14 PM
so do we want/need to wait for that work to be done-ish before doing a6? so far that sounds like the only thing that will be confusing to release partially implemented
Simon Stewart 8:14 PM
Nah.
adamgoucher 8:15 PM
scans commits in another window
Simon Stewart 8:15 PM
As long as it’s in before we start on the betas, we’ll be fine
adamgoucher 8:15 PM
a question i know we dont have an answer for, but do we have a gut feel for how many more a’s there are before we start the b’s?
Simon Stewart 8:16 PM
The major outstanding features are: websocket forwarding graph-ql support
adamgoucher 8:16 PM
thats not that horrid of a list. its been much worse
Simon Stewart 8:17 PM
We’ve been chipping away at it
adamgoucher 8:18 PM
so if a6 is within the next 2 weeks, do we have a trigger condition for releasing it?
Simon Stewart 8:18 PM
No trigger condition
8:18
Other than “someone updates the changelog”, I guess
adamgoucher 8:19 PM
do we want to say ‘a6 is next tuesday’ so that all the maintainers are ready to build and tag everything? (feel like we can’t magically do it all from ci but could be making that up)
Simon Stewart 8:20 PM
The graphql piece is to support the ui, so strictly speaking we don’t really need it, but it keeps things flexible
8:20
@AutomatedTester, @p0deje, @jimevans, @titusfortner, @harsha509 Cool with shipping an alpha next week?
Jim Evans 8:21 PM
+1 from me.
Sri Harsha 8:21 PM
Yes
Diego Molina 8:22 PM
how are we handling the numbers in JS, JS is already in a7, right?
Simon Stewart 8:22 PM
“alpha-n+1”
Sri Harsha 8:22 PM
Yes @diemol . Do you have any suggestions @corevo . He should be releasing the next alpha as i know.
Alex Rodionov 8:23 PM
+1 from me
Tomer Steinfeld 8:25 PM
JS has been in alpha for a long time because of historical reasons
adamgoucher 8:25 PM
ok. so thats covers the bulk of the pressing tech stuff. other stuff that could be discussed; when is the next sfc call? (if its happened in the last two weeks, anything to report) did anyone pick up the ball to talk to miki about the go bindings? seconf india seconf us state of the se-ide into the main repo
Tomer Steinfeld 8:25 PM
I think we can land stable 4.0 together, but I don’t see a reason we should release 4 alphas together
adamgoucher 8:26 PM
(or we can keep talking about js too. but that list is just my remaining things)
Marcus Merrell 8:26 PM
the PLC call happened on Tuesday, it was just me and Jim. We mostly talked about conferences, and we were going to follow up with Simon about the status of the Code of Conduct
Simon Stewart 8:27 PM
Uhh… I thought @AutomatedTester was running with the CoC stuff.
Marcus Merrell 8:27 PM
at this point India is still slated to happen in September, same venue. I don’t know the latest about speakers or progress or anything like that
Simon Stewart 8:27 PM
It’s entirely possible I am mistaken
adamgoucher 8:27 PM
i thought david was on that too
Tomer Steinfeld 8:27 PM
Is there an update from the SFC about the MS store?
Marcus Merrell 8:28 PM
ok, I thought David was on the MS Store issue, and not the CoC, but it wouldn’t be the first time I was mistaken
Diego Molina 8:28 PM
why don’t we take the CoC draft we have, add it to the new site, and iterate on it?
Simon Stewart 8:28 PM
We were going to get a review and some guidance from Sage Sharp
Marcus Merrell 8:29 PM
for Chicago, we’ve got a verbal understanding that the venue will allow us to reschedule the conference for sometime next year with no fees. We’ve already given them a somewhat hefty deposit, and while we could likely fight to get that back, we’d rather just have it next April or October–we’re going to make that decision in late May/early June
Diego Molina 8:30 PM
for the SeleniumConf website, @andrewmkrug has joined the Selenium GitHub org, and he is helping us to push the site code to a private repo
Marcus Merrell 8:30 PM
for the Fall, we’re considering an online-only conference, and we’re waiting for a few pieces of data to come in over the next couple weeks, around TestBash and SauceCon, to gauge how they went, ideas for optimization, pros/cons, do’s don’t’s, etc
Andrew Krug 8:30 PM
was added to #selenium-tlc by Diego Molina.
Marcus Merrell 8:32 PM
I spoke to Deb (from SFC) quite a bit on Friday about tips and pointers for an online-only conference, and I’ve started to develop some opinions for how it should be done. I haven’t yet, however, come up with a firm position on the pricing model for sponsors or attendees–I definitely want to offer all the track sessions/keynotes for free, and offer a paid tier for “something” else, like if people want T-shirts or something else, but it would likely be a model where they pay what they want (to support the project), and the swag they get depends on the tier they buy into
8:33
I’m waiting to hear more from Richard Bradshaw before beginning that discussion, probably during our bi-weekly Conference conference call, on May 28th
adamgoucher 8:35 PM
so. CoC — when can we get the review and guidance? if its more than ‘not in may’ we should likely throw it up and start the iteration process
Simon Stewart 8:36 PM
It depends on Sage’s availability, and that of the people working on the CoC
adamgoucher 8:37 PM
(which, sounds like we’re not quite sure of who those are from our end)
Simon Stewart 8:37 PM
Last I checked, @mmerrell, @AutomatedTester, @diemol, @jimevans and I were all interested in being involved
8:38
From memory.
adamgoucher 8:38 PM
so the nebulous items seem to be; determine who is actually on the coc stuff
Simon Stewart 8:38 PM
Agreed
adamgoucher 8:38 PM
doh! no editing. and, determine who is actually doing the ms store stuff
8:40
which means, for the next meeting;
- release a6 (a7 of js)
- report who is point and who is assisting with the CoC
- report who is leading the ms store stuff
8:41
anyone else have anything they want / need to discuss in public?
Simon Stewart 8:41 PM
I’m good
8:41
Though perhaps we should figure out who owns what on that list I hold the build bacon this time
Diego Molina 8:42 PM
maybe we can record how a release is done? and from that I can write docs
Simon Stewart 8:43 PM
I’ll walk you through the process We did have it written up here: https://github.com/SeleniumHQ/selenium/wiki/Releasing-Selenium
adamgoucher 8:43 PM
from the april 23 meeting, looks like @AutomatedTester is the store person Screen Shot 2020-05-07 at 11.12.57 AM.png Screen Shot 2020-05-07 at 11.12.57 AM.png
David Burns 2 days ago
I am waiting on replies from SFC. I chased up yesterday. Have meeting with MS next week
adamgoucher 8:45 PM
anyone volunteering for CoC lead?
Diego Molina 8:46 PM
ah nice, the release process is written, we “just” need to update it
Simon Stewart 8:46 PM
The java one doesn’t seem wildly inaccurate
adamgoucher 8:48 PM
which means, for the next meeting;
- release a6 (a7 of js) – simon
- report who is point and who is assisting with the CoC – tbd
- report who is leading the ms store stuff - david?
Alexei Barantsev 8:49 PM
sorry to be late, I’m +1 for the next alpha
adamgoucher 8:50 PM
so if there isnt anything else, i say we call this thing done and do it all again in a fortnight.
8:52
slack says no one is furiously typing so, see all y’all in two weeks. as ever, if there is something you want discussed, message me directly or just drop it here for us to pickup
Diego Molina 8:53 PM
thank you @adamgoucher!
Simon Stewart 8:54 PM
Thanks, @adamgoucher!
David Burns 9:24 PM
Argh… missed it again!!!
9:28
For CoC, I keep dropping the ball on this one. I have been busy with work but hopefully can do something in the next two weeks
Public Project Meeting - April 23, 2020
Archived meeting minutes
Continuing the series of bi-weekly public project meetings, here is the timeline of the meeting held on April 23, 2020 (times are on CET).
Meetings are held on the #selenium-tlc
channel on Selenium Slack.
The next meeting will be on May 7, 2020, 4:30 PM CET.
Diego Molina 4:32 PM
Hi all, we are going to start the next project status meeting in a moment
for now, the agenda would be:
- project stats: +/- issues, prs
- any staffing announcements
- whats been worked on (seems things are picking up again)
- whats next
- when do we plan the next release
- SeleniumConf status (for India and Chicago), and its website
Simon Stewart 4:32 PM
Does someone want to announce it on the main #selenium channel too?
Diego Molina 4:33 PM
I can do that
Simon Stewart 4:33 PM
Thanks
Diego Molina 4:34 PM
before we start, does anyone want to add a topic?
4:36
maybe we can also discuss the Go bindings again
but I will take that silence as a “no more topics”
First topic, project stats: +/- issues, prs…
Simon Stewart 4:37 PM
@AutomatedTester probably knows those
Diego Molina 4:37 PM
Since a few weeks we are under 65 PRs and 400 issues, we made progress but not as significant as in the previous weeks
I am looking at a couple of OSS projects that build a dashboard so we have a better overview
Simon Stewart 4:38 PM
It’s the law of diminishing returns. We’re starting to hit actual issues and things that need thinking about
Diego Molina 4:41 PM
I experimented during the weekend with https://chaoss.github.io/grimoirelab/ and https://github.com/cncf/devstats, I liked the first one more, but we need to find a place where to deploy it for free Recently I bumped into https://github.com/google/triage-party, which could be also a good one to have an overview (edited)
4:42
all this in the spirit of having a clear project status for everyone
I can try to have something working for the next meeting, does anyone have more comments or should we move to the next topic?
Simon Stewart 4:42 PM
No comments from me
Diego Molina 4:43 PM
next topic: any staffing announcements, what did you mean by this @adamgoucher?
Simon Stewart 4:43 PM
@harsha509 has joined the team :slightly_smiling_face:
adamgoucher 4:43 PM
anyone get the commit bit, step away from a committee, etc.
Diego Molina 4:44 PM
well, @tourdedave mentioned he does not have the bandwidth to be in the TLC (which is my fault because I added him without asking, in the spirit of having someone from the IDE)
4:45
we could just leave it as it is or ask around if someone is interested?
Simon Stewart 4:45 PM
Having a strong owner for the IDE would be really helpful
Marcus Merrell 4:47 PM
I’m afraid unless he or Tomer change their mind, I’m not sure anyone exists who could fit the bill
we maintain really strong contacts with Dave.. that might have to be good enough for now
Diego Molina 4:48 PM
the TLC has no size limit, so things could continue as they are, right?
Simon Stewart 4:49 PM
They could
And it sounds a bit unfair to continue to lean on @tourdedave after he’s stepped away
Diego Molina 4:51 PM
what the IDE needs for now is support from the PLC, since Microsoft wants to help with having the extension on Edge (new), but I think @AutomatedTester asked to be introduced to them, not sure what the status is there
support as in, sort out legal stuff for creating an account on the MS store
Simon Stewart 4:52 PM
That won’t be hard. Someone needs to message the selenium@conservancy.org
Tomer Steinfeld 4:52 PM
I introduced @AutomatedTester I think the next step is to have someone from the SFC create an account
To do that we need PLC stamp
So that the SFC will do it
Simon Stewart 4:52 PM
@mmerrell want to run with that, or shall we ask @AutomatedTester to do it?
Titus Fortner 4:52 PM
What does that give the project though, if it isn’t the electron implementation?
Marcus Merrell 4:52 PM
I can run with it
Simon Stewart 4:52 PM
I’m happy with @AutomatedTester on point here :slightly_smiling_face:
Titus Fortner 4:52 PM
Not saying we should ever turn down help
Just curious
Marcus Merrell 4:53 PM
He might have better contacts than me
Simon Stewart 4:53 PM
@titusfortner support on Edge, and maybe someone from MS will step into the gap
Diego Molina 4:53 PM
to have the IDE working on the new Edge
Simon Stewart 4:53 PM
And also, and this is important, IDE working on Edge (as @diemol says)
Titus Fortner 4:55 PM
I thought all chromium apps worked already. I should actually use it :)
Diego Molina 4:55 PM
could we leave as an action item to have @mmerrell (since he is in the PLC) chat with @AutomatedTester in case David needs help with the PLC? and have a status for the next meeting?
Simon Stewart 4:56 PM
Sure
Diego Molina 4:57 PM
you ok with that @mmerrell?
while he answers, should we move slowly to the next topic?
Marcus Merrell 5:00 PM
yeah, I’m ok with that
Diego Molina 5:00 PM
next topic, whats been worked on (seems things are picking up again)
Simon Stewart 5:00 PM
I’ve some diffs lined up
5:01
- Streamlining how we manage cli flags and configuration, so that things included on the ClassPath get picked up too
- WebSocket proxying
- A patch that I started at SeConf (I know) to get relative locators working a little more nicely
- I also have experimental support for pinning browser versions (and their drivers) in the bazel build, which resolves some issues that folks may have
When I get some bandwidth, landing those would be nice
After that, I’ll dig into the .Net stuff now that @jimevans has it working on macOS and see whether there’s some jiggery-pokery with select we can do so that bazel test //… will work the way we expect it to
Oh, I’ve also started wrapping OpenTelemetry with our own APIs so we do an update without too much chaos
0.2.0 -> 0.3.0 is messy
Diego Molina 5:04 PM
From my side:
- Docker images working with the Grid 4 Alpha 5, only supporting standalone and hub/node for now
- Working on adding support for retries in the Grid, issue #8167
- Also, added tags and categories to the blog in selenium.dev, so now all governance related meetings can be seen at https://www.selenium.dev/categories/governance/
Marcus Merrell 5:04 PM
ditto me for the “quiesce” feature, in terms of “working since SeConf” and “when I get some bandwidth”
Jim Evans 5:05 PM
@simonstewart let me know what you’d like to see here in terms of .NET.
Marcus Merrell 5:05 PM
the bulk of it is complete, still do to:
actually spin down the nodes
5:05
write unit tests
Simon Stewart 5:06 PM
I’ve still been pondering on how we make it possible to spin the grid up in an ad-hoc order
And I keep coming back to the fact that life would be easier if we had a backbone of a “message bus”, a “key/value store”, and a “service registry”
We definitely have the message bus already
And the session-map is perilously close to being a key/value store
Diego Molina 5:07 PM
conceptually I wanted to cover that in the support for retries issue, because we cannot expect the docker containers to start always in the same order
Simon Stewart 5:07 PM
Right
Regularly has support for a successful retry and an unsuccessful retry
But we can’t build everything on that :slightly_smiling_face:
Diego Molina 5:08 PM
I want to tackle that first, so at some point containers can be used in other envs
between https://jodah.net/failsafe/fallback/ and https://github.com/resilience4j/resilience4j I am liking more the first one (edited)
Simon Stewart 5:08 PM
You’re writing the code, and I like both of them :slightly_smiling_face:
5:09
Fallback is also used by an alternative netty-based http client
We may need to switch from AsynHttpClient because it doesn’t support http2 (or unix domain sockets)
5:10
I’ve been looking at io.projectreactor.netty:reactor-netty:0.9.6.RELEASE and I think @barancev may have some code
Or he may not :slightly_smiling_face:
Diego Molina 5:10 PM
I guess we can come back to that when some written code from my side actually works :slightly_smiling_face:
Simon Stewart 5:11 PM
Well, it means that looking at failsafe fallback is a better bet
Which leans into your preference
So it’s more a datapoint than anything else
Diego Molina 5:12 PM
sounds good
ok, should we move to the next topic, so we can hopefully finish on time
Simon Stewart 5:12 PM
SGTM
Diego Molina 5:12 PM
next topic is, what’s next & when do we plan the next release
Simon Stewart 5:12 PM
Next release? I’d like a banner feature in. WebSockets and CDP across the Grid would be it, for me
5:13
Or we can just ship what we have
Marcus Merrell 5:13 PM
that would be amazing
Simon Stewart 5:13 PM
It’s a SMOP
Simple Matter of Programming
Diego Molina 5:13 PM
we have 267 commits after the alpha 5 release, sounds like there could be something we can release?
Simon Stewart 5:13 PM
So I think the choice we have to make is “timed releases” or “feature releases”
Marcus Merrell 5:14 PM
I thought SMOP might be “Simple Matter of Pfantasy”
Simon Stewart 5:14 PM
git log selenium-4.0.0-alpha-5..HEAD --oneline java
5:15
HA! 098eb99991
5:15
We landed support for configs via TOML….
Diego Molina 5:16 PM
true, what if we try to have the retries thing, docs for toml, and maybe have a release before the next status meeting?
Simon Stewart 5:16 PM
Looks like lots of little fixes
DOCS?
:wink:
I can write an info section for configuration
Diego Molina 5:17 PM
that is what I was thinking
Simon Stewart 5:17 PM
kk
File an issue and assign it to me
(At some point, I need to do my day job)
Diego Molina 5:17 PM
before the beta some of us need to make those docs a bit nicer for Se4
5:18
I will do that then
Simon Stewart 5:18 PM
Thank you
Shall we mark some issues as “4.0a6”?
Diego Molina 5:19 PM
Maybe it is too much, not sure
Marcus Merrell 5:19 PM
my offer still stands to help with issue hygiene, I just need permissions
Simon Stewart 5:19 PM
Or, perhaps, let’s work on our features, and next meeting ship 4.0a6 regardless of where we are
@mmerrell I’ll fix that up for you now
And @harsha509 too
Sri Harsha 5:20 PM Js bindings is already at alpha7. We can try to implement relative locators(which is pending in JS bindings) and release in next meeting.
Simon Stewart 5:21 PM
That’d be great
Thank you
Diego Molina 5:21 PM
issue for TOML https://github.com/SeleniumHQ/selenium/issues/8232
Simon Stewart 5:22 PM
Thank you
Diego Molina 5:22 PM
ok, two topics left
first is, SeleniumConf status (for India and Chicago), and its website
Marcus Merrell 5:23 PM
I’ll see if I can get a website update from Bill McGee now that it’s a bit later on the west coast
Diego Molina 5:23 PM
so India will happen (:crossed_fingers: ) in September, and Chicago in November, does anyone know any news related to that?
Simon Stewart 5:24 PM
@mmerrell you should have an invitation from GH to join the SeleniumHQ org. Am slightly surprised you’re not a member already :slightly_smiling_face:
Marcus Merrell 5:26 PM
the conference status is currently:
- We’re waiting until around May 15th to make a decision, but
- While we believe the conference could happen in November, it’s Bill McGee’s observation that people right now just don’t seem to be interested in buying tickets, submitting papers, or writing checks to sponsor in-person conferences right now
- Given that we’re having trouble motivating people to take the actions they need to take now (the previous point), it’s hard to imagine how we can feel confident in a November conference in the near future
- What I’m saying is that, things in the community need to happen in May in order to hold a conference in November, and I don’t have even the barest hint that those things will happen
so, at this point we believe we will be able to recover most/all funds from the Holiday Inn, based on Sauce’s experience with the Fairmont in Austin, and TestBash’s experience in Detroit
5:27
but we’re going to wait a few more weeks, a) because we can, and b) in case there’s some kind of earth-shattering news that comes out that changes the picture
Simon Stewart 5:27 PM
The UK has been told that social distancing will remain necessary until next year
Alexei Barantsev 5:28 PM
@simonstewart I don’t have any new code for http client yet, just an item on my todo list
Marcus Merrell 5:28 PM
as you might have seen, our leadership much more optimistic :face_palm:
Simon Stewart 5:28 PM
@barancev ok. There’s no rush
Diego Molina 5:29 PM
that’s a great update @mmerrell, thanks
something else I wanted to ask is, if we could have at some point the SeleniumConf website code and assets also under the SeleniumHQ GitHub org
Simon Stewart 5:29 PM
Totes up for that
5:30 I’ve another meeting to go to
Marcus Merrell 5:30 PM
me too. that’s where things get sensitive
Simon Stewart 5:30 PM
Toodle pip
Marcus Merrell 5:30 PM
but I think we need to head in that direction
Diego Molina 5:30 PM
and as part of this, add the general conference guidelines to the governance doc
Marcus Merrell 5:30 PM
yep, that’s on my plate
Diego Molina 5:30 PM
that’s fine, we can stop here as we have no more time
5:31
but we can keep the topic in our head for informal discussions
Simon Stewart 5:31 PM
You can carry on without me. I’m fine with that :slightly_smiling_face:
Diego Molina 5:31 PM
and have a status of it in the next meeting
5:32
to respect people’s time, we will end the meeting here, I will upload the minutes to selenium.dev, and prepare an agenda for the next one
5:32
thank you everyone!
Public Project Meeting - April 9, 2020
Archived meeting minutes
As an initiative to bring more transparency to the Selenium project, we are now holding bi-weekly public project
meetings. These are written meetings which are held on the #selenium-tlc
channel on Selenium Slack.
Here is the timeline of the meeting held on April 9, 2020 (times are on CET).
The next meeting will be on April 23, 2020, 4:30 PM CET.
Simon Stewart 4:31 PM @adamgoucher there needs to be a calendar invite for these things
adamgoucher 4:32 PM well, originally the idea was that people could manage their own calendars but if you send me which email you want it attached to i can add you to the one ive been putting people on who wanted an invite
4:35 anyhow; here’s the rough approximation of an agenda. we’ll see how it goes;
- anything governance-y that needs to be discussed in public (not limited to, but including public announcement of people getting the commit bit, etc.)
- status of prs
- status of issues
- status of se project related events (india, chicago are the big ones)
- next release status and/or timeline
- go around the metaphorical table on how people are doing against things they signed up for
- anything that needs to get sussed out in public (from reading the channel, the main thing that came up is the js discussion)
- open the floor for other discussions either instigated by ’project people
4:38 anything governance-y that needs to be discussed in public (not limited to, but including public announcement of people getting the commit bit, etc.)
Diego Molina 4:38 PM if there is time, let’s add the recent topic of adding go bindings
adamgoucher 4:38 PM has there been an sfc call recently? (i cant remember when they are)
Diego Molina 4:40 PM governance related, I’d say: we need to define where we put these meetings minutes, how we announce them widely (do we need?), and that we still need a code of conduct
adamgoucher 4:41 PM ok. @diemol pester my monday morning if i haven’t figured out how to get them onto the blog by then
Diego Molina 4:41 PM So, meetings minutes… we can put them in the same format as a blog entry, and we can tag/label them so they are publicly accessible I can do that, I would just need the contents of the previous meetings, and also add small instructions on how to add new ones
adamgoucher 4:43 PM i think we just start with this one. i didnt take the most excellent notes the last couple and they might have expired out the channel (havent scrolled up to check)
Diego Molina 4:43 PM ok, so I will start doing that with this onee
adamgoucher 4:44 PM who is the point person for the code of conduct
Diego Molina 4:44 PM @AutomatedTester said something about being working on it? 4:44 but we currently have a draft, why don’t we use that draft and iterate on it?
adamgoucher 4:45 PM makes sense. as we did with the other doc
4:46 ok. next thing on the list is status of prs. which @AutomatedTester has been culling like a mad man over the last week and we’re down the 62
4:47 followed closely by status of issues and there is now 402 which i think he is also attacking (but i dont have a number from 2 weeks ago)
Diego Molina 4:48 PM perhaps we should set up a project health status dashboard I saw a couple of OSS projects that could do that
adamgoucher 4:49 PM could be interesting. of course we could also then get into wild semantic discussions around ‘what’ healthy is. :smile:
4:50 next; status of se project related events (india, chicago are the big ones)
4:51 i saw that seconf india has been moved to september. how is chicago looking?
Diego Molina 4:51 PM I think no one is around who could reply that question
David Burns 4:52 PM I also think it’s too early to comment. Chicago is in lockdown at the moment for the foreseeable
4:52 we also need to be see how many venues are still around when we come out of our homes
Isaul Vargas 4:53 PM As for big cities in the US, only by End of May can we know if restrictions will be lifted due to testing and lowering the curve.
adamgoucher 4:53 PM (it has more of a recurring agenda item more than me seeing someone who can answer)
4:54 and restrictions will be lifted in june and clamped back down in july. as is the way in a pandemic. (and really, will be until we get a vaccine)
4:55 next item; next release status and/or timeline. @simonstewart?
Simon Stewart 4:55 PM India has been moved to later in the year
4:56 We’re running the 4.0 release in the open: https://github.com/SeleniumHQ/selenium/projects/2
4:56 The config stuff won’t be too horrible. I’m quite liking the fact that TOML opens up some options
adamgoucher 4:56 PM yup. so is your plan still ‘push the button on stage to do the release and retire for your daily beverage’ or are we aiming for a same-ish part of the calender
Simon Stewart 4:56 PM When we ship, I stand down
4:57 I’d still like to get the betas out soon
4:57 But there are some big pieces missing before we can get to that point
4:58 The big one being the CDP stuff across Grid, which I’ve many of the moving parts for in various branches on my machine
Diego Molina 4:58 PM when I look at the things on the “to do” column, maybe 80% is Grid, right?
5:00 if so, it is something that calms me down because at least (from my side), I am having slowly more time to work on the code
5:00 but there are a couple of things on that list which concern me: IDE to the monorepo (and build it with bazel) + implement CDP and relative locators in JS
David Burns 5:01 PM I am doing the IDE to mono repo now
5:01 relative locators in JS should be easy, I can do it or talk @harsha509 through it
Diego Molina 5:02 PM but in the IDE, what is our approach in terms of browser extension vs. electron
5:02 right now we could only do the browser extension, right?
David Burns 5:02 PM that is separate from the mono repo work
5:03 these are questions for @tourdedave and @corevo
Simon Stewart 5:03 PM Right now, there’s just the browser extension, but @tourdedave and @corevo did start work on the electron port
5:03 I’m not sure what kind of progress they’re making, if any
Diego Molina 5:04 PM ok, so it seems we will only focus on the browser extension for now
adamgoucher 5:07 PM ok, so to summarize; all the known to-dos are in the github project india has been shifted, but dont want to just move the target to september aiming for betas to start soon, grid cdp is really the last big hurdle until those can start
Diego Molina 5:08 PM and the JS stuff, right?
5:08 (CDP + relative locators)
adamgoucher 5:09 PM i think we can skip the next thing which is ‘how are people progressing on the stuff they signed up for’ with a ‘see the github project’
5:11
because the next thing on the list i prepared was - anything that needs to get sussed out in public
which, for today, means ‘what to do about javascript’. not sure that anything got resolved the other day but i think the core of it is ‘webdriver.js is the official binding but not under the auspices of the project’ or something?
Simon Stewart 5:11 PM To reiterate feedback from other people, and my own reflections:
5:12 There is a general feeling that the selenium project should own the core of its own bindings We’ve gone from having basically no-one interested in JS to having Sri on board (@harsha509) We’ve not nailed down the overall strategy yet
5:14 Which kind of suggests not using webdriver.io’s webdriver module, but continuing to work with our own stuff
5:14 Unless that module moves under the aegis of the project
Diego Molina 5:15 PM oh, actually I was talking to @christian-bromann about it, and he manifested again his interest to help move the JS bindings to use the webdriver package, and leave things ready for someone who wants to maintain the bindings
Simon Stewart 5:15 PM And if the code for the webdriver package was in our repo, I think that’s probably what we’d do
Diego Molina 5:16 PM I am not a 100% sure that he is ok with moving the code from that package to our repo but in the worst case, would a copy/fork of the code work?
Simon Stewart 5:17 PM That seems like a bad idea
Christian Bromann 5:17 PM What is the problem of not having the webdriver binding in the Selenium repo?
Simon Stewart 5:18 PM The feedback I’ve had from several people has been that they’re deeply uncomfortable with it, and won’t approve of it
5:18 It’s not just a technical thing
5:18 There are the social aspects to consider too
Christian Bromann 5:19 PM I understand.
Diego Molina 5:20 PM well, the idea of the committees is to reach consensus in these cases, and it looks like we would never reach it for this situation
Christian Bromann 5:20 PM Well the idea of generating raw bindings based of some json files is pretty easy to reimplement and I am happy to support how it can be done.
5:22 copying over the code form WebdriverIO to Selenium is rather difficult as it depends on some other wdio utilities (logging and utility functions)
Simon Stewart 5:22 PM I do wonder how far adrift the JS bindings are
5:23 The obvious missing 4.0 features are relative locators and the CDP integration
5:23 The CDP integration isn’t nailed down properly anywhere. We’ve got access to the raw protocol, but we’ve yet to build the abstractions people would actually write against
Christian Bromann 5:23 PM Given the situation I am would be also happy to invite the Selenium JS contributor to the WebdriverIO org to ensure code access and ability to merge/review code changes.
Simon Stewart 5:24 PM Thank you
Diego Molina 5:25 PM well, then it seems JS bindings stay as they are hopefully we all find a way to make them fit for the 4.0 release
5:25 should we talk about the go bindings?
adamgoucher 5:26 PM thats the only other thing on my list
Simon Stewart 5:26 PM We can talk about Go bindings
5:27 Miki offered to donate https://github.com/tebeka/selenium to the project a while ago
5:27 I got busy and had health issues, so dropped things on the floor
5:27 Should we pick that back up again?
adamgoucher 5:28 PM is he also intending to maintain it (dunno the status of them) or is it a ‘i did a thing and dont need it anymore so someone can pick it up if they want’
Simon Stewart 5:28 PM I dunno
5:28 That would be part of the conversation
David Burns 5:29 PM if it’s the latter then I am not sure we would want them. It’s amazingly nice but the maintenance burden, potentially, doesnt feel worth it
Simon Stewart 5:30 PM Indeed
5:30 But it would be nice to have some “official” Go bindings.
adamgoucher 5:30 PM i know nothing about go, but i feel like the bar for any binding to be included in the main project; is it maintained? is it idomatically correct for the language? is there not a competing, more obvious one to incorporate?
Simon Stewart 5:30 PM Turns out that people like them
5:30 s/them/the language/
Diego Molina 5:30 PM seems it is worthy to give the conversation a go
5:30 who would like to drive that conversation with Miki?
Simon Stewart 5:31 PM It’s pretty dormant right now, but is that due to being complete? My understanding is “yes” Nothing that I’m aware of
5:31 puts finger on nose
adamgoucher 5:31 PM sounds like ‘you are a go’ for the conversation about go. as it were
Simon Stewart 5:31 PM Not me
5:31 Yeah, I think it’s a conversation that’s well worth having
Diego Molina 5:32 PM I can see from a quick look that the go bindings have vendor stuff in it, for example it has the ability to use Sauce Labs out of the box
5:33 even if I work for Sauce, we need to see all those things in case we want to merge them
Simon Stewart 5:34 PM Aye
Diego Molina 5:36 PM I know how the Grid works (in general), but I still have black spots in my head when talking about bindings we need someone who knows how bindings should work and do a check on the go bindings
adamgoucher 5:37 PM sounds like ‘we think having the go bindings in the main project is cool, but currently the people in the channel right now dont have enough interest (or knowledge) to drive the conversation’
5:38 likely also have to talk to sfc about rights transfer and such. though the existing licensing could cover it
Diego Molina 5:39 PM maybe we bring the topic back in 2 weeks and see how people feel?
Simon Stewart 5:40 PM SGTM
adamgoucher 5:41 PM ok. i didnt have anything else? did anyone else?
Simon Stewart 5:42 PM I’ve got other meetings to attend, so nowt from me
adamgoucher 5:43 PM taking silence from the rest as a no. thanks everyone!
Diego Molina 5:43 PM Thank you all!