Answers for "tell me about your framework"

0

tell me about your framework

I am using JAVA as a programming language.
My testing framework is combination of tools 
Maven-Selenium-Junit-Cucumber-TestNG
My framework created as a maven project, 
I use Maven as a built automation tool which 
has pom.xml file that allows us to manage 
dependencies and plugins easily.
Selenium WebDriver is a library/tool/API 
which is used to automate the browser.
TestNG used to group tests using xml files,
do soft and hard assertions, create test 
methods, run in certain order. 
Junit ,I use cucumber with junit, to run 
tests and also to do assertions.  
Annotations are used in hooks and runner class. 
Cucumber  is a tool for running automated tests 
written in a behavior driven development style. 
My framework support both Behavioral 
Driven and Data Driven Developments.
For Unit Testing, BDD I achieve by using 
Cucumber with Gherkin language and
DDD by using Scenario Outline with Examples 
in my feature files or Apache POI to read the 
data from external sources.
I use Maven as project build tool, in pom.xml 
file I manage framework dependencies and plugins:
Dependencies selenium-java, WebDriver manager,
cucumber-java, cucumber- Junit
Plugins: Runner/FailedTestRunner, apache maven, 
maven -cucumber reporting, cucumber html reporting

I use Page Object Model to simplify managing and 
maintaining our framework for myself and my team.
POM Design Pattern allows me to locate web elements 
only once, in their respective classes.
So that, if there are any problems with any web elements, 
I know exactly where to go and how to fix it.
We created Singleton design pattern to allow our 
framework to pass the Exact same instance of our driver 
in the same runtime. 
(one session: when you click run, selenium creates 
one session. the session will end when the driver stops.)
1. I created a configuration.properties 
I keep important test data such as: URL, Browser, credentials
so that we can reach them from one place to avoid hardcoding 
2. I have a Pages Package where I identify and store 
web elements variables and methods for each page of my application.
*I also use PageFactory pattern to instantiate 
my web elements by using @FindBy
3. I trigger my framework from my Runner Class.
Runner classes that helps to generate code from Feature file.
*Runner class allows me to run different types of testing 
suites that I created with my tags, such as smoke, 
regression, mini-regression.
4. I have a resources folder with Feature Files 
where I store my tests with scenarios or scenario outline. 
*All feature files are written in Gherkin Language 
and when we run the runner class with dryRun as true 
it creates all the test steps.
5. I have a STEP DEFINITIONS package which 
I implemented the actual code in the classes 
so they are separated from the rest of the framework 
6. Under step definitions I also have Hook Class 
there which contain before and after annotations 
to run code before(set up browser, maximize the window) 
and after my tests (close the browser).
7. I also have Utilities packages where 
I keep all my reusable methods and driver class 
such as Browser Utilities, ConfigurationReader, 
Driver class with singleton pattern, Application Utils, TestBase class
8. In Target folder - I have html report and rerun.txt file
and it stores my failed features files, and 
I have Failed Test Runner class which will rerun 
my failed classes. I also have excel folder where 
I store excel files with testing data and 
I have excel util in my utilities folder 
with reusable methods to read and write in excel file. 
As I mention all my feature files are written 
in Gherkin language which helps non-technical 
people to have clear understanding.
We are using JDBC library for Database testing 
and Rest Assured for API testing. 
I use Git for version control and Jenkins for 
continuous integration, as well as Jira with 
X-ray for management and defect tracking tool.
- I have different types of reports. But mainly 
I use "maven-cucumber-reporting" 
Also our framework supports Data Driving Testing 
for external data resources like excel, 
csv files, apache poi, scenario outline. 
Our framework also generates cucumber html and json 
format reports with steps from feature files.
Posted by: Guest on June-01-2021
0

tell me about your framework

--> Tell me about your framework? 
    -> Java
    -> Selenium
    -> Maven -> pom.xml -> dependencies
    -> Singleton design pattern
    -> Page object model design pattern
    -> Cucumber to make our framework BDD (Behavior Driven)
    -> Gherkin language in feature files
    -> Data driven framework
        -> We can read data from configuration.properties
        -> We can read data from feature files
        -> We can read data from excel sheets
 
 - feature file 
   - Feature. scenario + scenario outline + Gherkin lang.
- step-definition - for test script(codeing part)
   - for front-end testing
       - Selenium webDriver + Junit 
   - for backEnd testing:
       - JDBC for dataBase testing
       - Rest-Assured for API testing
  -Hooks -- class 
     - to store your before + after method
     -   - Screenshot with @after - when it is failed only
- Runner 
   - cukes runner class 
     - the class is empty
     - we use 2 annotations -- @RunWith
- cofiguration.properties file
    - store important data sush as : URL, Browser, credentials
- Also we used ConfigurationReader class to be able 
to read our test data from cofiguration.properties
- ConfigurationReader stored under utile package
Posted by: Guest on June-01-2021

Code answers related to "tell me about your framework"

Browse Popular Code Answers by Language