Framework for Automation of Cloud-Application Testing using Selenium (FACTS)
Volume 5, Issue 1, Page No 226–232, 2020
Adv. Sci. Technol. Eng. Syst. J. 5(1), 226–232 (2020);
DOI: 10.25046/aj050129
Keywords: Test, Automation, Framework, Selenium
A framework is an amalgamation of integrated tools, libraries, utilities and its coordination to interact with the other automation components. The motive of designing a test automation framework is to implement uniform standards towards automation throughout the organization to achieve the desired outcomes. Test automation framework is required to maintain the standardization of the activities performed to manipulate the operations (addition, modification and deletion) on the test scripts and functions easily, to provide the scalability and reliability. Tools, process and testing team are the three key player of test automation. The proposed framework is based on the consideration of test environment (includes language binding, IDE, automation tools and testing framework). Selenium WebDriver is used as web application automation framework to execute test across multiple browsers that supports multiple operating system with variant programming language. Selection of WebDriver automation tool for this framework is due to their internal architecture to directly communicate with browser for fast execution. The combination of test automation tools (i.e. Java, Eclipse, Selenium and TestNG) makes JEST for designing test automation framework. Both Positive and negative test must be performed to verify functionalities of applications to handle unusual exceptions.
1. Introduction
Software testing is an evaluating as well as mitigating process, as it evaluates the functionalities of application to meet out the specific requirements of software product, at the same time it also identify the defects in product to mitigate the risk of software failure by find bugs and errors in the program.
“Framework for Automation of Cloud-application Testing using Selenium (FACTS)” is almost self-explanatory, though this paper may also explore the terminology explicitly. This paper may discuss about, why do we require test automation framework, how the software testing framework may organize the test automation, how do we select best appropriate software testing framework, what are the challenges being faced by the software automation team to design and deploy the test automation framework, what are the potential benefits of using software testing framework.
Why selenium for automation? Selenium is powerful open source tool for test automation framework independent of language binding & development platform that support functional testing across the browsers.
A framework is a combination of various forms of principles, guidelines, processes, concepts and tools etc. followed by testers to take advantage of it, to automate the application. Test automation framework decides the success or failure of any software automation project. Test automation is testing process of automating test with the help of automation tools to find out defects in the application. Test automation reduces test execution time and testing cost along with the less human interaction with the system. Test script has been used to execute test multiple times, when required. Test script must consider, what to automate or what not to be, like functionalities that are going to be change in near future or not, whether script is applicable for regression testing or not, whether test cases takes more time to execute/execute with errors or operated over huge amount of input data etc.
2. Test Automation Framework – An Understanding
Test automation framework is set of guidelines/rules followed while writing test script to generate test cases as per the requirement of test scenarios. A framework is an amalgamation of integrated tools, libraries, utilities and its coordination to interact with the other automation components to execute the test scripts and to capture the outcomes in systematic and beneficial manner to test a specific product. If a testing activity automated without having a test automation framework, it is obvious to raise the question that “how reliable the method would be? And how quickly they can produce the same output?”
The motive of designing a test automation framework is to implement uniform standards/policies towards automation throughout the organization to achieve the desired result. A test automation framework can be considered effective if the result of test automation is easily understandable to end user, otherwise executing high volume of test cases are of little or no use for end user. The automated test generated report must include the point where the application gets failure along with test data being used for automation.
2.1. Why do we require test automation framework?
Test automation framework is required to maintain the standardization of the activities performed to manipulate the operations (addition, modification and deletion) on the test scripts and functions easily, with the aim to provide the scalability and reliability. If a tester automate testing activities without considering a framework, it is obvious to ask how reliable the method would be. Can the tester re-generate the same result? An automation framework sort out all such problems by providing a standard guideline to leverage reusable components to attain the desired & reliable results rapidly. There are various factors for which an automation framework required [1].
- The Ease of use (Reusability of test script) to maintain the test script.
- To maintain reliability and consistency follow specific guidelines.
- To maintain scalability with changing requirement.
- To improve the efficiency of testing activities
- To provide easily understandable reports of automated results.
2.2. How do we select best appropriate test automation tool?
Selecting best appropriate tool for automation is one of the basic tasks for organization. The impact of selecting best automation tool may greatly affect the automation process which may provide sophistication in automation. While selecting tools for automation, certain conditions must keep in mind which makes sense for automation, like how frequently the repetitive test may occur, how often the regression testing is required etc. There are certain criteria to evaluate and select the automation tools [2] as mentioned below.
- Whether the tools fulfill the testing requirements. Is it compatible with project environment & technology that support objects in application?
- Which testing level and types does the tools support like (system, functional, performance) testing. Select tools which support maximum testing type with the ability to automate complex requirements.
- Whether the tools support all major browsers/OS or portable devices in which the application runs?
- Whether the estimated budget for purchasing automation tool affordable for organization?
- Whether the organization has skilled resources that can understand the language the tools support?
- Does the tool have powerful mechanism for graphical reporting?
While selecting a tool comprehensive understanding of its integration, reporting and ease of use with other automation tool must be executed. The standard automation testing framework should be application & tool independent & loosely coupled, it means that if the organization decides to migrate from one automation tool to other, it need not required to create a new test automation framework from scratch.
Figure 1: Components of Test Automation Framework
2.3. Components of test automation framework [3]
1) Environment to be tested: While designing a test automation framework all the test related tools, equipment, scripts and procedures must be verified and validated to ensure the system is stable to perform the desired task. This would be the first step towards the environment setup for the test automation. Until the test environment is not supposed to work accordingly the test automation may not be cost effective. Thus all the coordinating tools that support the environment must be stable and work together smoothly as a whole prior to start the test automation.
2) Validate supporting tools: While writing test scripts various supporting tools are required to organize the test. All such type of tools are properly investigated and independently monitored for expected contributory result as a unit, like test automation tool, bandwidth monitoring tools used for traffic management, other supporting tools such as requirement analysis, configuration management tools, test factory, defect tracking. A traffic monitoring and controlling activity of network is important to improve performance, efficiency and security of network resources. Network accommodates different kind of data traffic, identification of such traffic or congestion may lead the network administrator to optimize the network. Various types of network traffics are [4].
Table 1: Different Forms of Network Traffic
| Traffic Type | Problem | Solution | Example |
| Busty Traffic | Consume high bandwidth starve applications | Fix constraint to limited bandwidth access | Download of FTP, Video Content |
| Latency Sensitive Traffic | Susceptible to compete for bandwidth results in poor response time | Fix min. & max. bandwidth range based on priority | Streaming application, VOIP, Video Conferencing |
| Interactive Traffic | Susceptible to compete for bandwidth results in poor response time | Prioritize over less essential traffic | SSL transactions, IM, Telnet Session |
| Non-Real Time Traffic | Consumes bandwidth during business hours | Schedule bandwidth during non- business hours | Email, batch processing applications |
Configuration management tools are used to implement the changes (add, remove and update) occur during the test automation framework design to all associated system by implementing and enforcing to adopt such possible change. Test factory is an extensive use of test automation that minimizes the cost of testing and error rate along with supporting rapid scalability. Defect tracking is tracking the logged defects from beginning to end by testing, inspection or from customer feedback in a product with the aim to provide latest version of the product to fix the defect.
3) Drivers & Library: Different browsers require their own driver to communicate and control with the WebDriver. Some of the browsers are OS dependent but Firefox and Chrome are easily available across the platform. Download and unpack the drivers and add the location to you system PATH variable. The browser driver interacts with the respective browser by establishing a secure connection. While a test script is executed with WebDriver environment various activities performed in the background like:
- For every selenium command an HTTP request is generated to communicate with the browser driver.
- Drivers receive the HTTP request trough HTTP Server.
- HTTP Server decides the execution of instruction on the browser.
- As HTTP Server receives the execution status, it automates the script.
Browser automation library has been used to interact with other task required for automation. Library works as basic building block to establish a successful test environment to execute the test script by providing the required jar files, libraries, drivers and other supportive files.
Steps to add the Selenium Library to the project:
- Download & extract current release of Java Selenium
- Open the Eclipse IDE, go to the “ProjectàProperties”
- New dialog box open, Click on “ Java Build Path” in the left pan, the to the register “Libraries”
- Click on “Add External JARs” in the right pan.
- Move to selenium library downloaded folder to select all .jar files by clicking “Open” button.
- Repeat this for all .jar files in the sub folder libs as well.
Once the library is configured with the project it can be reusable with the different tests, such utilities can perform different tasks for different test cases.
4) Organize Framework: Selenium is automated testing framework for web applications. To organize the framework following major steps can be taken into consideration [5].
- Select Programming Language: Select appropriate programming language as per the need of application under test and the developer/tester going to use the framework to write tests?
- Select Unit Test Framework: To design a framework a unit test framework is required. TestNG Compatibility with JAVA is highly recommended as it eliminates the limitation of earlier framework with the ability to write more flexible and more powerful tests. Other features TestNG are: annotation, grouping, sequencing and parameterization etc.
- Design the Framework Architecture: The architecture of framework is designed in such a way that it can be easily maintainable, scalable and sustainable in nature.
- Build the SeleniumCore component: SeleniumCore is designed to communicate between the web elements and browsers instances, it is used to create and destroy WebDriver objects, since it is not being taken into consideration by test writers.
- Build SeleniumTest Component: SeleniumTest components are all those test cases going use the classes provided by SeleniumCore. The design pattern used is Page Object Model (POM). It means for every page in the web application their corresponding a Page Object for them to organize the UI element in the pages.
- Select a Reporting Mechanism: Unless we get useful insights from the test result to take meaningful corrective action, test automation is of no use. A good report must include details about number of pass or failed test cases, passing rate, execution time and reason why test cases failed.
5) Testing Team: Successful test automation depends on efficient testing tools, standard testing process and skilled testing team to execute assigned responsibilities. Tools, process and testing team are the three key player of test automation. Software testing team is mainly engaged for test automation to utilize dedicated automation testing resources. The test team ensures that the success of testing and automation effort based on the roles, duties and skill they provide.
- Manual Tester – Design and develop manual scenarios from requirement analysis.
- Automation Tester – Design and develop automation script.
- Lead Automator- Design and develop project automation architecture. Provide training and guidelines to testing team and collaborate to achieve the testing goal.
- Automation Environment Expert- Design, configure and update test environment and automation software.
Apart from the above role and responsibility testing team manages test platform, test tools, test cases and also provides tutorial to the users.
2.4. Characteristics of test automation framework
- If test automation framework is independent of Operating System, Programming language, tools and browsers, it would be considered as standard framework.
- The framework must be easily understandable without having programming skills.
- The framework must be easily maintainable and extendable.
- The Framework must execute test cases automatically, which includes test scenarios, test data, report generation, error handling and reporting final result.
- The framework must be able to execute tests without human intervention.
- Every test executed, must assign status of either Pass or Fail, failed test cases must include the failure data, the point of failure and other short description for failure.
- The framework should have meaningful logging and reporting structure.
2.5. Types of automation framework [6]
1) Linear Scripting Framework – This framework is also known as ‘Record and Playback’ framework as it generates the test scripts based on simulated record and playback method. It is not useful to run with multiple data set i.e. lack of reusability. This framework is suitable for small size applications. It works for individual test cases because it records the test script for particular scenarios.
2) Modular Testing Framework – In this framework, the complete application is divided into number of smaller modules and test script is generated individually. Finally the results of individual modules are compiled together by the master script to achieve the required target.
3) Keyword Driven Testing Framework – This framework is based on the keywords or actions for executing functions or methods. The test script is totally keyword/action dependent stored in tabular format in excel sheet, so it is also known as table-driven testing. The main class maintains the keywords and their corresponding action in the external table.
4) Data Driven Framework – Data Driven Test Automation framework is based on bifurcating the test data from test script. Test data is stored in separate files/format, test scripts connect and execute with different sets of test data. Due to having variant combination of test data set in separate table, this framework covers more test cases with flexibility in execution of test by changing input test data. This framework requires the programming skill to develop the test script.
5) Hybrid Driven Testing Framework – This framework is combination of two or more framework to leverage the strengths and benefits of each of the framework individually and to produce a better test environment overall.
6) Behavior Driven Development Testing Framework – The Purpose of using this framework is to share the process and tools and to communicate amongst stakeholders, with the aim to deliver quality product. BDD test cases are being written in simple language that can be easily understandable, which contains the details of how application behaves? BDD provides the platform for both technical and non-technical team to work together. A test case written in BDD follows the format ‘Given-When-Then’. Given a certain scenarios, When an action takes place, Then this should be the outcome.
3. Related Works
Selenium WebDriver is powerful tool for test automation that directly interacts with web browsers, it follows the page object pattern to access the web page to reuse the test script to write the test cases. The page object pattern is used to reduce the coupling between web pages and test cases, which improves test suite maintainability [7]. UI locators are used to locate the web elements (Text box, button, checkbox, etc.) on the web page. Different identifiers are used to locate the web elements like (ID, link, XPath, link Test etc.), ID Locators have better result than XPath Locator, Combination of ID locator or XPath Locator with Link Text have improved the result but still not conclusive [7].
WebDriver tool can be used to write test cases easily and efficiently, it can helpful to develop and analyze the test cases using screenshot property, at the same time it is easily maintainable, reusable and extendable with the new requirement. Since the selenium WebDriver does not support any built in mechanism to generate test report, for that purpose TestNG is used as a testing framework. TestNG is compatible to perform unit, functional and integration testing. The author has generated a customized test report to analyze the failure test cases using screenshot [8].
WebDriver is cross platform testing framework that provides dynamic characteristics of web page, it means page reload is not required, if page elements gets changed. Selenium WebDriver execute faster as it directly interacts, run and control browsers using own control engine [9]. Selenium WebDriver is not equipped with reporting mechanism, TestNG generate report on behalf of selenium result. Such report contains execution time, method and detailed status of test script of running test suite “Passed or Failed” [10].
Table 2: Comparisons of Automation tools
| Products &
Parameters |
Selenium | Katalon Studio | Test Complete | QTP/ UFT | Soap UI |
| Ease of Configuration & use | Advance skill required for configure & execution | Easy to configure & execute | Easy to configure. Training required for tool operation | Expertise require for configuration. Training required for tool operation | Easy to configure & execute |
| Licences required | Open Source & free to use, Free of Charge | No licence required. Not open source but free | Commercial tool, Licence required | Commercial, It is HP licenced product avail as single/Concurrent user | SoapUI is an open source. SoapUI Pro is the commercial.
|
| Service support | Expert or group professional support | User friendly interface | Community Volunteer support | HP professional support | SoapUI pro Customer get support from forum or wen form |
| Operating System Support | Ms Windows, Apple OS X, Linux, Solaris | Ms Windows7/8/10, Apple OS X, Linux | MS Windows10/8.1/8/7/ vista, Server16/12/8 | Only Windows
Windows7/8/8.1/XP/Vista/ 2003/2008 |
Ms Windows, Apple OS X, Linux |
| Scripting Language | Java, C#, Perl, PHP, Python, R, Ruby, JavaScript | Groovy, Java | JavaScript, C#, Python, VBScript, JScript | VB Script, Java Script, Window Shell Script | Groovy |
| Browser Support | Firefox, IE, Chrome, Safari, Opera, Phantoms, HtmlUnit, Android, iOS | IE9/10/11,Firefox,
Chrome, Opera, Safari, MS Edge, Remote, Headless Browser
|
MS Edge,IE10/11, Chrome, Firefox | IE(V6-V11), Firefox(V3-V31),Chrome(V12-35),Safari6/6.1/7 | SoapUI Default Browser |
| Device/Technology Support | Web apps | Web/API/Mobile/Desktop apps | Desktop, Web & Mobile apps | Web/API/Mobile/Desktop apps | API/Web apps |
| Testing Framework | RSpec (Ruby), Test::Unit (Ruby), Unittest (Python 2), JUnit 4 (Java), TestNG (Java), NUnit (C#) | Katalium Framework with TestNG | Application’s UI | Build-in Feature for framework, like Key-word driven, Data Driven, Hybrid | Application’s GUI |
| Type of test Performed | Functional Testing | Cross Browser Testing | Unit Testing, Functional Testing | Functional, Regression & Service Testing | Functional. Load & compliance Testing
|
| Initially launched | 2004 | 2015 | 1999 | 1998 | 2005 |
Comparisons of automation tools [11]
4. Framework Design for Automation of Cloud-Application Testing Using Selenium
Figure 2: Architecture of Proposed Framework (FACTS)
5. Proposed Work
The framework (FACTS), we have designed is based on the consideration of test environment (includes language binding, IDE, automation tools and testing framework), types of Application under Test (AUT) with the compatibility of web browsers. The architecture of the proposed framework (Figure 2) includes following tools, functions, method and libraries etc.
- Programming Language # Java
- IDE #Eclipse
- Automation Tool # Selenium WebDriver
- Framework # TestNG
- Test Script
- Page Object /Web Element
- Function Libraries
- Browser Driver
- @Test Methods
- Test Data
The proposed framework may utilize the following tools, functions, method and libraries for designing automation framework:
- Programming Language #Java: Why Java is selected for this test automation framework? Java is a programming language which supports multiple operating systems. It is platform independent language, support Object Oriented features. Other important characteristics are simple, robust, Secure, Multithreading, distributed, portable to use and free of cost availability, open source and licence free.
- IDE #Eclipse: Eclipse is an Integrated Development Environment (IDE) tool most widely used to develop applications in Java and other programming languages like C, C++, Perl, PHP, Python, Groovy, Ruby, R etc. Eclipse development environment is customizable as per the workspace and plug-in required. It is free to download and install.
- Automation Tool #Selenium WebDriver: Selenium is widely accepted open source test automation tool to test web-applications. Selenium WebDriver API is easy to explore and understand which support tester to easily read and maintain the test. Selenium WebDriver is web application automation framework that execute test across multiple browser, supports multiple operating system, support different programming language also. WebDriver executes faster due to their internal architecture to directly communicate with browser. When we execute a selenium command, an HTTP request created to communicate with particular browser driver, the browser driver then uses HTTP services to get HTTP requests, to establish the selenium command. Since WebDriver does not provide any build in facility to automatically generate Test result, we have incorporated TestNG as test reporting tool.
- Framework #TestNG: TestNG evolved as a testing framework to overcome the shortcomings of Junit and NUnit. It is an open source used for test automation framework. Where NG stand for Next Generation. According to some survey 76% tester uses Java programming along with TestNG framework. TestNG also provides an option to execute failed test cases only, it creates a file named testing-failed.xml for failed test cases in output folder. If the tester is interested to see only failed test cases they can execute this .xml file. There are various features due to which TestNG is in demand:
- TestNG covers a broad range of test at different levels started from unit testing to system testing.
- It supports annotations to create test cases easily.
- It introduces ‘test groups’ to group test cases with prioritization, if required.
- It supports parameterization and parallel test execution, it also execute multiple programs/classes using .xml.
The combination of test automation tools used for proposed framework has gained immense popularity among test automation tools as language, IDE and framework. The combination of the tools (i.e. Java, Eclipse, Selenium and TestNG) makes JEST for design and develop test automation framework.
- Test Script: Test script is set of instructions execute to test the system functions on the application under test for expected results. Test script mainly includes detailed descriptions of actions with required data to perform test. Test script follows the sequence to explore how to use the program and the order in which it is being utilized/executed, by pressing which button to carry out particular action in the program along with the stepwise expected results to observer the change in UI. Test script has a drawback with project which changes their requirement frequently, so the testers have to continuously update the script to fulfill the requirements. Since the test script is designed to test a particular task frequently, if bugs occur in the code the result would be same every time until the tester change the conditions.
Page Object /WebElement: A Page object is an object oriented class through which AUT interface the web page. It plays a key role to identify the element on the web page, at the same time it reduces the code duplication by enhancing the mechanism of test maintenance. Whenever a test needs to communicate with UI of the page they use only methods of page object class. In case the UI of the page gets changed, only test script within the page object needs to be change. All possible user interactions can be used as a method on the class, ex. clickLoginButton ();
setCredentials (user_name, Password);
Selenium encapsulates elements on the page as an object of WebElement. WebDriver uses various techniques to identify the element on the webpage based on the its properties like ID, Name, Class, XPath, TagName, CSS Selectors, Link Text etc. WebDriver uses method like findElement() to find single web element and returns WebElement object. The method findElement () uses various locators like By.id (), By.name (), By.XPath () etc. to locate the element on the page by its properties.
Ex. WebElementemail_id=driver.findElement (By.id (“User_Name”)); // to get the web element for email address text field.
Selenium WebDriver uses findElement(By.Locator()) method to find the element on the page. Here findElement method uses locator/object as ‘By’ identifier.
- Function Libraries: One of the major purposes of designing a framework is its reusability, if any functionality is used frequently, such function can be written at one place and called multiple times for other test case. It is known as generic function. User defined functions are created based on their own requirement used with help of calling the appropriate package file. Function libraries are used to maintain the logic which is being used to write automation test scripts and called with their name. Methods are also known as functions.
- Browser Driver: Selenium WebDriver is web Automation tools that help to run the test across multiple browsers like FireFox, IE or Chrome. Corresponding browser driver is required to run the test in particular browser. Selenium launches corresponding browser as per the script to execute test steps. To initialize WebDriver we can write code as :
WebDriver driver = new FireFoxDriver(); // where WebDriver works as interface and driver is reference variable for interface. Object can be associated with the instance of class FireFoxDriver//
When we execute a selenium command (driver.getTitle();) an HTTP request will be created to communicate with particular browser driver, the browser driver then uses HTTP service to get HTTP requests to establish the selenium command. All the built-in methods of corresponding drivers can only be accessible after configuring the driver.
- @Test Methods: Why do we use @ annotation before writing test method. Annotations in selenium are used to bind the associated method going to execute. Test annotation @ always used before every method, if this test annotation ‘@’ is not prefixed before the test method, that method would not be considered as part of test code to be executed. @Test indicates that the annotated method is a part of test case serves as the main method [12]. Some other annotations used with TestNG are:
@BeforeSuite: This method will execute once before all tests in this suite have run.
@BeforeTest: This method will execute before any test method belonging to the classes inside the <test> tag is run.
@BeforeClass: This method will execute only once before the first test method in the current class is invoked.
@BeforeMethod: This method will execute before each test method.
@AfterMethod: This method will execute after each test method.
@AfterClass: This method will execute only once after all the test methods in the current class have executed.
@AfterTest: This method will execute after all the test methods belonging to the classes inside the <test> tag have executed.
@AfterSuite: This method will execute only once after all tests in this suite have executed.
- Test Data: Test data is actual input used to test the application. Test data would be used for positive or negative testing. Positive data is used to verify the functionality of application to meet the expected results. Negative data is used to test the ability of program to handle unusual, exceptional or unexpected input with its corresponding outcome [13].
6. Conclusion
In-depth planning, process and efforts are expected while design and develop a test automation framework. Selecting right automation tools plays a pivotal role to accomplish the automation task. Selenium WebDriver has been used to test web application end-to-end. WebDriver is flexible to integrate with variant development environment, tools (test, reporting and automation), OS, browsers and methods to design a test automation framework. Various types of test automation frameworks are available to design and develop test automation. The proposed framework (FACTS) is designed to work with Data Driven Framework as well as Hybrid Driven Testing Framework. A Standard automation tool is expected to execute its integration with other automation tools and reporting mechanism. Positive and negative test must be performed to verify the functionalities of application and to check the ability of program to handle unusual exceptions respectively.
- “A Guide To Automation Frameworks |Smartsheet” . Smartsheet, 2019, https://www.Swmartsheet.com/test-automation -frameworks-software.
- Kunal, and Mohammad Saad. “Test Automation Tool Selection Criteria And Comparison Matrix (A Complete Guide)”. Softwaretestinghelp.Com, 2019, https://www. Softwaretestinghelp.com/automation-testing-tutorial-4/.
- Genius, Software. “Six Major Components of A Test Automation Framework – Software Testing Genius”. Software Testing Genius, 2019, https://www.softwaretestinggenius. com/six-major-components-of-a-test-automation-framework/.
- “Network Traffic Management | Ipv6.Com”. Ipv6.Com, 2019, https://www.ipv6.com/applications/network-traffic-management/.
- Com, 2019, https://www.logigear.com/blog/test-automation/ building-a-selenium-framework-from-a-to-z/.
- “Types Of Test Automation Frameworks | Software Testing Material”. Software Testing Material, 2019, https://www. softwaretestingmaterial.com/types-test-automation-frameworks/.
- Leotta, Maurizio et al. “Comparing The Maintainability Of Selenium Webdriver Test Suites Employing Different Locators: A Case Study”. ACM, 2013, doi:http://dx.doi.org/10.1145/2489280.2489284.
- Gojare, Satish et al. “Analysis And Design Of Selenium Webdriver Automation Testing Framework”. Procedia Computer Science, Vol 50, 2015, pp. 341-346. Elsevier BV, doi:10.1016/j.procs.2015.04.038.
- K, Revathi, and Janani V. “Selenium Test Automation Framework in On-Line Based Application -IJARSE”. International Journal of Advance Research In Science And Engineering, Vol. No.4, no. Special Issue (02) ISSN-2319-8354(E), 2015, pp. 55-63.
- Singla, Sherry, and Harpreet Kaur. “Selenium Keyword Driven Automation Testing Framework “. International Journal Of Advanced Research In Computer Science And Software Engineering, Volume 4, Issue 6, 2014, pp. 125-129.
- Nurul, Md., and S.M.K. Quadri. “Software Testing Approach for Cloud Applications (STACA) – Methodology, Techniques & Tools.” 2019 9th International Conference on Cloud Computing, Data Science & Engineering (Confluence), Jan. 2019, 10.1109/confluence.2019.8776915.
- “Selenium WebDriver Tutorial | TestNG For Test Case Management And Report Generation | Edureka”. Edureka, 2019, https://www.edureka.co/ blog/selenium-webdriver-tutorial.
- “Test Data Generation: What Is, How To, Example, Tools”. Guru99.Com,2019,https://www.guru99.com/ software -testing-test-data.htm
- Robinson Lawrance, Nishith Kumar Reddy Gorla, "System-Level Test Case Design for Field Reliability Alignment in Complex Products", Advances in Science, Technology and Engineering Systems Journal, vol. 10, no. 6, pp. 55–64, 2025. doi: 10.25046/aj100605
- Giwa Abdulgafar Babatunde, Ewetumo Theophilus, Ojo Joseph. Sunday, Adedayo Kayode David, Owolabi Gbenga Ayodele, "Development of a GSM-RC Automated Device for Measuring Mobile Communication Signal Strength and Meteorological Parameters", Advances in Science, Technology and Engineering Systems Journal, vol. 9, no. 1, pp. 149–164, 2024. doi: 10.25046/aj090115
- Mohammed Mahfuz Hossain, Thomas Ortmeyer, Everett Hall, "Human-Centered Design, Development, and Evaluation of an Interface for a Microgrid Controller", Advances in Science, Technology and Engineering Systems Journal, vol. 8, no. 3, pp. 80–88, 2023. doi: 10.25046/aj080310
- Víctor Manuel Bátiz Beltrán, Ramón Zatarain Cabada, María Lucía Barrón Estrada, Héctor Manuel Cárdenas López, Hugo Jair Escalante, "A Multiplatform Application for Automatic Recognition of Personality Traits in Learning Environments", Advances in Science, Technology and Engineering Systems Journal, vol. 8, no. 2, pp. 30–37, 2023. doi: 10.25046/aj080204
- Jhoys Alinson Delgado Delgado, José Sulla-Torres, "Redesign and Improvement in the Management of the Raw Material Inventory Control Process with Oracle APEX", Advances in Science, Technology and Engineering Systems Journal, vol. 7, no. 6, pp. 103–113, 2022. doi: 10.25046/aj070611
- Hiroaki Hanai, Akira Mishima, Atsuyuki Miura, Toshiki Hirogaki, Eiichi Aoyama, "Realization of Skillful Musical Saw Bowing by Industrial Collaborative Humanoid Robot", Advances in Science, Technology and Engineering Systems Journal, vol. 7, no. 5, pp. 1–9, 2022. doi: 10.25046/aj070501
- Boris Kontsevoi, Sergei Terekhov, "TETRA™ Techniques to Assess and Manage the Software Technical Debt", Advances in Science, Technology and Engineering Systems Journal, vol. 6, no. 5, pp. 303–309, 2021. doi: 10.25046/aj060534
- Osaretin Eboya, Julia Binti Juremi, "iDRP Framework: An Intelligent Malware Exploration Framework for Big Data and Internet of Things (IoT) Ecosystem", Advances in Science, Technology and Engineering Systems Journal, vol. 6, no. 5, pp. 185–202, 2021. doi: 10.25046/aj060521
- Abdulkarim Saleh Masoud Ali, Rozmie Razif Othman, Yasmin Mohd Yacob, Haitham Saleh Ali Ben Abdelmula, "An Efficient Combinatorial Input Output-Based Using Adaptive Firefly Algorithm with Elitism Relations Testing", Advances in Science, Technology and Engineering Systems Journal, vol. 6, no. 4, pp. 223–232, 2021. doi: 10.25046/aj060426
- Rotimi Adediran Ibitomi, Tefo Gordan Sekgweleo, Tiko Iyamu, "Decision Support System for Testing and Evaluating Software in Organizations", Advances in Science, Technology and Engineering Systems Journal, vol. 6, no. 3, pp. 303–310, 2021. doi: 10.25046/aj060334
- Doaa Ahmed Sayed, Sherine Rady, Mostafa Aref, "Optimized Multi-Core Parallel Tracking for Big Data Streaming Applications", Advances in Science, Technology and Engineering Systems Journal, vol. 6, no. 3, pp. 286–295, 2021. doi: 10.25046/aj060332
- Yanshuo Wang, Jim (Jinming) Yang, Ngandu M. Mbiye, "Effectiveness and Suitability of the Automotive EHPS Software Reliability and Testing", Advances in Science, Technology and Engineering Systems Journal, vol. 6, no. 3, pp. 205–212, 2021. doi: 10.25046/aj060323
- Hyeongjoo Kim, Sunyong Byun, "Designing and Applying a Moral Turing Test", Advances in Science, Technology and Engineering Systems Journal, vol. 6, no. 2, pp. 93–98, 2021. doi: 10.25046/aj060212
- Isman Khazi, Andras Kovacs, Ulrich Mescheder, Ali Zahedi, Bahman Azarhoushang, "Fusion of Optical and Microfabricated Eddy-Current Sensors for the Non-Destructive Detection of Grinding Burn", Advances in Science, Technology and Engineering Systems Journal, vol. 6, no. 1, pp. 1414–1421, 2021. doi: 10.25046/aj0601160
- Diena Rauda Ramdania, Dian Sa’adillah Maylawati, Yana Aditia Gerhana, Novian Anggis Suwastika, Muhammad Ali Ramdhani, "Octalysis Audit to Analyze gamification on Kahoot!", Advances in Science, Technology and Engineering Systems Journal, vol. 6, no. 1, pp. 457–463, 2021. doi: 10.25046/aj060149
- Minkyung Kim, Kangseok Kim, Jai-Hoon Kim, "Analysis of Real-time Blockchain Considering Service Level Agreement (SLA)", Advances in Science, Technology and Engineering Systems Journal, vol. 6, no. 1, pp. 218–223, 2021. doi: 10.25046/aj060124
- Chinedu Wilfred Okonkwo, Magda Huisman, Estelle Taylor, "A Framework for Adoption and Diffusion of Mobile Applications in Africa", Advances in Science, Technology and Engineering Systems Journal, vol. 5, no. 6, pp. 1577–1592, 2020. doi: 10.25046/aj0506189
- Seth Alornyo, Mustapha Adamu Mohammed, Francis Botchey, Collinson Colin M. Agbesi, "Mobile Money Wallet Attack Resistance using ID-based Signcryption Cryptosystem with Equality Test", Advances in Science, Technology and Engineering Systems Journal, vol. 5, no. 6, pp. 988–994, 2020. doi: 10.25046/aj0506118
- Nagaraj Vannal, Saroja V Siddamal, "Design and Implementation of DFT Technique to Verify LBIST at RTL Level", Advances in Science, Technology and Engineering Systems Journal, vol. 5, no. 6, pp. 937–943, 2020. doi: 10.25046/aj0506111
- Arooba Shahoor, Rida Shaukat, Sumaira Sultan Minhas, Hina Awan, Kashif Saghar, "SharpniZer: A C# Static Code Analysis Tool for Mission Critical Systems", Advances in Science, Technology and Engineering Systems Journal, vol. 5, no. 6, pp. 561–570, 2020. doi: 10.25046/aj050668
- Rafael Mellado-Silva, Antonio Faúndez-Ugalde, María Blanco-Lobos, "Effective Learning of Tax Regulations using Different Chatbot Techniques", Advances in Science, Technology and Engineering Systems Journal, vol. 5, no. 6, pp. 439–446, 2020. doi: 10.25046/aj050652
- Meriyem Chergui, Aziza Chakir, "IT GRC Smart Adviser: Process Driven Architecture Applying an Integrated Framework", Advances in Science, Technology and Engineering Systems Journal, vol. 5, no. 6, pp. 247–255, 2020. doi: 10.25046/aj050629
- Hoang Anh Dung, Nguyen Manh Cuong, Nguyen Phan Kien, "Multi-Directional Light Sensing Using A Rotating Sensor", Advances in Science, Technology and Engineering Systems Journal, vol. 5, no. 6, pp. 221–227, 2020. doi: 10.25046/aj050626
- Marika Fanesi, David Scaradozzi, "Advanced Control Strategies on Nonlinear Testbench Dynamometer System for Simulating the Fuel Consumption", Advances in Science, Technology and Engineering Systems Journal, vol. 5, no. 5, pp. 1172–1183, 2020. doi: 10.25046/aj0505142
- Sattar Othman Hasan, Sevan Siyyah Abdullah, "Path Loss Estimation for Some Korek-Telecom Sites Operating at (1.8) GHz and (2.1) GHz for Urban and Suburban Area in Erbil City", Advances in Science, Technology and Engineering Systems Journal, vol. 5, no. 5, pp. 869–875, 2020. doi: 10.25046/aj0505106
- Basavaraj Rabakavi, Saroja V Siddamal, "Design and Implementation of Quad-Site Testing on FPGA Platform", Advances in Science, Technology and Engineering Systems Journal, vol. 5, no. 5, pp. 789–798, 2020. doi: 10.25046/aj050596
- Kofi Osei-Tutu, Yeong-Tae Song, "Enterprise Architecture Institutionalization for Health Information Exchange (HIE) Cloud Migration", Advances in Science, Technology and Engineering Systems Journal, vol. 5, no. 5, pp. 680–691, 2020. doi: 10.25046/aj050584
- Sultana Parween, Syed Zeeshan Hussain, "A Review on Cross-Layer Design Approach in WSN by Different Techniques", Advances in Science, Technology and Engineering Systems Journal, vol. 5, no. 4, pp. 741–754, 2020. doi: 10.25046/aj050488
- Marco Bindi, Igor Aizenberg, Riccardo Belardi, Francesco Grasso, Antonio Luchetta, Stefano Manetti, Maria Cristina Piccirilli, "Neural Network-Based Fault Diagnosis of Joints in High Voltage Electrical Lines", Advances in Science, Technology and Engineering Systems Journal, vol. 5, no. 4, pp. 488–498, 2020. doi: 10.25046/aj050458
- Kartono Kartono, Purwanto Purwanto, Suripin Suripin, "Analysis of Local Rainfall Characteristics as a Mitigation Strategy for Hydrometeorology Disaster in Rain-fed Reservoirs Area", Advances in Science, Technology and Engineering Systems Journal, vol. 5, no. 3, pp. 299–305, 2020. doi: 10.25046/aj050339
- Noraziah Adzhar, Yuhani Yusof, Muhammad Azrin Ahmad, "A Review on Autonomous Mobile Robot Path Planning Algorithms", Advances in Science, Technology and Engineering Systems Journal, vol. 5, no. 3, pp. 236–240, 2020. doi: 10.25046/aj050330
- Arif Furkan Mendi, Tolga Erol, Emre Şafak, "Generating a Blockchain Smart Contract Application Framework", Advances in Science, Technology and Engineering Systems Journal, vol. 5, no. 3, pp. 191–197, 2020. doi: 10.25046/aj050325
- Arthur James Swart, Pierre Eduard Hertzog, "Promoting Continuous Professional Development Among Academics from A Vocational College by Using A Practical Workshop Based on Arduino Technology", Advances in Science, Technology and Engineering Systems Journal, vol. 5, no. 2, pp. 452–459, 2020. doi: 10.25046/aj050258
- Fatuev Victor, Mishin Anton, "System of Sequential D-Optimal Identification for Dynamic Objects in Real-Time Scale", Advances in Science, Technology and Engineering Systems Journal, vol. 5, no. 2, pp. 211–214, 2020. doi: 10.25046/aj050227
- Altamashuddinkhan Nadimalla, Siti Aliyyah Masjuki, Siti Asmahani Saad, Ean Lee Woen, Siti Maisarah Ali, Naseer Ulla, "The Impact of Manufactured Sand (M-Sand) as Partially and Fully Replacement of Fine Aggregate in Concrete", Advances in Science, Technology and Engineering Systems Journal, vol. 5, no. 1, pp. 302–306, 2020. doi: 10.25046/aj050138
- Dessislava Petrova-Antonova, Denitsa Manova, Sylvia Ilieva, "Testing Web Service Compositions: Approaches, Methodology and Automation", Advances in Science, Technology and Engineering Systems Journal, vol. 5, no. 1, pp. 159–168, 2020. doi: 10.25046/aj050121
- Anh Son Tran, Ha Quang Thinh Ngo, "Constrained Path Planning for Both Smooth Motion Profile and Stable Control", Advances in Science, Technology and Engineering Systems Journal, vol. 5, no. 1, pp. 93–99, 2020. doi: 10.25046/aj050112
- Issar Arab, Bouchaib Falah, Kenneth Magel, "SCMS: Tool for Assessing a Novel Taxonomy of Complexity Metrics for any Java Project at the Class and Method Levels based on Statement Level Metrics", Advances in Science, Technology and Engineering Systems Journal, vol. 4, no. 6, pp. 220–228, 2019. doi: 10.25046/aj040629
- Rahardhita Widyatra Sudibyo, Nobuo Funabiki, Minoru Kuribayashi, Kwenga Ismael Munene, Md. Manowarul Islam, Wen-Chung Kao, "A Proposal of TCP Fairness Control Method for Two-Host Concurrent Communications in Elastic WLAN System Using Raspberry Pi Access-Point", Advances in Science, Technology and Engineering Systems Journal, vol. 4, no. 6, pp. 10–18, 2019. doi: 10.25046/aj040602
- Renato Mio, Midori Sanchez, Quino Valverde, José Lara, Francisco Rumiche, "Mechanical Testing Methods for Body-Powered Upper-Limb Prostheses: A Case Study", Advances in Science, Technology and Engineering Systems Journal, vol. 4, no. 5, pp. 61–68, 2019. doi: 10.25046/aj040508
- Ha Quang Thinh Ngo, Thanh Phuong Nguyen, Hung Nguyen, "The Fusing Framework Between Lifting Carrier and Tractor-Trailer for Modern Transportation", Advances in Science, Technology and Engineering Systems Journal, vol. 4, no. 4, pp. 522–528, 2019. doi: 10.25046/aj040463
- Andrea Daly, Dean Richardson, Sean Thorpe, "An Investigative Study on Technology Impact on the Quality of Working Life in a University Healthcare and Pharmacy", Advances in Science, Technology and Engineering Systems Journal, vol. 4, no. 4, pp. 503–508, 2019. doi: 10.25046/aj040460
- Thaise Poerschke Damo, Leandro Buss Becker, Fabio Paulo Basso, "Model-Driven Engineering Infrastructure and Tool Support for Petrochemical Industry Automation", Advances in Science, Technology and Engineering Systems Journal, vol. 4, no. 4, pp. 174–187, 2019. doi: 10.25046/aj040422
- Yasuyuki Matsuura, Hiroki Takada, "Comparison of Electrogastrograms in Seated and Supine Positions Using Wayland Algorithm", Advances in Science, Technology and Engineering Systems Journal, vol. 4, no. 4, pp. 42–46, 2019. doi: 10.25046/aj040405
- Charles Okechukwu Aronu, Godwin Emeka Nworuh, "Permutation Methods for Chow Test Analysis an Alternative for Detecting Structural Break in Linear Models", Advances in Science, Technology and Engineering Systems Journal, vol. 4, no. 4, pp. 12–20, 2019. doi: 10.25046/aj040402
- Binwei Wu, Lu Ge, Jie Zeng, Xiangyun Zheng, Youxi Tang, Xin Su, "An Innovative EPC Architecture based on Not Only Stack for beyond 5G Mobile Networks", Advances in Science, Technology and Engineering Systems Journal, vol. 4, no. 2, pp. 319–332, 2019. doi: 10.25046/aj040241
- Ahmed Mohammed Alghamdi, Fathy Elbouraey Eassa, "Parallel Hybrid Testing Tool for Applications Developed by Using MPI + OpenACC Dual-Programming Model", Advances in Science, Technology and Engineering Systems Journal, vol. 4, no. 2, pp. 203–210, 2019. doi: 10.25046/aj040227
- Muhammad Aizat Bin Abu Bakar, Abu Hassan Bin Abdullah, Fathinul Syahir Bin Ahmad Sa’ad, "Development of Application Specific Electronic Nose for Monitoring the Atmospheric Hazards in Confined Space", Advances in Science, Technology and Engineering Systems Journal, vol. 4, no. 1, pp. 200–216, 2019. doi: 10.25046/aj040120
- Daniel M. Lofaro, Magdalena Bugajska, Donald Sofge, "Extending the Life of Legacy Robots: MDS-Ach via x-Ach", Advances in Science, Technology and Engineering Systems Journal, vol. 4, no. 1, pp. 50–72, 2019. doi: 10.25046/aj040107
- Kristóf Csorba, Ádám Budai, "cv4sensorhub – A Multi-Domain Framework for Semi-Automatic Image Processing", Advances in Science, Technology and Engineering Systems Journal, vol. 3, no. 6, pp. 159–164, 2018. doi: 10.25046/aj030620
- Linda William, Za’Aba Bin Abdul Rahim, Robert de Souza, Eko Nugroho, Rio Fredericco, "Extendable Board Game to Facilitate Learning in Supply Chain Management", Advances in Science, Technology and Engineering Systems Journal, vol. 3, no. 4, pp. 99–111, 2018. doi: 10.25046/aj030411
- Mohammad Hossain, Sameer Abufardeh, Sumeet Kumar, "Frameworks for Performing on Cloud Automated Software Testing Using Swarm Intelligence Algorithm: Brief Survey", Advances in Science, Technology and Engineering Systems Journal, vol. 3, no. 2, pp. 252–256, 2018. doi: 10.25046/aj030229
- Sougata Sheet, Anupam Ghosh, Sudhindu Bikash Mandal, "Cancer Mediating Genes Recognition using Multilayer Perceptron Model- An Application on Human Leukemia", Advances in Science, Technology and Engineering Systems Journal, vol. 3, no. 2, pp. 8–20, 2018. doi: 10.25046/aj030202
- Nicola Fabiano, "The Internet of Things ecosystem: the blockchain and data protection issues", Advances in Science, Technology and Engineering Systems Journal, vol. 3, no. 2, pp. 1–7, 2018. doi: 10.25046/aj030201
- Veit Bayer, Stephanie Kunath, Roland Niemeier, Jurgen Horwege, "Signal-Based Metamodels for Predictive Reliability Analysis and Virtual Testing", Advances in Science, Technology and Engineering Systems Journal, vol. 3, no. 1, pp. 342–347, 2018. doi: 10.25046/aj030141
- Shadi MS. Harb, William R. Eisenstadt, "Impact of Crosstalk on Signal Integrity of TSVs in 3D Integrated Circuits", Advances in Science, Technology and Engineering Systems Journal, vol. 3, no. 1, pp. 109–114, 2018. doi: 10.25046/aj030113
- Ibrahim Alagoz, Thomas Hoiss, Reinhard German, "Improving System Reliability Assessment of Safety-Critical Systems using Machine Learning Optimization Techniques", Advances in Science, Technology and Engineering Systems Journal, vol. 3, no. 1, pp. 49–65, 2018. doi: 10.25046/aj030107
- Ei Ei Mon, Nobuo Funabiki, Ryota Kusaka, Khin Khin Zaw, Wen-Chung Kao, "A Test Code Generation Method for Coding Standard Input/Output with Exception Handling in Java Programming Learning Assistant System", Advances in Science, Technology and Engineering Systems Journal, vol. 3, no. 1, pp. 30–37, 2018. doi: 10.25046/aj030105
- Okafor Chinedum Vincent, "Application of Computational Fluid Dynamics Model in High-Rise Building Wind Analysis-A Case Study", Advances in Science, Technology and Engineering Systems Journal, vol. 2, no. 4, pp. 197–203, 2017. doi: 10.25046/aj020426
- Frank Müller, Bernd Bertsche, "Planning an Availability Demonstration Test with Consideration of Confidence Level", Advances in Science, Technology and Engineering Systems Journal, vol. 2, no. 3, pp. 1565–1576, 2017. doi: 10.25046/aj0203195
- Shadi MS. Harb, William R. Eisenstadt, "On-Chip Testing Schemes of Through-Silicon-Vias (TSVs) in 3D Stacked ICs", Advances in Science, Technology and Engineering Systems Journal, vol. 2, no. 3, pp. 1260–1265, 2017. doi: 10.25046/aj0203159
- Dadabhau Baban Karanjule, Sunil Sukhdeo Bhamare, Thota Hanumant Rao, "Effect of Cold Drawing Pass Schedule on Mechanical Properties and Microstructure of ST 52 during Cold Drawing of Seamless Tubes and its Influence on Springback", Advances in Science, Technology and Engineering Systems Journal, vol. 2, no. 3, pp. 1202–1210, 2017. doi: 10.25046/aj0203152
- Markus Hubert, Simon Kutter, Marco Ziegler, Michael Schneider, Joerg Franke, "Rotary Cutting of Electrical Steel Laminations – A Contrast to Traditional Stamping", Advances in Science, Technology and Engineering Systems Journal, vol. 2, no. 3, pp. 1107–1113, 2017. doi: 10.25046/aj0203140
- Hamilton da Gama Schroder Filho, José Pissolato Filho, Vinicius Luciano Moreli, "The Search for a Convergent Option to Deploy Smart Grids on IoT Scenario", Advances in Science, Technology and Engineering Systems Journal, vol. 2, no. 3, pp. 569–577, 2017. doi: 10.25046/aj020373
- Fabian Bustamante, Walter Fuertes, Paul Diaz, Theofilos Toulqueridis, "Methodology for Management of Information Security in Industrial Control Systems: A Proof of Concept aligned with Enterprise Objectives.", Advances in Science, Technology and Engineering Systems Journal, vol. 2, no. 3, pp. 88–99, 2017. doi: 10.25046/aj020313
- Mohamed Faraj EL Megrahi, "Implementation Of Carlson Survey Software2009 In Survey Works And Comparison With CDS Software", Advances in Science, Technology and Engineering Systems Journal, vol. 2, no. 2, pp. 11–18, 2017. doi: 10.25046/aj020203
- Muhammad Tanveer Riaz, Eman Manzoor Ahmed, Fariha Durrani, Muhammad Asim Mond, "Wireless Android Based Home Automation System", Advances in Science, Technology and Engineering Systems Journal, vol. 2, no. 1, pp. 234–239, 2017. doi: 10.25046/aj020128
- Jesús Morán, Bibiano Rivas, Claudio de la Riva, Javier Tuya, Ismael Caballero, Manuel Serrano, "Configuration/Infrastructure-aware testing of MapReduce programs", Advances in Science, Technology and Engineering Systems Journal, vol. 2, no. 1, pp. 90–96, 2017. doi: 10.25046/aj020111
- Ateeq Ur Rauf, Muhammad Salman Rafi, Irshad Ali, Uzair Wali Muhammad, "Temperature Trend Detection in Upper Indus Basin by Using Mann-Kendall Test", Advances in Science, Technology and Engineering Systems Journal, vol. 1, no. 4, pp. 5–13, 2016. doi: 10.25046/aj010402