Open Source Software Simplifies Integration In Automation Engineering Featured Image

How Open Source Software Simplifies Integration In Automation Engineering (with James Walker and Sanjay Kumar)

Jonathon Wright is joined by Sanjay Kumar, creator of Selectorshub, and James Walker from Curiosity. Listen to learn more about how open source tools help simplify xPath writing and integration in automation engineering.

Interview Highlights:

  • Sanjay Kumar is the Founder and Creator of SelectorsHub. SelectorsHub, basically, is the next Gen XPath and Selectors IDE, which makes it possible to write your own XPath and CSS Selectors within five seconds. It’s a free browser XPath plugin and also used for CSS Selector. It’s available for all browsers. [0:27]
  • Sanjay was a chemical engineer and later on came into the IT industry. He worked at IBM as a mainframe developer in Italy, but someone told him that it’s not a good field for him. Then people introduced him to Selenium and automation testing, which was booming at that time. [1:53]
  • Sanjay studied Selenium and automation testing through a training center, then he started working in different companies. He developed the ChroPath and ran it for three years, but then, unfortunately, he has stopped working in development and support on that. [2:32]
  • In June 2020, Sanjay decided to leave his job and work for the testing and development community full-time. Then, he started working on SelectorsHub, which is running for 1 year now. It is being used in more than 150 countries, and more than 50,000 automation testers are using it. [2:54]
  • James was in the testing studies for about a decade now, and towards the end, they dabbled in the model-based testing space. Then, they got acquired by a company called CA Technologies. [4:55]
  • In 2017, James and his team set up Curiosity Software and the goal was really around openness. They’ve developed the world’s first Open Testing Platform, and they’re trying to solve a lot of testing challenges. [6:01]
  • James met Sanjay six months ago, and he was just fascinated in what he was doing and the impact in the community he was having. They’ve also done a few webinars together a few months ago. They’re trying to combine the power of the two tools together, so James added Sanjay into Open Testing Platform. [6:16]
  • Sanjay’s tips for those getting started on the journey of understanding how to interact with the DOM is to go to SelectorsHub and they will learn everything there about XPath and selectors, DOM and DOM elements. [8:21]
  • One day, someone asked for help from Sanjay about how to inspect elements with SelectorsHub. It was challenging for him and most people can’t do it as well. Only the JavaScript developer, those who know how to run the JavaScript can solve it. Then he decided to do something about it, and that’s where he innovated the debugger feature in SelectorsHub. Now, people are able to do it within 5-10 seconds. [12:01]

“You can learn the fundamentals of any programming language, but to become an expert, you need the Smart Editor.” — Sanjay Kumar

  • Your automation is only as good as the identifier of someone who’s scripted. So if you start from the beginning with really good identifiers, that is laying the foundations to be able to build good automation later on. James and his team have tried to fit in with Test Modeller and the whole model-based testing vibe is allowing people to have visibility into what’s going on and what’s being tested. [16:57]

“The critical point here is having a good foundation. It’s like building a house. If you put that on some foundations which aren’t set properly, it’s going to subside, it’s going to topple over. You’re going to have all sorts of problems later, but if you put some good work in now, then that’s going to really put you in good status later on.” — James Walker

  • SelectorsHub has a huge roadmap. Right now, the 3.0 version is out. They also have the SelectorsHub community as well and there are so many people out there. Basically, SelectorsHub is like a one-man army with a huge community support. [31:21]
  • People who’s interested can sign up for a trial on Test Modeller and they can start in the modeling world. They have a two-week free trial and in terms of actual training resources, they have a number of demo videos. [34:47]

Guests Bio:

James Walker holds a Ph.D. in data visualization and machine learning, in the field of visual analytics, a topic that combines humans problem-solving skills with the vast processing power of computers. James has given talks worldwide on the application of visual analytics and has several articles in high-impact journals.

He has since applied these ground-breaking approaches to QA focusing on Model-Based Testing and Test Data Management, and now CTO & co-founder of Curiosity Software, the world’s first Open Testing Platform. James has collaborated with numerous start-up and enterprise organizations to address quality in software delivery.

Image of James Walker

“Your automation is only as good as the identifier of someone who’s scripted. So if you start from the beginning with really good identifiers, that is laying the foundations to be able to build good automation later on.” — James Walker

