
Lead QA Engineer - Al & Automation Testing Specialist
Clarivate AnalyticsSenior Principal Engineer - IT Quality & Assurance Testing
MercerTest Analyst
Infosys IndiaConsultant
Capgemini
Visual Studio Code

Eclipse

Git
.png)
Jenkins
Jira

HP ALM

Maven
Vivek Kumar
Global benefits management offers multinational organizations an effective way to manage insured employee benefits around the world. Global or regional arrangements offer visibility, control, cost savings and ensure consistency in governance, while delivering solutions that are based on local country needs.
Westpac Banking Corporation, Australia
Hi. This is Vivek Kumar. I have a total of 12 years of experience in automation functions and manual testing. Out of 12 years, I have 9 years of experience in early automation testing using various tools like Selenium with Java, WebDriver with TypeScript, and Cypress. And currently, I'm working with Mercer India Private Limited. My current role is to automate a web UI, which is developed in Angular JS. And for the same reason, we are using the Node JS-based framework, which is WebDriver IO using TypeScript. For CICD purposes, we are using Jenkins, and for code management purposes, we are using Git and GitHub. And for test management purposes, we are using Jira. Also, sorry. Also, for non-functional testing, like for performance testing, we are using JMeter. We are creating our scripts in JMeter and running those on Blazemeter, like on cloud.
Synchronization issues can be fixed with the help of the functionality provided by Selenium, which is explicit waits. We have two types of explicit waits. One is WebDriver wait, and the other one is Fluent wait. So using those waits, we can handle synchronization issues in WebDriver scripts. So, for implicit wait, we are putting an expected condition on a particular element. And for a Fluent wait, we are setting up a time to check for the element's visibility or presence of the element at regular intervals of time. So you can say we are using polling in Fluent waits.
Test data to a Selenium script can be provided, like, you know, through various ways. So if you're using the data-driven framework, then your data should come from any other external files. That would be any text file, Excel file, or maybe DB connection you can create. And, for further, if you are using a Cucumber based framework, then you can use test data directly into your feature files, by putting examples or scenario outlines. You can pass the test data.
Okay, so for that, we need to implement a page object, model design pattern so that we need to have minimal changes on the locator part of our applications. So that will make our framework as stable. And also, you need to implement some utilities. If there's some common utilities with respect to your application, you can implement those so that as your application grows, you can handle those changes efficiently.
If you have APIs in your project to be tested, we can implement a REST assured framework with Java to automate your API testing. So, like selenium in particular, there's nothing related to API testing. Selenium is only for web automation, but we can use the REST assured framework to test our RESTful APIs.
How to integrate performance testing within your Selenium test suite. Selenium is composed of four components, offering different performance testing and automation features for web browsers: Selenium Remote Control, Selenium Grid, and also JMeter and Selenium, which can be used together for load testing of a website. Selenium is used to perform load testing, and JMeter is used to measure performance testing. Once you measure how fast HTML pages take to load and also check JavaScript and CSS performance, you can use the graphical JMeter interface and some scripting to invoke Selenium code to do the testing.
Response code is a dot get. Response dot status code. What would you suggest to improve the check for the HTTP status code? Okay, so it should always return 200. So we can add another assertion or condition so that it doesn't return any other code than 200. So we can put the kind of health check status. Like, that is 200 only. I believe it should not return any other code than 2xx. So I think that we can check.
Considering such a human and given the user on the login page when the user enters a relationship, then the user should be redirected to the dashboard and see all that. But when the user clicks log out, then the user should be redirected to the login page. Okay. So I think in place of but we can use when again. The rest I feel is good.
Describe an optimal approach for creating a scalable and untenable test framework using Selenium and Jenkins. And describe an optimal approach for getting a scale and a minimal test framework using Selenium and Jenkins. Okay, so suppose we have created a two-cumber board framework in Selenium, and we want those tests to be run as soon as there's a deployment on our test environment. So, to automate that process, what we can do is suppose there is an upstream job which is deploying some code to your test environment. We'll make that job an upstream job, and then we'll create a Jenkins job, which is a test job. We'll mark that job as a downstream job. So, we will create a Jenkins script, which will identify once the deployment of the upstream job is successful, then trigger our test job automatically. So, in that job, we can add like we can configure that job in such a way so that you know in post-build actions, we get a report on our emails, and we get to know what is the result of our test which has executed. We can also configure it with the Git, GitHub in the Git section of Jenkins. Then, in the build section, we need to pass which file we want to execute. So, suppose if it is a framework using Maven or test NG, so we can invoke the dot XML file using Maven options in the build actions. And post-build action, we can configure how the reporting should be. So, and once that test is done, we need to configure who should receive the report or the status of execution.
How could you employ manual testing skill to complement your automation strategy when using it? How could you employ manual testing skills to complement your automation strategy when using it? Okay. So, I believe, like, manual flow of your application or manual testing, you need to have knowledge of that unless you won't be able to effectively complete your automation process. So, whenever you are creating any automation framework, you need to understand the manual flow of your application so that in your automation code as well, you can put that flexibility, and also, you can optimize your code with respect to the application flow. So suppose there's an end test case which you are validating, and for that, you already have created a test data. Okay? But that test data is in some other script. But you know that particular test data is, like, you know, applicable to the other test which you are testing. So, you need to separate the test data from your test cases so that common test data can be used at multiple scripts. So that kind of knowledge, you'll only get from manual testing skill.
Do you take to use Jenkins as part of BDD strategy with Selenium? What approach would you take to use Jenkins as part of BDD strategy? Jenkins' CI tool and BDD views in Cucumber. And we can have that, like, connection. Like, BDD can be connected to Jenkins using a framework only. I'm not sure about this.