Video Automation using Selenium and Cucumber Framework Sangeetha, Y.; Affroz, Shaik; Vardhan, Gudavalli Vishnu
2024 International Conference on Inventive Computation Technologies (ICICT),
2024-April-24
Conference Proceeding
The proposed "VIDEO AUTOMATION" project aims to automate the video player application using the Selenium webdriver and cucumber framework with Java programming language. The project eliminates the ...manual effort required to play and manage videos on a video player application by automating the process using two frameworks, Selenium WebDriver and Cucumber. The project involves designing and implementing an automation framework that will interact with the video player application, simulate user actions, and validate the results. The project uses Java programming language for writing the automation scripts, Selenium WebDriver for interacting with the video player application, and TestNG for test execution and reporting. For the Cucumber framework it uses Gerkin language for interacting with application. The proposed approach provides a reliable and efficient solution for automating the video player application, thus saving time and effort.
Modern web applications are complex and used for tasks of primary importance, so their quality must be guaranteed at the highest levels. For this reason, testing techniques (e.g., end-to-end) are ...required to validate the overall behavior of web applications. One of the most popular tools for testing web applications is Selenium WebDriver. Selenium WebDriver automates the browser to mimic real user actions on the web.While Selenium has made testing easier for many Teams worldwide, it still has its share of challenges. To better understand the challenges and the corresponding solutions adopted we decided to undertake a personal opinion survey from the industry (in total with 78 highly skilled participants) with a focus on the Selenium ecosystem.The results allow understanding which challenges are consid-ered more relevant by professionals in their daily practice and which are the techniques, approaches, and tools they adopt to face them. Therefore, this study is useful to (1) practitioners interested in understanding how to solve the problems they face every day and (2) researchers interested in proposing innovative solutions to problems having a solid industrial impact.
The use of VPS (Virtual Private Server) in Indonesia is still very expensive. The Chatbot application system is very important in the marketing field, especially for disseminating information ...directly and acceptable to many users at a time. This paper focused on using the WhatsApp application for the Chatbot system. This Chatbot system uses the Python programming language. The message Chatbot flow system will be sent first to the user. Then the Python program will read the incoming message to enter Chatbot. If the incoming message matches the existing conditions, the chatbot will send the information according to the condition. But if it doesn't match, Chatbot will continue to repeat the process of reading incoming messages. The Chatbot system is designed to run successfully on 15 contacts at a time. Chatbot server connection speed affects the speed of sending messages and checking every incoming message. Chatbot simulation program cannot read messages that enter the server if the message contains stickers, emojis and gifs. This is because Python program cannot read the message. This research can still be developed by adding a random message feature.
Flaky tests are a source of frustration and uncertainty for developers. In an educational environment, flaky tests can create doubts related to software behavior and student grades, especially when ...the grades depend on tests passing. NC State University's junior-level software engineering course models industrial practice through team-based development and testing of new features on a large electronic health record (EHR) system, iTrust2. Students are expected to maintain and supplement an extensive suite of UI tests using Selenium WebDriver. Team builds are run on the course's continuous integration (CI) infrastructure. Students report, and we confirm, that tests that pass on one build will inexplicably fail on the next, impacting productivity and confidence in code quality and the CI system. The goal of this work is to find and fix the sources of flaky tests in iTrust2. We analyze configurations of Selenium using different underlying web browsers and timeout strategies (waits) for both test stability and runtime performance. We also consider underlying hardware and operating systems. Our results show that HtmlUnit with Thread waits provides the lowest number of test failures and best runtime on poor-performing hardware. When given more resources (e.g., more memory and a faster CPU), Google Chrome with Angular waits is less flaky and faster than HtmlUnit, especially if the browser instance is not restarted between tests. The outcomes of this research are a more stable and substantially faster teaching application and a recommendation on how to configure Selenium for applications similar to iTrust2 that run in a CI environment.
This paper describes the proposed method for conducting regression testing of a demo project. The method demonstrates an effective approach to solving regression testing problems by combining ...change-based prioritization and automating test scripts in whole or in part. The proposed work uses modern automated testing utilities: Selenium WebDriver, Puppeteer and Playwright using the JavaScript programming language. Using automated testing utilities can significantly speed up the time of regression testing. Research methods are based on the development of scripts for the main functionality and end-to-end scripts of the demo project. A comparative analysis of the speed of the automated testing utilities has also been carried out.
End-to-end automated test scripts are a great way to ensure the quality of web applications, but are often perceived as expensive both during their initial development and subsequent maintenance ...activities. However, maintenance costs can be re-duced when test scripts adopt the Page Object (PO) pattern, a sort of web page facade exposing methods to the test scripts. In this work, we proposed ASSESSOR, a novel tool capable of reducing the effort needed for building PO-based Selenium WebDriver test suites. ASSESSOR allows to simply record the test cases, with only a few additional steps compared to Selenium IDE, and then to automatically generate PO-based WebDriver test suites. The in-depth evaluation performed with four web applications shows that ASSESSOR's adoption allows to reduce the development effort of PO-based web test scripts compared to the classic manual approach: 59% time reduction overall, corresponding to a 2.44 increment in productivity.
The modern software development mostly aims to reduce a development time. The product time to market must be fast for quick gathering feedback from the user. DevOps brings the continuous practice to ...improve software development process on both continuous integration and continuous delivery. In continuous processes, software testing is the most time-consuming part which significant for overall process especially graphic user interface or GUI. Several techniques can reduce GUI testing time such as a distributed testing which is help UI testing running in parallel on a distributed machine. By running distributed GUI testing initially without experience or knowledge from an expert lead to the un-optimized speed of running test or even the future problem such as an unpredictable number of worker, the bottleneck of the worker node. This paper has purpose the Atom-Task precondition technique, the technique for filtering the test before running the parallel testing process to optimize the testing time and avoiding worker bottleneck problem and also remain an ability to scale the worker process for desired testing time with predictable resource for large-scale testing in the distributed environment.
Web application development requires visual compatibility testing (VCT), which verifies if a web page is normally displayed on different types of browsers. In common development procedures, VCT is ...carried out manually. To reduce cost, VCT automation is one of the most important issues in the field of software development. Although a web page is a kind of electronic document, there have not been many papers focusing on VCT issues in the document analysis and recognition (DAR) field. We have developed a prototype tool to support web application testing. The tool offers two tests: a functional compatibility test (FCT) and a VCT. The FCT examines whether the same action (such as click, browse, or text edit) on a web page causes a compatible action on each browser, and the VCT examines whether the same page displays a similar view on each browser. To detect visual incompatibilities, our tool first extracts the document object model (DOM) structure of a target web page by parsing HTML and obtaining properties of each DOM element from the browsers using the Selenium WebDriver tool 1. The tool compares the relative position of the DOM elements on the web page and their contents. Our tool detects the differences in relative position of each DOM element and creates cliques of those whose relative positions are qualified as equal. The cliques show distortions in the document layout. Additionally, our tool identifies text images of each DOM element and compares the results between the browsers by looking for garbled characters. In fifteen URLs and four web browsers, we obtained 96% recall and 68% precision for text comparison, and 96% recall and 61% precision for detecting layout incompatibilities. A small pilot study shows that operation time of a web application testing task was reduced by almost 35% using our tool. This study indicates that our tool is effective in reducing the development cost of web applications.
Extending WebDriver: A Cloud Approach Garcia, Boni; Gallego, Micael; Santos, Carlos ...
2018 11th International Conference on the Quality of Information and Communications Technology (QUATIC)
Conference Proceeding
Functional testing of web and mobile applications consists on impersonating a user through some kind of GUI automation technology, being Selenium the most popular solution nowadays. This piece of ...research progresses in this area by proposing an advanced User Impersonation as a Service (UIaaS) based on cloud technologies. The proposed approach can be seen as a layered service, in which the top tier is a platform called ElasTest, a Software as a Service (SaaS) testing tool aimed to ease end-to-end testing of different kind of applications. The capability to impersonate user provided by ElasTest is built on the top of a Platform as a Service (PaaS) implemented by extending the W3C WebDriver recommendation with advance features to assess web and mobile applications. Finally, an Infrastructure as a Service (IaaS) layer is used as ground technology. This infrastructure has been implemented by leveraging open source lightweight container technologies such as Docker and Kubernetes.
The page object pattern is used in the context of web testing for abstracting the application's web pages in order to reduce the coupling between test cases and application under test. This paper ...reports on an industrial case study in a small Italian company (eXact learning solutions S.p.A.) investigating the potential benefits of adopting the page object pattern to improve the maintainability of Selenium WebDriver test cases. After a maintenance/evolution activity performed on the application under test, we compared two equivalent test suites, one built using the page object pattern and one without it. The results of our case study indicate a strong reduction in terms of time required (by a factor of about three) and number of modified LOCs (by a factor of about eight) to repair the test suite when the page object pattern is used.