Sanjay Kumar is the inventor & creator of SelectorsHub, TestCase Studio, and ChroPath | On a mission to make testers and developers’ life easy | Not working for any company, working full time for the community.

SelectorsHub is a new reality to build your own XPath & cssSelector in less than 5 sec! A Free and most secure plugin with ShadowDOM support.

Image of Sanjay Kumar

“For a developer or software engineer, this is the biggest achievement — that your tool, your innovation appears in LinkedIn profiles of world-class developers and testers.” — Sanjay Kumar

Resources from this episode:

We’re trying out transcribing our podcasts using a software program. Please forgive any typos as the bot isn’t correct 100% of the time.

Read the Transcript:

Jonathon Wright

In the digital reality, evolution over revolution prevails. The QA approaches and techniques that worked yesterday will fail you tomorrow. So free your mind. The automation cyborg has been sent back in time. Ted speaker, Jonathon Wright’s mission is to help you save the future from bad software.

Sanjay Kumar

Thank you Jonathon. Yeah. So I’m Sanjay Kumar, Founder, and Creator of SelectorsHub. SelectorsHub basically is the next Gen XPath and Selectors IDE, which made possible to write own XPath and CSS Selectors within five seconds. It’s a free browser XPath plugin and also used for CSS Selector. It’s available for all the browsers. You just try it.

It has a meeting features. It has made many things possible, which will never possible in the HTF XPath and selectors like nested shadow DOM support, nested iFrame support, Compilation Error XPath. You would, there was nothing to like verify XPath in CSS Selector, which can tell you what’s wrong in your selectors and XPath.

So lots of amazing, good innovations went through inside SelectorsHub is the highest rated XPath in selectors tool being used in almost every company of the world. So, go and give it a try, hardly to take a five seconds, but it will save hours of time for you. Thank you. 

Jonathon Wright

Wonderful, Sanjay. And, honestly, if you’ve got diddly squat and you want to start doing some awesome automation, then go check out SelectorsHub and watch this great video of how I used it earlier on today.

Okay, fantastic. So you’ve done that a bit. So let’s do a bit of an intro I’ll get Sanjay actually as you’re already in mid-flight. Do you want to tell the listeners a little bit about yourself, where you got started? You know, just a little bit of background about you.

Sanjay Kumar

Sure. So, I’m a chemical engineer, so that will sometimes when I tell this, so people get surprised, like how can a chemical engineer deciding how the developer industry is working on, in like how they work in while writing the scripts, automation scripts.

So, yeah. So it was, kind of, you can say that accidental I became the, I came into the software IT industry. In Italy, I work in IBM as a mainframe developer. Then someone told me, No, this is not a good field for you. You might like to switch into the, like a different world. So that time Selenium and this Selenium or and automation testing was booming and so people suggested me. 

I learned that thing, Selenium and automation testing through a training center, then I moved to like in testing, working in different companies. I developed the ChroPath and almost like I ran that for three years, but then unfortunately I have stopped working in development and support on that. 

Then last year in June 2020, I decided to leave my job and work for the community full-time without having any kind of pressure from a company that, No, you can’t do this. You can’t innovate this thing. No, this is not what that-. So I thought like, let me take my open hand and whatever I want to do for the people, for my testing community, development community, I will do that. And that’s where I decided I quit my job, started working on SelectorsHub. 

And that if here SelectorsHub is today that it has been like adopted widely or like just, it’s not just being like next week on 29th of July, we will be completing one year for SelectorsHub within, before that it is being used in more than 150 countries, 50,000, more than 50,000 automation testers are using this one.

Google, Apple, Microsoft, Amazon, you take any company out there, everywhere it is being used. And not just being used, I guess I would say like for a developer or for like software engineer, this is the biggest achievement that your tool, your innovation is appearing in LinkedIn profiles of the world-class developers and testers.

So that’s a little bit about me. Thank you. 

Jonathon Wright

Oh, no, in a way you’ve actually created automation for good. You have, you’re a kind of an advocate for creating community-driven content that’s going to change people’s lives. I was going through some of the reviews and just how many stars that you guys have got and you’ve just made a massive difference to the community.

And I think that’s really important in the sense of how we’re kind of changing the way that we’re, we’re consuming or, you know, tools and toolsmiths out there who are downloading in, and maybe, you know, having these challenges, you know, we’ve also got today we’ve got James Walker from Curiosity Software who was actually supporting this project and a responsive sponsor of Selectorshub. 

