Mon 24 Apr 2017
On Friday I had the unfortunate pleasure of taking the brunt on an unhappy Selenium user. Their issue? My team said that a release of GeckoDriver would happen when we are confident in the code. They said that was not professional. They started by telling me that they contribute to Mozilla and this is not acceptable for them as a customer.
Below is a break down of why I took exception to this:
- My team was being extremely professional. Software, by its very nature, has bugs but we try minimize the amount of bugs we ship. To do this we don't set release dates, we set certain objectives. My team is relatively small compared to the user group it needs to service so we need to triage bugs, fix code. We have both groups inside and outside of Mozilla. By saying we can only release when it is ready is going to be the best we can do.
- Please don't ever tell open source maintainers you are their customer unless you are paying for support and you have a contract with SLAs. So that there is no issue with definition of customer I suggest you look at Merriam Webster's definition. It says "one that purchases a commodity or service". Mozilla, just like Google, Microsoft, and Apple, are working on WebDriver to help web developers. There is no monetary benefit from doing this. The same goes for the Selenium project. The work and products are given freely.
- And finally, and this goes for any F/OSS project even if it comes from large corporations like Google or Facebook, never make demands. Ask how you can help instead. If you disagree with the direction of the project, fork it. Make your own project. They have given everything away for free. Take it, make it better for whatever better means for you.
Now, even after explaining this, the harassment continued. It has lead to that user being blocked on social media for me and my team as well as them being blocked on Github. I really dislike blocking people because I know when they approach us they are frustrated but taking that frustration out on my team doesn't help anyone. If you continue, after being warned, you will be blocked. This is not a threat, this a promise.
Next time you feel frustrated with open source ask the maintainers if you can donate time/money/resources to make their lives easier. Don't be the moron that people will instantly block.
Fri 10 Feb 2017
Can you have an open and honest conversation with your peers and, this is the most important one, can you have an open and honest conversation with your manager?
Have a good think about this, don't answer straight away. Let's go through the following scenarios to find out if you can have open and honest conversations.
Tell your manager when you are struggling with a task and not feel like you are going to chastised?
For me, as a manager and a technical lead, it is super important to help grow people. We all have times where we don't know something and no amount of searching the internet can fix it. Being able to go to your "lead" and say, "I don't know what to do.." is a good thing for everyone!
Tell your manager when you are being harassed?
This should be a given but if you were to ask a lot of your female colleagues, you will hear a resounding "NO!". This has to do with company culture or "not upsetting the 10x'er". Even though it can cost a lost of money for a company if there is harassment, a lot of people just don't trust their manager to tell them about problems like this.
Tell your manager that they are wrong
Feedback is hard to give and to accept. Especially in some cultures where it is seen as a weird thing. European culture is like that, you give a slight nod and that is it and anything more makes people uncomfortable.
Now imagine getting critical feedback, it can be hard.
Now... imagine telling your manager that you think they are wrong and giving them feedback. This could be at a technical level or it could be at how they are as a manager. Expressing that feedback can be hard. Now... how does your manager take it. Do they get all defensive, do you get defensive.
If you answered No to any of the above, you really need to take the initiative
and speak to your manager and tell them that you don't feel there is good opportunity for dialogue and you want to fix this. If they don't want to meet you half way to solve this then you don't need to feel bad that you want a new manager. This could be in a new company or within your company.
Honest and open conversations between your peers and your managers will create an amazing work environment and will allow everyone to succeed. It all starts from trust.
Fri 22 Jul 2016
Last week saw the latest WebDriver F2F to work on the specification. We held the meeting at the Microsoft campus in Redmond, Washington.
The agenda for the meeting was placed, as usual, on the W3 Wiki. We had quite a lot to discuss and, as always, was a very productive meeting.
The meeting notes are available for Wednesday and Thursday. The most notable items are;
- Finalising Actions in the specification
- Certificate handling on navigation
- Specification tests
We also welcomed Apple to their first WG meeting. You may have missed it, but there is going to be a Safari Driver built in in macOS.
Thu 16 Jun 2016
It was nearly a year ago that Microsoft shipped their first implementation of WebDriver. I remember being so excited as I wrote a blog post about it.
This week, Apple have said that they are going to be shipping a version of WebDriver that will allow people to drive Safari 10 in macOS. In the release notes they have created
safari driver that will be shipping with the OS.
If you have ever wondered why this is important? Have a read of my last blog post. In Firefox 47 Selenium caused Firefox to crash on startup. The Mozilla implementation of WebDriver, called Marionette and GeckoDriver, would never have hit this problem because test failures and crashes like this would lead to patches being reverted and never shipped to end users.
Many congratulations to the Apple team for making this happen!
Tue 14 Jun 2016
With the release of Firefox 47, the extension based version FirefoxDriver is no longer working. There was a change in Firefox that when Selenium started the browser it caused it to crash. It has been fixed but there is a process to get this to release which is slow (to make sure we don't break anything else) so hopefully this version is due for release next week or so.
This does not mean that your tests need to stop working entirely as there are options to keep them working.
Firstly, you can use Marionette, the Mozilla version of FirefoxDriver to drive Firefox. This has been in Firefox since about 24 as we, slowly working against Mozilla priorities, getting it up to Selenium level. Currently Marionette is passing ~85% of the Selenium test suite.
I have written up some documentation on how to use Marionette on MDN
I am not expecting everything to work but below is a quick list that I know doesn't work.
- No support for self-signed certificates
- No support for actions
- No support logging endpoint
- I am sure there are other things we don't remember
It would be great if we could raise bugs.
Firefox 45 ESR or Firefox 46
If you don't want to worry about Marionette, the other option is to downgrade to Firefox 45, preferably the ESR as it won't update to 47 and will update in about 6-9 months time to Firefox 52 when you will need to use Marionette.
Marionette will be turned on by default from Selenium 3, which is currently being worked on by the Selenium community. Ideally when Firefox 52 comes around you will just update to Selenium 3 and, fingers crossed, all works as planned.