I left Twitter (or X, or whatever it wants to be called) a while ago, but I’m still online elsewhere:
Mastodon:
@shs96c
@hachyderm
.io
Threads:
@shs96c
@threads
.net
I really hope to see you there!
Hi! I'm a professional software developer! It's taken me three days to track down a problem and write a fix. That fix is 12 bytes long.
Apparently, my coding speed is 4 bytes/day.
Thankfully, we all know that "lines of code" is a meaningless measure of developer productivity.
🎉🎉 Woohoo! 🎉🎉 I am absolutely over-the-moon excited to announce that we have just shipped Selenium 4.0.0!
#selenium4
It's taken over 4000 commits, one brand new Grid implementation, and almost three years since the last stable release, but it's here for you now!
☎: "Hi, this is a call from
@virginmedia
."
Me: "Hi"
☎️: "We'd like to verify we're talking with the right person. Can you please tell answer some security questions about your account?"
Me: "I'd like to verify I'm talking to
@virginmedia
. Can you please tell me the answers?"
I’m taking some time off hacking on OSS software from today. I plan on being back relatively soon (weeks, not months)
Why am I taking time away? I’ve surgery in a few hours, and I want some space afterwards to heal up and think. I’m a little nervous about today. Wish me luck :)
Listen, fellow mortals. This is truth. I love what we can do with UI tests, but each one you write needs to be incredibly valuable to offset the cost of writing and maintaining it.
I'm not against discussions on the invalidity of the test automation pyramid.
If you don't like it, you use whatever model you want as long as it suggests you write AS FEW UI TESTS AS POSSIBLE.
seriously - stop your infatuation with UI tests
It’s taken years. You’d think I’d have a pithy quote ready for when
#webdriver
moved to
@w3c
recommendation. I don’t. Just gratitude and thanks to my co-editor
@AutomatedTester
and everyone who’s worked so hard on this.
A bug was reported in
@SeleniumHQ
. It came with an e2e test that showed the problem. I've used this to write smaller tests.
The initial test took 10 seconds. The small tests that demonstrate the same problem? Less than a second.
Tight feedback loops are vital when writing code.
Good news, everybody! I've just pushed
#selenium4
beta 4. The next release will be a release candidate --- I think we're feature complete. If you're not running your own Selenium server, 4.0 should be a drop-in upgrade!
Woohoo! The
@w3c
#webdriver
specification is now a Proposed Recommendation! This is the final step before it moves to Recommendation and becomes a standard.
Huge thanks to everyone who’s helped get us this far!
We missed Chinese New Year by a few days, but I'm happy to announce that we've just shipped
#selenium4
beta 1!
If you've been waiting for the update from Se3, this should be a drop-in update, so please try the upgrade and let us know of any issues!
And once you've done that….
I should really write down why I like using boring tech and safe choices to build excellent software that does interesting things. "Move fast on stable infra" is a credo to live by.
The next
@SeleniumHQ
release is going to be great. Lots of things that have been quietly being worked on making it out into the wild for the first time. Can't wait to share it :)
@dmadic
Yeah. I find it nicest to write APIs from the user’s point of view, and then drill down to the implementation. Sometimes that makes the implementation trickier, but it sure makes things nice as a consumer :)
Happy Friday! I've just pushed Selenium 4.0a6 for Java. There's a lot of nice changes:
* 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
Reminder to self: TDD involves writing the failing test, watching it fail, then writing the code to make it pass.
It is not "write a failing test, then write all the code you think you'll need, then wonder why nothing works like you expect it to"
Woohoo! I'm happy to announce we've shipped
#Selenium4
beta3! As well as the regular bug fixes we
* Allow relative locators to be rooted on any other locator, not just tag name.
* Added support for CDP on Firefox, and versions 90 and 91 of the protocol
* Improved Grid yet again!
Hurrah! Pushing
#selenium4
alpha 3 to maven right now. Contains various bug fixes, some nice integration with CDP, and the first push of "Friendly Locators", renamed to "Relative Locators". Try `RelativeLocator.withTagName` and follow the API from there!
Every odd now and again, something happens and I remember just how widely used
@SeleniumHQ
is. It’s now an AWS service too. Excuse me while I feel elated and yet need to breathe into this brown paper bag to calm down. 🎉
Amazing to see an open source project I had a (very!) tiny involvement with at its inception 15 years ago flourish into a W3C standard, and now implemented by AWS - . Congrats to
@shs96c
&
@SeleniumHQ
on changing how the world does automated testing.
A day or two of hacking, and I've got
#selenium4
running in
@kubernetesio
. There's still work to do, but I've now got the proof of concept up and running, and it makes me feel very happy indeed. Tomorrow, I'll clean this up and hopefully land some patches.
We just pushed
#selenium4
alpha 4. For Java, this fleshes out our
#CDP
implementation, switches the default HTTP client to Netty, and substantially improves the new Grid. We also added an `info` command to make using the Selenium server less complicated.
@SeleniumHQ
What an eventful day! We were at the hospital by 7:30. They started ablating my heart by 8:00. After three hours of surgery I was out. By 19:00, I was home. All the
@NHSuk
staff have been amazing, polite, thoughtful, and wonderfully efficient. My deep and profound thanks to them!
No matter where you're from, there's no good reason to use "bi-weekly".
"Twice a week" is unambiguous.
In British English, "fortnightly" is unambiguous.
In International English, "every two weeks" is unambiguous.
Bi-weekly is the chaotic choice.
#Selenium4
alpha7 for java ships! This will be the last alpha --- the next release is the first beta!
Major features are:
* Use basic or digest authentication
* Stub out network traffic to the browser
* Improved
#GraphQL
support in the Grid
* Video recording of
@Docker
nodes
When things like this happen, I'm always a little amazed, and also very happy.
@intellijidea
has been my IDE of choice for a long time, and
@jetbrains
have supported the project through the OSS licenses for years. Happy hacking, folks! :)
Introducing support for
@SeleniumHQ
with a new Selenium UI Automation Testing plugin for the upcoming
#IntelliJIDEA
2020.1. This support includes a new project wizard, code completion in tests for Java, Kotlin, and Groovy, and much more
After today’s keynote at
#SeConfTokyo
, I’m happy to announce that
#selenium4
alpha 1 has been tagged. Releases for all the language bindings will be pushed soon!
@SeleniumHQ
Things that are impossible to get right the first time:
* Plugging in USB plugs.
* Adding links in a MarkDown document.
* Turning on the right ring of the cooker without looking at the labels.
If the changes at Twitter teach us anything, it’s that we should each be in control of the source of truth for what we say on the Web, else it’s likely to be lost or made inaccessible at any time. Your own site and RSS are a great expression of that.
Hey, folks! I'll be doing a webinar about the shiny new
#selenium
IDE on the 14th November! If you'd like to learn more about what it is, why you might use it, and how it fits into the Selenium ecosystem then sign up!
One of the things
#selenium4
brings to the table is a new `info` command, giving guidance on how to use the new or complicated features of
#selenium4
. Now, it covers configuration, distributed tracing, security, and some of the new Grid internals. What else would you like to see?
Sometimes I feel guilty about not doing enough for
#selenium
. Then I remember it’s OSS: it’s a thing we all share. It’ll get there too, and it’ll get there with each of us doing what we have the time and energy to do. Doesn’t matter how much or how little.
Quite what the FSF was thinking letting RMS back on the board is beyond me. There’s no place for him in the world of Free Software, and the FSF have shown that they just don’t care. Utterly shameful.
I’m glad that
@conservancy
posted this in 2019:
Companies! Please let me give you some answers to challenges _I_ will make if you cold call me, so _I_ can verify you are who you say you are. Or send me an email. Who answers the phone these days anyway? :)
Woohoo!
#selenium
3.9.0 is out! Lots of behind-the-scenes clean up work, switching to using OkHttp where possible, and the passthrough mode is always on.
Really happy that the alpha version of the new
@SeleniumHQ
#SeleniumIDE
is available. Congratulations and thanks to all the contributors and the fine folks at
@ApplitoolsEyes
for all the hard work it took to make this happen
Spent today hacking on
#selenium4
. We’re replacing the underlying http client library, so it’s plenty of fun. The next release of the library we use will have the fixes we need to also work with unix domain sockets. Genuinely looking forward to this :)
Huge high five to the
#ChromeDriver
folks: it's now running in
@w3c
#webdriver
mode by default! Now all the desktop browsers use this without any special flags, and that's amazing. 🎉🙌
We're tracking the work for
#selenium4
here: but there are things I'd like to see included, some of which are technical, some of which are just nice, and some of which are only useful if you're hacking on the selenium codebase itself. I'd love some help…!
Call
@virginmedia
on a number on their site. Get told that their policy is to always perform the security challenge, even if they're the ones who called. They have no mechanism for the person receiving the call to verify that it's actually
@virginmedia
calling.
Just pushed
#selenium4
alpha 2. Now with broader access to CDP commands, support for Chromium-based Edge, and some cleaned up internals. We're not at the betas yet, so caveat emptor!
Welcome to Selenium for Workgroups 3.11!
We're proud to release the latest member of the
#selenium
family on this 11th March. It ships with a ton of
@Windows
-specific IE goodness (and the normal set of fixes and enhancements too!)
Infrastructure (and OSS) is like sewerage. When it works, people ignore it. When it’s improved, people are briefly happy and find a way to use the additional capacity. When it all goes wrong, there’s poop all over the place and people scream until it’s fixed.
One of the things that I find most frustrating in the world of
#oss
is people denigrating stuff without offering to help improve it.
Tearing into other people may seem fun, but if you feel the need to do that, it just highlights how weak you are.
Writing a blog post for
@SeleniumHQ
and remembering the time when
@hugs
and I walked into the main room of the very first
@seleniumconf
thinking it'd be nearly empty for the workshops, and instead finding it packed.
That moment still blows my mind and makes me smile.
Absolutely not making last minute changes to my deck for the opening keynote at
#heisenbug
. Have my lucky socks and an appropriate
#causeascene
t-shirt. Looking forward to this :)
The staff member
@virginmedia
was most perplexed that I would want them to prove who they were. I offered to call them back from a number on their site. "We only make outgoing calls". That's pretty suspicious.
`./gradlew idea`
Gradle: *downloads stuff*
Me: Sure.
`./gradlew test`
Gradle: *downloads more stuff*
Me: Didn't you get that last time? Fine.
`./gradlew clean`
Gradle: *starts downloading more stuff*
Me:
G: What?
Me: Sets fire to machine, walks away.
After a wonderful
@seleniumconf
, I've finally found the time to ship the
#java
version of
#selenium4
alpha. I've put together some quick docs on the new server jar here: There's still work to be done, but feedback is always welcome! :)
I wonder if there’s an exercise app for people who really dislike exercise? None of this perky “you’re doing great” nonsense. No! “I know you hate this, just grind through it and you can have a burger”
I’m excited to announce that
@mmerrell
is joining the
@SeleniumHQ
PLC (which acts as bridge between
@conservancy
and the project). He’s given a huge amount to
#selenium
, and is one of the people responsible for helping
@seleniumconf
be more diverse! He’s fantastic! 🎉🎉🎉
Lots of fun sharing the stage with
@manoj9788
today for the opening keynote
@seleniumconf
#seconf
Thank you everyone who’s here and are following online.
This is where almost all my new code starts: with a failing bootstrap test. It makes taking the first step in development that little bit easier. The next step? Explore the API using TDD.
Shipped
#selenium
3.141.59. There's a fix for setting the "remote host" of a grid instance, and the version number is an even better approximation of π
This is the last 3.x release for
#java
before we start pushing the 4.0 alphas and betas.
Having worked
@google
, I still miss their build and developer infrastructure. From
@facebook
, I miss the amazing dev servers. I'd love to bring both those experiences to every developer. The tech is almost there....
Happy 10th birthday to
@saucelabs
. Congratulations on reaching the milestone, and long may it continue! Thanks for many happy memories when we hang out in person, and for all your involvement with
@SeleniumHQ
:)
#10yearsofsauce
Someone asked me to define the different kinds of testers out there. Here's my attempt, using two axes to measure against.
QA: more manual, e2e testing
Test Engineer: More automated e2e testing
SET: More automated unit testing
Unicorn: More manual unit testing
Thoughts?
The future is coming :) This is a nice write up. One thing to mention is that
#selenium4
also supports the “Hub and Node” style setup you’re familiar with from Selenium 3.
Switched a relatively small project to
@bazelbuild
and dropped build and test times to a quarter of what they had been.
You don’t need a massive
#monorepo
to benefit from using Bazel, just to lean into how it works by using plenty of small targets.
Assuming everything goes to plan, on the 31st May, the
@w3c
#webdriver
specification is due to transition to Recommendation. Trying to figure out the best way to celebrate. Suggestions welcome :)
One of the new features of
#selenium4
are the “relative locators”, which allow us to find elements by their position on the page.
@techgirl1908
has a great post that explains all about it:
I know that people follow me for the tech stuff, but I can't keep quiet about what's going on in the world right now. The events in the US are horrifying, and it's time for positive change.
#BlackLivesMatter
"Fashion Driven Development": the style of software development where one chooses tools based on "what's hot" rather than "what's most appropriate".
Seldom a Good Thing.
The
@seleniumconf
workshops started today. Can’t believe that the talks all start tomorrow. Very exciting!
To everyone involved – attendees and speakers alike – I hope you all have a fantastic time! And a big thank you to the team that have put all this together!
I was struggling to get back into the rhythm of coding before remembering that the important thing to do was to start with a test and move on from there.
Writing code TDD is an easy way to make small, incremental progress on tasks, and it feels great.
I feel incredibly sorry for the engineers at Twitter. They don’t deserve this utter pile of chaos and mean-spiritedness. Good luck and best wishes to all of them. 🫡
Exciting times! Selenium 4.0 RC2 for Java has been released. We're planning on this being the last release before the stable 4.0 release, so this is your last chance for you to give us feedback and for us to react before then!
#selenium4
🎉This has been a long time coming. There's been a huge amount of effort poured into updating the site, and
@diegofmolina
and
@manoj9788
have done outstanding work making it happen. 🍾
As with everything we do, the site is Open Source. PRs welcomed to :)
We're happy to announce that we have (finally!) refreshed our site. Head on over to and have a browse! Thanks to
@diegofmolina
and
@manoj9788
for making this happen.