It’s great to have you as well, James. So, do you want to give us a bit of introduction to how you guys got started working together?

James Walker

Yeah. Sure. Thanks so much, Jonathon. And, yes, so I guess for the background, I’ve kind of been in the testing studies probably for about a decade now. And towards the end, we dabbled in the model-based testing space. We then got acquired by a company called CA Technologies and I think what we saw was the kind of a world was almost moving beneath us. You know, there was all these Open Source Initiative. Open Source which is becoming massive, it was everywhere, right? 

There’s all these DevOps transformations going on. Everyone’s trying to move faster, do things cheaper and increase quality, right? But I think what we saw was the kind of testing space it almost stagnated. You know, it was the same problems, the same solutions, but nothing was really moving forward.

If you looked at every other industry, things were just moving so rapidly, you know, AI machine learning, all these new technologies. So we decided to kind of go off. We set up Curiosity Software, we’re putting about three and a half years in now, and the goal was really around openness. So we’ve developed the world’s first Open Testing Platform, and we’re trying to solve a lot of these testing kind of challenges with that.

We met Sanjay about six months ago and for me personally, I was just fascinated in what he was doing and the impact in the community he was having. And I think the great thing about what Sanjay was doing, you know, it’s obviously, so he can help you, you know, create or identify massive piece on blinded education and that he’s trying to educate people and create and get identified, educate people and create good automation.

So I think that is 100% the right direction. And so the past few months, you know, we’ve done a few webinars together. We fill out an integration I’m ready. What we try to do is kind of combine the power of the two tools together and add Sanjay into Open Testing Platform. It was used by 70 people having such a positive impact from it, basically.

That’s how we kind of got together I suppose. 

Jonathon Wright

Wonderful. Now, it sounds fantastic. I know the open test platform’s being a big driver for you guys. I know even when you started with grid tools, it was all around, How do we integrate with all these different types of tools and technologies and this kind of supporting the toolsmith as the future to say, you know, if everything, you know, instead of everything looking like a hammer, you know, everything looks like a nail. Let’s hit it with a hammer, actually getting the right type of tool for the right solution. 

But we always get this same problem, right? We get this challenge of how we interact with the technology on the test. And I think, you know, what SelectorsHub’s doing is kind of addressing that challenge of, you know, how do I interact with things that are, you know, these modern frameworks, like React that, you know, sometimes have hidden objects are sometimes really quite difficult to kind of go off and explore and debug.

And it’s beyond Google developer, right? You need to go pass that. You know, Sanjay, do you, you know, for those listeners, you know, what’s the tips that you found for kind of getting started on that journey of understanding how to interact with the DOM?

Sanjay Kumar

Yes. So, so like, when I was like other people were watching this one, when I used to write the automation script, so sometimes it become really difficult for automation test engineers.

Those who are not coming from the like, don’t, those who don’t have the JavaScript knowledge or DOM knowledge, it really becomes very complicated to understand the concepts of selectors, the concept of DOM element, because that’s not the part of what they are doing. So not everyone required to understand each and every step.

So that’s where I thought like, let me dig that pain and I would be able to understand that how to make things possible for them to like, while looking at the DOM, while inspecting the element, this would learn all about the XPath, all about the web elements. And that’s where like I started working on selectors and the selectors of does the same thing for them. 

Now they have this thing, like when they will inspect any element, they will get all the information from there. So, my tip is like, earlier, if you would have asked this question, I would have suggested like, Oh, go and read this blog. Go and watch those tutorials to understand about DOM and elements.

But now I would say that yes, that innovation is right there in the place. So you need not to waste much time about exploring things and learning. You just go and inspect the element. You will learn each and everything about like, whether this is a comment, this is a pseudo-element, style tag. Whether you should write the XPath for this element, whether this element isn’t said ShadowDOM, nested items, all those information you will learn, you will from out there, like from the SelectorsHub.

So, this is the tip from me, like now you, if you want to learn all about XPath and selectors, DOM and DOM elements, go and just like without reading any book or without having any trainer, which you expert each, it will teach you each and everything about DOM. 

Jonathon Wright

No. I, I think that that’s absolutely great. I must admit, when I kind of started off in the ’90s, you know, I had this, first thing I did when I saw a new app was I did this thing what was called a Gap analysis where I’d go through and look at all the different types of objects that I wanted to interact with.

