I just got the news from The Testing Kit that Selenideium Element Inspector with which test automation teams can save hours daily by automatically generating selectors for Selenide, Selenium, Cypress, Playwright, Squish and TestCafe has been added to the prominent list of Software Testing Tools & Resources which is a curated library of tools & resources to supercharge your testing.
A few days ago I have created the Selenedium Element Inspector Twitter account to have a platform for its users where they can ask for help share their experiences, request features, and we can also discuss any test automation topics.
I was happy at the selenideium username was available. And as Grammarly always underlined this word, no I added it to its dictionary. 😊
To celebrate this great news, I have written a small recap about the short but successful history of the plugin. Here it is:
Only a few days after reading an article about how to create a Chrome Extension in 15 minutes I came up with the idea of Selenideium Element Inspector.
Since I read the article, I was thinking about what kind of Chrome plugin could be useful for myself and also for the testing community.
Ok, I have to admit at the beginning I defined a Minimum Viable Product(MVP) to be able to quickly deliver value for the test automation community.
- Log to the console a complete line of copy-pastable selector code on a single click of a web element.
- Add support for CSS Selenide selectors
- Add support for CSS Selenium Java selectors
In the end, I realized the Chrome extension would be much more useful in case I add another type of selectors, so I added the following locators:
- Select by id
- Select by name
- Select by tagName
- Select by linkText
- Select by withText. withText is a Selenide specific selector with which you can find any element based on its text. It is much more powerful than linkText as the latter one only works for links, which I do not really understand why it has such a limit.
The process is very simple, I create the selector, then use it and in case it locates only one element then I print it on the console.
It took only 3 hours (testing included of course) to develop the first version of the Selenideium Element Inspector Chrome extension.
I have submitted it to the Chrome Web Store and I started to pray to be approved.
I consider contributing to the open-source community very important, which I also did in the last few months by creating frameworks for Selenium - Cucumber, Protractor, Appium, RestAssured and Karate DSL with which you can jumpstart your test automation project and I also started a tutorial on Selenide.
You can find the source code of Selenideium Element Inspector on GitHub.
However, I submitted it on Sunday it only took 3 days to approve my extension. I was really surprised as it is written that it can take even 30 days to approve your plugin.
During the 3 days, I have already written Save dozens of minutes daily during writing Selenide and Selenium E2E automated tests using the Selenideium Element Inspector Chrome Extension!. I was only waiting for the approval. A few minutes after the approval I have published the article and shared it on LinkedIn, Selenide User Group which we created together with Andrei Solnstev who is the developer of Selenide, Test Automation group and also to Selenium User Group.
I won't link the latter one as they do not deserve it. I really enjoyed being a member of the group. I have learnt and helped a lot there.
I have submitted 2 of my articles (Selecting an End to End Testing Framework - Selenium or Selenide?, Selenide, I think this is the beginning of a beautiful friendship) about Selenide which is built on top of Selenium WebDriver and it is superior to Selenium as it has the same feature set and much more: easier syntax, advanced selectors, built-in profiler, no more StaleElementReferenceException and much more.
It took a few days to realize my posts has been deleted without any notification about it. I have contacted Mike Veinder one of the admins of the group and asked him why he deleted my posts.
He said it was not him, but most probably because it was a self-promo.
I was standing there stunned. I wrote an article about a framework from which all the Selenium community could benefit- and the post was labelled as self-promo. I couldn't find words.
Whenever I released the plugin I wrote the post about it (Save dozens of minutes daily during writing Selenide and Selenium E2E automated tests using the Selenideium Element Inspector Chrome Extension!) I also posted in the Selenium User Group.
I was sure this time it won't be deleted, as it is not about Selenide but Selenium and as it is very useful for the test automation community.
Well, my post was deleted. I again contacted Mike Veinder and again I got the answer: self-promo. So sharing your knowledge counts as a self-promo. What a useful and logical rule. 😊
He was so nice he reposted my article , which got some attention there.
A few days later Mike Veinder posted about an upcoming event called The Future Of Testing Frameworks. I was so excited about the event I decided to participate.
I took notes during the presentations so I could create my own subjective report. So this is how The Future Of Testing Frameworks - A report by Miki Szeles.
As it was Mike Veinder who posted about the event, I thought he will be happy about having a post about it.
I was totally wrong. He deleted my post and banned me from the group. He said this group is not for me. He was partially true. Despite the great community I do not really want to be a member of a group with such admins as Mike Veinder.
I was shocked, so I contacted him. I kindly asked whether I can rejoin the group in case I won't post any more articles, as I wanted to learn and help the community.
The answer was blocking me on LinkedIn.
True story. 😱
As I usually try to learn something even from bad happenings, I looked for other relevant groups and this is how I found Selenium Automation Testers and Selenium Testing. In comparison to the Selenium User Group, they really would like to help the community with all available resources and they are not envious of anything which is not pure Selenium.
Sorry for this venting, but I really wanted to let the steam go from myself. 😊
Right after I published my post in Test Automation LinkedIn group I found out there is a very similar plugin , about which I wrote an article: SelectorsHub - an awesome XPath and CSS Plugin.
In case you are curious about which plugin you should use let me quickly help you: Both. 😊
Despite b eing very similar both have a different goal, in case you are interested in the whys, just read the article.
One week after the first release I already came up with the next version as I wanted to provide more value to the community.
Here is the list of the improvements:
- Relative XPath Selector
- CSS selectors based on any unique attribute are automatically generated for the web elements (except id, name, class as they are covered a different way).
- In case one of the classes of the element is unique, CSS selector is also generated based on that
- Automatically add ";" to the end of the selector, so you really only have to copy-paste the code.
- Marking the start and end of the logs belonging to Selenideium Element Inspector
I think it is quite a nice and useful feature list.
I have committed the last change on 18th February and it has been approved on 21st of February 2022 whenever I immediately posted my article about it: Selenideium Element Inspector v1.2 has been released. 😊
I am a smoker and also a very friendly guy, so during my 3 months of probation period, I had the opportunity to have a few words with almost all the smokers. 😊
I quickly realized there are a lot of test automation engineers in the company. After some discussion, I found out they are using Squish and TestCafe.** The next step was obvious: add support for Squish and TestCafe.** 😊
As it is very easy and straightforward to add a new framework to the plugin I decided to support all the other major testing frameworks Cypress and Playwright (Appium is still on my to-do list).
It took only 2 days to receive my first bug report , which is awesome as it means people are using my plugin, and they took the step to share their feedback.
Jester was so kind he even left me a 5-star review in the Chrome Web Store. I quite it here to make sure I will never forget it:
Installed just this morning, only toyed with it a little so far but can easily see it'll be helpful in a few projects I currently am working on.** The developer is actively engaged and dedicated to the progress of this extension, replying to my issue a mere hour after I posted it on a weekend. **** Looking forward to seeing how far this extension can go and hoping it's a mainstay of my developer chrome profile since it will hopefully be useful enough to stay installed long term.**
Thanks again Jester. 😊
On the very same day, the new version of Selenideium Element Inspector 2.0 has been released with a huge new feature set :
- Automatically generating complete copy-pastable line of code for the following frameworks:
- Selenium Python support
- Selenium C# support
- Cypress support
- TestCafe support
- Playwright support
- Squish support and of course also for
- Selenide support
Selenium Java support
Provide an option to select the testing frameworks for which selectors will be generated
And we are here today. I just got the news a few hours ago via Twitter that Selenideium Element Inspector Chrome Extension has been listed on testdev.tools.
testdev.tools is a curated list of more than 250 Software Testing Tools & Resources to supercharge your testing.
I am very proud of this achievement. 😊
Ok, that is the present, but what about the future?
At the moment I only have 2 elements on my list :
- Fix the bug reported by Jester
- Add Appium support
All the other depends on you. Any feature request is warmly welcomed. 😊
Thanks for reading the brief history of my Chrome plugin. I really appreciate it.
You can download the plugin from the Chrome Web Store.
Follow Selenideium Element Inspector on Twitter, so you can get help, share feedback and support feature requests!
📚 Join the Selenide community on LinkedIn! ✌
P.S.: Support the test automation community by sharing this article. 👍