The title of the post notices Selenium and Cucumber since they are the most well-known program mechanization and BDD devices individually; however the setting of this article applies to any UI robotization device in blend with any BDD instrument.
What is Selenium?
Selenium is a program robotization testing instrument which is equipped for cooperating with the HTML components of a web application to re-enact a client action.
In Selenium WebDriver, we can compose contents in various programming dialects and can be an extraordinary resource for different OS and cross program testing.
What is Cucumber?
Cucumber was made to drive Behaviour Driven Development (BDD) process, to such an extent that the client can portray their prerequisites as a progression of illustrations called situations, in plain content records utilizing the gherkin dialect in the Given When Then arrangement.
In Cucumber world, these documents are called include records which are audited by the Scrum group to get an unmistakable comprehension of the necessities previously beginning the genuine advancement.
When improvement is in progress, the designers as well as QA will compose Step Definitions which are basically scraps of code which tie the situations from the element records to the test code which execute activities against the application under test.
Selenium and Cucumber
Both Selenium and Cucumber are awesome devices for their own particular purposes however when utilized together, things don’t wed up pleasantly!
Stories are by and large composed from a client’s point of view, for instance:
As a client of site abc.com
I need clients to have the capacity to login to the site
With the goal that they can see their record data. “
Thus, Scenarios in the component records are composed in a way which depicts the conduct of the element when a client interfaces with the application. For instance:
Given I am on abc.com Login page
When I enter substantial qualifications
At that point I am diverted to My Account page”
Thus you can add more situations to test distinctive information mixes.
Since both the story and the element document are composed from an abnormal state perspective, and in light of the fact that we need to mechanize the situations, it just appears to be normal to begin composing step definitions in Cucumber which call Selenium to drive the application, do the activities and check the result.
In any case, this is the place the issue happens; when we begin joining Selenium with Cucumber to compose computerized UI tests.
At the season of improvement, when each element is produced one by one in every cycle, the element documents would be centered around the component itself, so sooner or later, when we have numerous highlights, we have to begin considering testing these, in disconnection, as well as innovative situations where we join distinctive highlights.
What’s more, truth be told, this is the thing that genuine clients of the application will do. They will initially enter their hunt criteria, once on the list items page, they would perhaps paginate, at that point channel, at that point sort, at that point backpedal, et cetera, and they can do these activities in any request. There won’t be a recommended request of occasions. This is a genuine client travel and a genuine trial of the framework!
Larger part of the bugs in an application is uncovered when either an element itself is surrey or when two highlights that work flawlessly well in disconnection, don’t cooperate. This is the thing that the Pairwise Testing Model depends on.
Things being what they are, what’s the big manage utilizing Selenium and Cucumber together?
Where at all conceivable, we ought not to utilize the web GUI for practical check. Usefulness of an element ought to be tried at API layer by reconciliation tests.
UI should just be held for checking the client courses through the application, or end-to-end tests and ensuring pertinent expected modules or gadgets are available on the page as the client explores starting with one page then onto the next.
A regular client adventure would involve:
- Navigate to the landing page of abc.com site
- Search for an item from landing page
- Browse through the rundown of query items
- Apply channel and additionally sort
- Read item subtle elements
- Add the item to wicker container
- Continue to checkout…
Selenium is magnificent in computerizing these situations and checking for different components on each page and as I specified over, that is the thing that we should concentrate on when testing at UI layer, and testing the distinctive states advances.
As can be seen, every client travel through the application addresses many pages and possibly cooperates with different highlights on every single page, and we would check different things at each progression all through the adventure, so utilizing a “component record” to report these situations has neither rhyme nor reason, since we’re not trying an element, we’re trying the incorporated framework.
Things truly go pear molded when we endeavors to compose the conclusion to-end situations in a Given-When-Then configuration. What number of Givens would we say we will have? What number of Thens would we say we will have?
One could contend that for end-to-end tests we could simply utilize Selenium all alone without the Cucumber and have isolate mechanized tests for each element utilizing Selenium and Cucumber.
Want to get job in Software Testing?? Then Infocampus is good choice. Yes, Infocampus is a training institute that offers selenium training in Bangalore with 100% job assistance. In infocampus, selenium training syllabus has been designed according to the industry standard. To view the topics included in selenium, visit http://infocampus.co.in/best-selenium-testing-training-center-in-bangalore.html. Call 9738001024 and get the details on free demo classes and new batch timings. Hurry Up… Limited seats are available for selenium course.