And it, you know, I still do it today where I kind of go get to a certain page and maybe the Stripe elements. And like you said, you’ve got an iFrame, obviously, it’s corrupt, you know, that you’ve got maybe some ShadowDOM objects that are implemented by their ends, which you’re running, which there’s a great demo, which you do around booking flights, where you’ve got a hover over something and it drops out and you know, you want to capture that, right? 

And that used to be the nightmare, right? And I used to just sit there going, Oh my gosh, how am I going to do that? I can do all the way till it gets to the point where I need to pay for it, or I, you know, I need to get to that last stage. And I think, you know… 

Sanjay Kumar

And running testing thing, yeah. 

Jonathon Wright

No, I just love that kind of, use SelectorsHub to interact with it and you’ve got all that problem solved. And you can do all those really cool things where you can go in and go, not just for one, but you can do like slash a, in a regular expression kind of thing, and see a list of all the buttons you can interact with other texts you could do, I have saved so much time.

Sanjay Kumar

Absolutely. And those things like you won’t believe each and every feature which you see in the SelectorsHub, most of the like, community-driven and depends on the feedback from the people I got it. So this, the flight, when the flight example, which you have taken, like when you, even in fact like the very simple one, when you type something in Google that auto-suggests used to come and it becomes really hard to inspect those dropdown elements when they, you click, they disappear immediately.

So one day that someone asked me on LinkedIn in that can you I’m not able to inspect this element with SelectorsHub, can you help me out this? In fact, like I was, I have wasted half an hour of time just to inspect that frickin element in the dropdown. I was like, oh my God, this is so challenging, and then I ran a poll.

Most of the people said that like, they are not able to do it. Only the JavaScript developer, those who know how to run the JavaScript to debug and other stuff. Then I thought like, let me do something for that. And that’s where I innovate that debugger feature in SelectorsHub and now people are able to do that within 5-10 seconds.

So, so those kinds of things, the smart editor, that idea of smart editor, how I got it, like the one which you mentioned, like when you type double forward slash a, you all get all the expression in the dropdown. I was thinking like, when I started working on the SelectorsHub, this was the very first idea and that was the birth point of SelectorsHub where it got born.

One day I was like just walking out there and I have quit my job and then I was thinking like, what next thing I can build it? Now I don’t have job. I have like this and all I have done and COVID is also there. I can’t search for the new job, other stuff. So, so I was thinking like, what is the wrong there in like in our industry, automation industry, which we had never have been done.

So I got an idea, like how you become expert in any programming language? By reading books, by blogs, by tutorials, you can learn the basic knowledge. You can learn the fundamentals. You can learn the fundamentals, but to become an expert, you need the Smart Editor, like until, unless you will not write the code in Eclipse and IntelliJ, you will not learn all the methods of any API.

You will never be able to learn the compilation error. Nobody will going to teach you that these many errors will happen. If you missed a semi-colon if you missed a dot, whatever will come. Will anybody is going to teach you? No one. So all those things we become expert by using Smart Editors in IDE. From there we become smarter.

So that’s where I got, like, we don’t have any smart editor for selectors, for XPath. People used to keep saying blindly, we sort of write our own Xpath, we sort of learn to write, but we will teach you. Who is teaching you? Everybody is teaching you double forward slash ad rate activity is equal to attribute value, but we’re teaching you that if you miss semi-colon if you miss square bracket if you put double forward slash at wrong places, nobody are going to teach you.

So that’s where this idea of SelectorsHub born. And here it is.

Jonathon Wright

Oh, I love it. I must admit, I remember being at STARWEST once and someone had, one of the vendors had a, an XPath and said, Tell us if you can tell us if this XPath’s invalid, it obviously had regular expressions in it. And I was sat there going, I know this, and I might even get an XPath tattoo, but I’m not gonna tell you where. But, you know, part of going back to that, you know, I’m going to pull James back in because I know what he’s been doing.

And I know he sits on he’s helping at the moment with the ISO for the model-based testing standard that’s coming in emerging, you know, part of how you, you know, curiosity have been driving this industry forwards for also in a way that’s kind of community-driven. It’s, you know, you need to be able to kind of scrape some of these objects off and allow people to visualize and drop elements in.

And that example, which we just did with the, you know, find all the elements on the screen, identify them and then potentially just drag them into a canvas and say, Okay, I want to check the value in that. I want to do an assertion. I want to see if the text is in that value. You know, that kind of capability combined with Test Modeller is, is game-changing. 

So, you know, James, do you see that you’re going to start integrating with SelectorsHub and maybe use some of that to help with your canvases and help people build automation, reusable automation?

James Walker

Yeah, absolutely. So, I mean, we’ve already got that integration together. We did a webinar on it about three weeks ago, actually.

But I think, yeah, absolutely. I mean, it’s quite interesting. I think, you know, if you take a step back and you look at, you know, a lot of companies, you know, it’d be lovely if you could go into a company and it was completely greenfield, right? You know, it’s a completely green project, you know, you’re going to pick the tools.

You’re going to pick the methodology. I’m going to start doing things, you know, the right way at the beginning, right? But I think, you know, unfortunately, as we all know, the landscape is just so mixed. Almost every company you go into, they’re using some kind of different configuration tooling. They use, you know, they’re using a different testing methodology, then they’ve using PDD.

Maybe TDD, it may be something completely else. You know, there’s so much stuff out there, it’s absolutely crazy. And that’s kind of why we moved into this realm of the Open Testing Platform, right? Is there’s so much stuff out there. How can we work with what people are doing already? How can we integrate with the way they’re working?

You know, if you look at SelectorsHub, obviously that solving kind of one piece of the puzzle. You know, going out, how do we get good identifiers really rigorous? And you know, they’re going to stand the test of time, basically, right? You know, I think, you know, you’re always at the mercy of the identifier, you know, your automation is only as good as the identifier of someone who’s scripted. So if you start from the beginning with really good identifiers, that is kind of laying the foundations, you know, to be able to build good automation, later on, right? I think where we have tried to fit in with Test Modeller and the whole model-based testing kind of vibe is allowing people, as you said Jonathon, to have visibility into kind of what’s going on and what’s being tested.

You know, if you look at a lot of tasks out there at the moment, either a) they are stuck as code and it’s very hard to actually interpret what that code does. You know, actual automation scripts you know, if you’ve got a large repository, it’s actually really difficult to get a handle of what we’re testing today.

Or they’re in some kind of, you know, almost legacy system, you know, like your kind of ALM, et cetera, whereas just less of less on steps, right? How do you look at all of this? How do you understand what’s going on? And you know, to very little surprise, if you ask a lot of these companies, they don’t actually know what they’re testing and what that test coverage is.

So we tried to make everything very visual. You know, come in and look at an image. Obviously, an image is worth a thousand words. In our world, that image is a model. And that model is basically a flow chart. You know, enter text here, click on this button, et cetera, et cetera. And the whole goal here is allow people to visualize, understand, and they should be able to immediately look at this picture and understand what’s being tested in terms of what’s underpinning that, you know, the identifiers could be coming from SelectorsHub, which is great.

That’s going to give you a good foundation. The automation that’s coming out the backend could be Selenium. It could be Cypress, it could be rest assured, it really doesn’t matter, right? ‘Cause that is basically what the Open Testing Platform is, you know, take something from somewhere, create the model that’s kind of your normalization layer of understanding that people can collaborate together to build everything else on. 

And then everything that’s coming out of the backend, you know, that’s just another piece. You know, whatever tool people are using today, let’s push it out there, and let’s help that makes accelerate things and move things along much quicker will having that clear kind of coherent understanding, I suppose.

Jonathon Wright

Yeah, no, I completely love that. And I’m going to kind of give a nod as well, too, to test data automator, right? In the sense of, you know, part of it is I genuinely think this might be a model-based data kind of challenge around variables, right? In the sense of, in essence, an identifier is a dynamic variable with something like SelectorsHub.

You’re going to get the foundations to understand, okay, the CSS is changing, the XPath’s changing. You know, we talked about things like, you know, frameworks. You know, obviously, as people bring in the new React or whatever it may be as a third-party SDK, you’re going to start seeing that those identifiers change, right?

And SelectorsHub allows you to quickly go in there and diagnose the problem and then allow you to fix it quite rapidly, right? And then with something like Test Modeller and just that ability to do the data gen capability where you’re dealing with let’s call it ‘data-driven testing’ for a second, but then much more sophisticated because it’s adding in that kind of layer, which we would might have recalled called ‘keyword-driven where you’re identifying an object class, and that might mean that the selector or the ID has changed and that needs to be updated and then put into the code. Right? And those codes snippets that something like the Test Modeller kind of supports, you know, all those little recipes that, and blueprints and schematics, if your application.

And we all know the pain point is the maintenance burn, right? And it’s also the fact that you know, when you’re going through and your scripts start failing and it could be as simple, simplest login to log on, right? You know, you’re starting to see that everything breaks. You can quickly pinpoint it, change it in a single location within the Test Modeller, quickly identify the right ID identify that you need within SelectorsHub.

And that maintenance is going to get, is going to be reduced. And I’m going to throw out the kind of concept around self-healing in a way, because a lot of people say, Well, you know what? Allowed in a regular expression say starts with the word L and you know, should be X amount of letters long, and it might be login, log on.

Different terminology might be different in Android versus something else in different browser, whatever it may be, browser capability. But in actual fact, if you start thinking about that, you’ll be able to heal your, using model-based testing you’re healing all your scripts instantaneously by just changing it in the single component instead of having to update all of those scripts, or if you’re using something like SpecFlow or some other kind of BDD, TDD, ATDD kind of language. 

Again, you’ve got that modular approach where you can change it in a single location and then it impacts all the scripts that depend on that component. So, is it a shift that is going to start supporting this kind of self-healing kind of capability that we’re getting smarter using the smart tools like SelectorsHub, and we’re approaching it in a model-based testing kind of way where we’re able to make things much more reusable?

Do you think that’s the way forwards for automation engineers out there?

James Walker

I think I think it’s actually really interesting what you’ve just said there, Jonathon. I think the keywords for me when you said recipes and also blueprints, I think those are actually really cool. You know, whereas you know, if I think about an application, you know, as you quite rightly points out that there’s so many common components in it. You know, you’d look at actually distinct, unique you know, widgets or distinct, unique business functionality, it’s actually quite low. 

Almost every application has some kind of login, registration during the finance world. You probably got some kind of settlement system or payment processing, et cetera, et cetera. You know, an interesting story. So we’re working with an education company and honestly, they make me so happy, what they’ve done is just amazing. 

But basically that kind of in the world of building out these kind of compliance training schemes, I suppose, you know, the annoying ones when you’re at work and you got assigned a new training scheme, you’ve got to go fill out all these questionnaires. But for them, you know, they’ve got about 20 or 30 kind of commonly widgets.

You know, one page may be a block of text, another page maybe a video, another step in the wizard maybe, you know, some kind of questionnaire where you’ve got multi-choice answers, right? There’s about 20 to 30 of these widgets, right? They have basically extended our tool. They’ve written their own custom functionality that wraps around our API.

They had these definitions for these training pathways. They scraped the definition. They look them up in our repository of models that they fill out for these 20 widgets. And then they basically, automatically assemble the model, which represents the particular training pathway they’re testing, right? 

Now if you think about it, that is absolutely mind-blowing. They are taking a schema for a training and because they’ve done a bit of work earlier on, you know, building out rigorous identifiers, building out these widgets or the models for widgets, they are now reaping the benefits where they are auto-generating all of their models, all of their tasks, all of their test data, everything, just by, you know, just as part of that CI/CD pipeline. 

So, I mean, that is just unbelievable if you think about the speed that they are able to move that, but you’re absolutely right. The critical point here is having good foundation. It’s like building a house, right? If you put that on some foundations which aren’t set properly, it’s going to subside, it’s going to topple over. You’re gonna have all sorts of problems later, but if you put some work in now, get some good identifiers, get some good objects page objects, whatever, then that’s going to really put you in good status later on. Right? I think that’s the crucial piece here. 

Jonathon Wright

Yeah. And I love it. I’m going to ask Sanjay a question here.

So I remember working with James on a concept five years ago called ‘DesignOps’, right? It was this idea where you could do rapid prototyping with wireframes and you know, you, and you start seeing it quite a lot now with mobile app development, in the sense of they’ll create something using a tool that a wireframing tool that allows them to have a clickable prototype, and then they’ll actually creates something behind it. 

And actually the next call I’ve got in 15 minutes actually is it’s, they’re doing low-code, right? They’re using Appium to develop apps, right? And they started off in the landscape and I kind of said start using something that allows you to, to something like business process modeling.

So it could be Visio, it could be Bizagi, it could be something that supports XPDL or some standard. They generate the flows and then they pass this to the app development company using Appium to actually create the interface. Now, using these low-code platforms like Pegasystems, like Appium, like Microsoft, or some of the Microsoft platforms, your what SelectorsHub kind of doing is it’s kind of giving this ability to interact with those different types of object classes. 

And once you’ve got it for that, which might be healthcare, might be education, in a way that they abstract lab if that what was in the old days, MV, MV, you know, the model view controller kind of landscape. What low-code’s allowing you to do is that once you’re able to, you know, interact and automate an Appium platform and discover that what identifiers that the most reliable, because of the way they’re developing the software in this low-code fashion, where they’re just dragging and dropping things onto a panel, and you’re able to rapidly use SelectorsHub to go, I’ll identify this and it might be a graphic, might be an SVG. It might be some kind of, you know, dashboard value where you’re trying to look and say, Oh, I need to get that value there. What says the, you know, the cascading KPIs 56 and it wants to be greater than 56. Your tools perfectly positioned with that.

With what kind of James is saying, it’s kind of revolutionizing the way that you would do rapid prototyping and development, this kind of lean UX kind of approach to things. You know, do you see, you know, these kind of Salesforce kind of SAP, you know, and low-code solutions and SelectorsHub been kind of the way things should be going in the future instead of people write in bespoke kind of systems with their own coding you know, develop large development teams where sometimes they might write custom classes that is a strange object that has some kind of weird interaction that you hover over it. And it doesn’t come up for three seconds and they were the ones that we could get, you know. 

Do you see low-code and maybe those organizations that are assigned to use it using something like SelectorsHubs and combining it with something like Test Modeller to give them that kind of really quick way of getting automation, really powerful automation?

Sanjay Kumar

Yes, absolutely. Like, so, it all depends, like, what is the requirement of the person, those who are developing the application?

So it totally like many times it depends like some, for some people like Salesforce, they are going for Salesforce and some people like going for those kind of a place, which you explained, like the drag and drop. So it totally depends on the requirements what other person has. And then it becomes like which one is the better for the one, like for me, it could be like, I might go for with the React technology or some other technology, which is fit for me because every technology is being used by someone.

So that means everything is important and everyone has the requirement. So that’s the one thing. Other thing talking about the SelectorsHub, so yes, SelectorsHub does support each and every kind of applications. How can we say that? So one thing like about the automation, if people prefer to write the robust automation and they want to save more maintenance costs.

So what they are introducing like nowadays I’m seeing from the like SelectorsHub users and from the community I’m getting that many people are introducing the QA ID or data ID, like you said, that they have introduced this small class. It doesn’t have any meaningful name, but that class is not going to change for that variable.

That QA ID is not, like if you open google.com, all the classes on the google.com, you will feel that what this is, like this will change if I will refresh the page, but they don’t change. So those classes can be used in automation and that automation will be stable automation that will not change on the next-gen.

On the other hand, if you look at the Facebook.com if the ID which are coming there. So that is like rig-based applications. If you rephrase the page, those IDs are going to change. So ID can be used in that cases. So it like in that case, SelectorsHub have held both kinds of application, like it tells you that whether this ID or classes dynamic or not. 

And then on the basis of that, you decide whether you want to generate with what kind of attribute you want to generate the selectors. And there is also option to pass the, like usually exclude your custom attribute, like QA ID or data ID if you have, you passed that it will generate the selectors with that.

And that will be like really quick to handle such kind of like Salesforce application or any kind of like React application, angular based applications. So it supports all those kinds and really make your process and debugging, development, testing, everything really quick. 

Jonathon Wright

I love it. You know, I absolutely love it. I think it’s game-changing in the kind of the automation for good.

And I actually think it’s probably the bigger than what we’re talking about now with kind of your RPA vendors as well coming in. You’ve got Power Automate that uses Selenium underlined to do the execution on the agent technology there. So you’ve got this need for, you know, SelectorsHub, not only from maybe a test-driven centric kind of approach, but OpsCentric, business-centric, where they can use these tools really quickly.

And, you know, I love the community work that you’re doing and, and like you said, you know, if you’re on something like Facebook, which is using React, the certain challenges you’re going to get if you’re using Flux over on Google, you know, you might be able to get in other ones, you know. What’s your roadmap for kind of how you’re going to support people who are using maybe the low-code Appium ones, the Salesforce, you know, are you going to give them cheat sheets?

You know, how are you going to keep on developing it? And what’s next for SelectorsHub? 

Sanjay Kumar

Yes, absolutely. So SelectorsHub has a huge roadmap. So this is right now the 3.0 is out. So, so we have the SelectorsHub community as well, so there are so many people out there. So basically if I would say that SelectorsHub is a one-man army with a huge community support.

So, whenever there is a next release used to come, I used to like prepare access sheet, cheat sheet, basically, there I used to put all the features, which I feel that I should innovate and these are the features which are going to come in for next version. And then I give a space to like other community members to add the features, which you want to see in the next version.

And there I used to take the word from them that which feature they want most. So on that basis, I use to decide like what will be there in the next version? On the other hand, if you look at the SelectorsHub on the selectorshub.com website, there is a changelog. You will find most of the features are the community-driven feedback.

So what would you have suggested, like someone suggested that I want to see that in the dropdown that while typing you get the dropdown, like auto-suggest you get. I want to see the number right there itself that if I will use this XPath function, this attribute, how many matching notes will be there.

I don’t want to press enter. I don’t want to slack that, I want right there. So that has been introduced from the user feedback. So most of the features are coming from the user feedback, the community feedback. What they want I immediately implement that like on Test Modeller, Frank, so, James wanted that.

So I was working on this 3.0 that time we, me and James got connected and they supported and sponsor SelectorsHub. So I really appreciate and use thanks to them. So that time they we were discussing about that like, can we have something like, which will generate all the selectors in single sort?

And we have something in XLC, which we can upload in Test Modeller and there it got supported. So that feature is also like, you can say that I will developing that and meanwhile, we connected with Test Modeller and both got a supported each other. So it’s like most SelectorsHub is absolutely community product, whatever feature, like if you suggest me today that, Sanjay, this is required for my application. So that way it is evolving and this is how it is supporting every use in every application.

Jonathon Wright

No, that’s pretty cool. I love that it’s community-driven. I love the collaboration as well about how you’re working together to solve a kind of a common goal, right? 

And I think, you know, for everyone who’s listening, you know, go and check out SelectorsHub. Honestly, you’d go into the website, you pick your browser, you go and get it from the marketplace, it’s there in a couple of seconds. You can start using it. It’s built straight into your Google development tools so you can just enable the tab, start using it today. 

And it’s honestly, it’s going to gain change and save you so much time. Now I know, you know, like, the work that James has been doing, I’m going to make sure that we do, especially for the upcoming DevOps festival in September, he’s going to get Sanjay on there. Get James on there and we’re going to demo something and to and make it look really cool and show you how easy it is to unlock this kind of next-generation capability.

So I’m going to pass it over to James to kind of say, you know, what’s, you know, what resources with Sanjay and yourself, were you recorded recently? Where should people go and have a look and download something and find out more information?

James Walker

Yeah, it’s a fantastic question. You know, you can start from either end, really.

I mean, you can go onto SelectorsHub. You can get started there if you’ve got some information already. That’s great. The other angle is you could sign up for a trial on Test Modeller and you can start in the modeling world. I think we have a two-week free trial and you can get started from that dimension.

In terms of actual training resources, we have a number of demo videos. We’ve got a couple of tutorial videos and we did an excellent webinar together about two or three weeks ago which we can also share and follow up with that. But yeah, I mean, constantly, as Sanjay said that we’re working together with coming up with new ideas, new accelerators, new innovations.

So it’s kind of a watch this space, but where we are at the moment that there is certainly videos available that we can share. 

Jonathon Wright

Perfect. Well, you guys have been fantastic guests I would say. Massive thanks to Sanjay and a massive thanks to James for being on this podcast and check, make sure you check out the resources. I’ll put them in the show notes below and thanks guys for another amazing episode. And if you’re having problems with automation, go check out these tools right now. 

Sanjay Kumar

Thank you. Thank you so much, Jonathon. Thank you so much, James. Thank you for having us here. It was such a pleasure. 

James Walker

Thank you, Jonathon. Thank you, Sanjay. Appreciate it.

For even more interesting insights, here’s an article by an internationally renowned, award-winning software engineering consultant, author, and coach: LEADERSHIP IN TEST: A GUIDE TO INFRASTRUCTURE AND ENVIRONMENTS

Related Read: BEST PRACTICES FOR AUTOMATION IN DIGITAL TRANSFORMATION

Also Worth Checking Out:

Easily build reliable tests the evolve with your application's UI.

[class^="wpforms-"]
[class^="wpforms-"]