FINAL REVIEW - Merged
FINAL REVIEW - Merged
MANAGEMENT APPLICATIONS
(Done at “OPENTEXT”)
of
Bachelor of Technology
in
by
MAY- 2023
i
MAJOR DESIGN EXPERIENCE INFORMATION
ii
DECLARATION BY THE STUDENT
I certify that,
a. the project report submitted by me is original and authentic and has been done at
“OpenText” under the guidance of “I S Praveen Kumar, Senior Manager” from
“OpenText” and “Dr. K. Jeya Prakash, Associate Professor”, ECE Department
during a period from 22-12-2022 to 22-06-2023. The work has not been submitted to any
other Institute for any degree or diploma.
b. I have followed the guidelines provided by the department and “OpenText” in preparing
the report. I have conformed to the norms and guidelines given in the Ethical Code of
Conduct of the University.
c. Whenever I have used materials (data, theoretical analysis, figures, and text) from other
sources, I have given due credit to them by citing them in the text of the report and giving
their details in the references. Further, I have taken permission from the “Company”,
whenever necessary.
The matter presented in this project report has not been submitted by us for the award
of any other degree elsewhere and it is submitted by us on partial fulfillment of the
requirements for the award of the Bachelor of Technology in Electronics &
Communication Engineering to the Department of Electronics & Communication
Engineering, Kalasalingam Academy of Research and Education (Deemed to be University)
Tamilnadu.
Project Final Review Viva-voce held on 28/04/2023.
Signature of Candidate(s)
Gonuguntla Vandana (9919005322)
This is to certify that the above statement made by the candidate is correct to the best
of my knowledge.
Signature of Supervisor(s)
Date: Dr. K. Jeya Prakash
Associate Professor
iii
ACKNOWLEDGEMENT
We thank all the teaching and non-teaching faculty of ECE department for their help
to complete this project work. We are also grateful to all my family members, friends and all
others who have aided at various occasions. Their views and tips are useful indeed.
Unfortunately, it is not possible to list all of them in this limited space.
iv
ABSTRACT
v
TABLE OF CONTENTS
DECLARATION iii
ACKNOWLEDGEMENT iv
ABSTRACT v
TABLE OF CONTENTS vi
1 INTRODUCTION
1.1 INTRODUCTION 1-3
2 PROJECTS
2.1 HISTORY PANEL INCONSISTENCY IN RUNTIME 5-6
3 AUTOMATION
3.1 AUTOMATION 8
CHAPTER SUMMARY 20
vi
LIST OF FIGURES
vii
LIST OF ABBREVIATIONS
QA - Quality assurance
OT - Open text
UI - User Interface
CI - Continuous Integration
CD - Continuous Delivery
viii
CHAPTER 1
INTRODUCTION
Many companies use AppWorks platform for the management of their businesses and
information or their daily reports of trades. There would be processed when a user initiates a
task, this process is made easier through the implementation of AppWorks in their daily
needs. This AppWorks by OpenText provides us with easier application management and
flexibility of usage of applications.
With less IT involvement, AppWorks automates business processes, enables better decision
making and improves user experiences. It creates new opportunities to re-engineer processes
around customer, employee, and partner needs, deliver seamless digital experiences and adapt
to changing market expectations while improving operational efficiency and managing risk.
There are many features and benefits of using this AppWorks platform that are listed below as
follows:
Features
➢ Low-code development:
1
➢ Intelligent automation:
With OpenText AppWorks, it is simple to define, optimize, and automate recurring business
processes, while also integrating with RPA tools and incorporating rules within the processes
to standardize operational decisions and guarantee consistent execution.
➢ Flexible deployment:
OpenText AppWorks offers flexible deployment options, allowing businesses to run it on-
premises or deploy it on the cloud for enhanced agility, simplified deployment and updates,
and faster access to new capabilities.
Benefits
2
➢ Deliver streamlined, intuitive user experiences:
OpenText AppWorks enables businesses to create smart, content-rich applications that are
tailored to the changing needs of modern work environments, allowing them to provide a
dynamic and relevant customer experience.
3
Fig 1.3: Building Blocks in Appworks
Research Goal
4
CHAPTER – 2
PROJECTS
5
Fig 2.2: Maximized panel view of History Panel
6
2. Form Building block.
Observed result:
• The tooltip is not visible for the dropdown input.
• The tooltip is not visible for the read only text property.
Expected result:
• The tooltip should be visible for the enumerated text property in the dropdown if
we hover the mouse on it.
• The tooltip should be visible if the enumerated property is read only.
7
CHAPTER – 3
AUTOMATION
Automation testing is a software testing technique that utilizes automated tools and
scripts to conduct tests on software applications or systems. The process involves using
pre-written test scripts and software to automate tedious and time-consuming testing tasks,
thus reducing the overall testing effort and time. Automation testing is widely used in
software development and testing processes, particularly in agile and continuous delivery
environments, where frequent software code changes and updates require swift testing
cycles. Automation testing offers various advantages, including improved test accuracy,
increased testing speed, better test coverage, and reduced testing costs. However, it requires
significant upfront investment in tools, infrastructure, and expertise, and may not be
suitable for all types of testing scenarios. Therefore, it's important to carefully select
appropriate tools, test cases, and overall testing strategies before embarking on automation
testing.
In automation testing, test cases are written using programming languages and
automated testing tools like Selenium, Appium, TestComplete, and many others. These
tools help to automate the repetitive and time-consuming tasks, which are difficult or
impossible to perform manually. By automating these tasks, testers can focus on more
complex and critical scenarios that require human judgment.
Automation testing can be applied to various types of testing, including functional testing,
regression testing, performance testing, and many others. It also supports continuous
integration and continuous delivery (CI/CD) by automating the testing process and
integrating it into the development pipeline.
Overall, automation testing has become an essential part of the software development
life cycle (SDLC), helping to improve the quality and reliability of software products while
reducing costs and time-to-market.
8
1. History Panel
CODE:
package com.opentext.forms;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import com.google.common.collect.Table;
import com.opentext.accelerators.ApplicationFactory;
import com.opentext.accelerators.AssertionUtilities;
import com.opentext.accelerators.Base;
import com.opentext.accelerators.ReusableMethods;
import com.opentext.accelerators.WaitUtilities;
import com.opentext.accelerators.WaitUtilities.WaitDuration;
import com.opentext.objectrepository.entity.LayoutBBElements;
import com.opentext.objectrepository.entity.ListCardviewRuntimeElements;
import com.opentext.objectrepository.processexperience.ListBBPEElements;
import com.opentext.objectrepository.processexperience.PECommonFunctionElements;
import com.opentext.objectrepository.processexperience.PEFormElements;
import com.opentext.objectrepository.processexperience.PEHistoryElements;
import com.opentext.objectrepository.processexperience.PEListsElements;
import com.opentext.objectrepository.processexperience.PEResultsElements;
import
com.opentext.objectrepository.processexperience.PEFormElements.PEFormTypes;
import
com.opentext.objectrepository.processexperience.PEFormElements.ToManyRelActionBt
ns;
import
com.opentext.objectrepository.processexperience.PEResultsElements.PEResultMenuButt
ons;
import com.opentext.workflow.processexperience.PECommonFunctions;
import com.opentext.workflow.processexperience.PEForm;
import com.opentext.workflow.processexperience.PELists;
import com.opentext.workflow.processexperience.PEResults;
9
@BeforeClass
public void Setup() {
ApplicationFactory.launchPE2();
PECommonFunctions.selectHomePageLayout("Home Page");
WaitUtilities.wdWaitVisibility(PEFormElements.peLogo, WaitDuration.MINWAIT);
WaitUtilities.returnPageLoadStatus(PEFormElements.peLogo,
WaitDuration.MINWAIT);
PECommonFunctions.selectEntityToCreateInstance("TaskLineTemplate");
}
@Test(priority = 0)
public void SendDataToInputName() {
ReusableMethods.customSleep(2);
PEForm.setInputTextInTextFields("Name","V", PEFormTypes.CREATE);
ReusableMethods.clickElement(LayoutBBElements.btnCreateInstance);
ReusableMethods.clickElement(PEFormElements.nameinRGC());
ReusableMethods.clickElement(PEFormElements.toOnePickerDisplay);
ReusableMethods.clickElement(ListBBPEElements.getToOneBrowseButton());
// clicks on browser btn
ReusableMethods.customSleep(1);
ReusableMethods.clickElement(PEFormElements.clickRadiobtninList);
AssertionUtilities.assertElementPresence(By.xpath("(//div[@class='au-target radio-off
grid-select-column'])[1]]"), false, "Radio button is selected");
ReusableMethods.customSleep(1);
ReusableMethods.clickElement(PEFormElements.btnSelect);
ReusableMethods.clickElement( ListCardviewRuntimeElements.BtnCreateInstance);
PECommonFunctions.selectHomePageLayout("Home Page");
PELists.selectWorkList("In lists and results","AllTemplateTasksToPersons");
ReusableMethods.customSleep(1);
ReusableMethods.clickElement(PEResultsElements.headerCheckBoxOff);
ReusableMethods.clickElement(PEResultsElements.otResultActions);
PECommonFunctions.selectDropdownOption("Display name", "v2");
ReusableMethods.clickElement(PEFormElements.okButton);
ReusableMethods.clickElement(PEResultsElements.headerCheckBoxOn);
}
@AfterClass
public void cleanUp() {
10
PECommonFunctions.selectHomePageLayout("Home Page");
PELists.selectWorkList("In lists and results","AllTemplateTasksToPersons");
ReusableMethods.customSleep(1);
ReusableMethods.clickElement(PEResultsElements.headerCheckBoxOff);
ReusableMethods.clickElement(PEFormElements.deletebtn);
ReusableMethods.clickElement(PEFormElements.deleteConfirmation);
}
OUTPUT:
11
2. Modify Assignee
CODE:
package com.opentext.forms;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import com.google.common.collect.Table;
import com.opentext.accelerators.ApplicationFactory;
import com.opentext.accelerators.AssertionUtilities;
import com.opentext.accelerators.Base;
import com.opentext.accelerators.ReusableMethods;
import com.opentext.accelerators.WaitUtilities;
import com.opentext.accelerators.WaitUtilities.WaitDuration;
import com.opentext.objectrepository.entity.LayoutBBElements;
import com.opentext.objectrepository.entity.ListCardviewRuntimeElements;
import com.opentext.objectrepository.processexperience.ListBBPEElements;
imporcom.opentext.objectrepository.processexperience.PECommonFunctionEleme
nts;
import com.opentext.objectrepository.processexperience.PEFormElements;
import com.opentext.objectrepository.processexperience.PEHistoryElements;
import com.opentext.objectrepository.processexperience.PEListsElements;
import com.opentext.objectrepository.processexperience.PEResultsElements;
importcom.opentext.objectrepository.processexperience.PEFormElements.PEForm
Types;
importcom.opentext.objectrepository.processexperience.PEFormElements.ToMany
RelActionBtns;
importcom.opentext.objectrepository.processexperience.PEResultsElements.PERes
ultMenuButtons;
import com.opentext.workflow.processexperience.PECommonFunctions;
import com.opentext.workflow.processexperience.PEForm;
import com.opentext.workflow.processexperience.PELists;
import com.opentext.workflow.processexperience.PEResults;
@BeforeClass
public void Setup() {
ApplicationFactory.launchPE2();
PECommonFunctions.selectHomePageLayout("Home Page");
12
WaitUtilities.wdWaitVisibility(PEFormElements.peLogo,
WaitDuration.MINWAIT);
WaitUtilities.returnPageLoadStatus(PEFormElements.peLogo,
WaitDuration.MINWAIT);
PECommonFunctions.selectEntityToCreateInstance("TaskLineTemplate");
}
@Test(priority = 0)
public void SendDataToInputName() {
ReusableMethods.customSleep(2);
PEForm.setInputTextInTextFields("Name","V", PEFormTypes.CREATE);
ReusableMethods.clickElement(LayoutBBElements.btnCreateInstance);
ReusableMethods.clickElement(PEFormElements.nameinRGC());
ReusableMethods.clickElement(PEFormElements.toOnePickerDisplay);
ReusableMethods.clickElement(ListBBPEElements.getToOneBrowseButton());
// clicks on browser btn
ReusableMethods.customSleep(1);
ReusableMethods.clickElement(PEFormElements.clickRadiobtninList);
AssertionUtilities.assertElementPresence(By.xpath("(//div[@class='au-target radio-
off grid-select-column'])[1]]"), false, "Radio button is selected");
Assert.assertTrue(ReusableMethods.isElementDisplayed(PEFormElements.clickRa
diobtninList),"v is slected in the list");
ReusableMethods.customSleep(1);
ReusableMethods.clickElement(PEFormElements.btnSelect);
ReusableMethods.clickElement(
ListCardviewRuntimeElements.BtnCreateInstance);
PECommonFunctions.selectHomePageLayout("Home Page");
PELists.selectWorkList("In lists and results","AllTemplateTasksToPersons");
ReusableMethods.customSleep(1);
ReusableMethods.clickElement(PEResultsElements.headerCheckBoxOff);
ReusableMethods.clickElement(PEResultsElements.otResultActions);
@AfterClass
public void cleanUp() {
PECommonFunctions.selectHomePageLayout("Home Page");
PELists.selectWorkList("In lists and results","AllTemplateTasksToPersons");
ReusableMethods.customSleep(1);
13
ReusableMethods.clickElement(PEResultsElements.headerCheckBoxOff);
ReusableMethods.clickElement(PEFormElements.deletebtn);
ReusableMethods.clickElement(PEFormElements.deleteConfirmation);
}
OUTPUT:
14
CHAPTER - 4
INTRODUCTION:
There are various types of validations depending on the context, but some of the most
common types include:
1. Data Validation: This type of validation ensures that the data entered into a system
or application is accurate, complete, and consistent. It can include checks for data type,
format, range, and consistency.
2. Form Validation: This type of validation ensures that all required fields in a form
are completed, and the data entered is valid. It can include checks for formatting, data
type, and required fields.
15
3. Process Validation: This type of validation ensures that a specific process or
procedure is operating correctly and producing consistent results. It can include checks
for process inputs, outputs, and performance.
4. Software Validation: This type of validation ensures that software meets its
intended use, is safe, and effective for its intended purpose. It can include checks for
functionality, usability, performance, and security.
5. System Validation: This type of validation ensures that a system meets its design
and functional specifications and is suitable for use in its intended environment. It can
include checks for hardware, software, and network components.
6. User Validation: This type of validation ensures that users have the appropriate
permissions and access to perform their tasks within a system or application. It can
include checks for user roles, access controls, and security permissions.
Overall, the type of validation required will depend on the context and purpose of the
system, software, or process being validated.
2. Improved data accuracy: Validation ensures that data entered into a system or
application is correct, complete, and within acceptable limits, which leads to
improved data accuracy.
3. Enhanced security: Input validation can prevent malicious data from being entered
into an application, which can help enhance security and prevent security breaches.
16
4. Better user experience: Form validation can improve the user experience by ensuring
that forms are completed correctly and that all required fields are filled in.
5. Improved efficiency: Logic validation can help identify and fix errors in an
application's logic, which can improve efficiency and reduce the need for manual
error correction.
6. Cost savings: Validating data, inputs, and forms can help reduce errors and prevent
costly mistakes, which can save time and money in the long run.
Browser Validation
17
Tablet Validation
Mobile Validation
18
Result and Discussion
19
Chapter Summary
20
PRIVATE AND CONFIDENTIAL
16 February 2023
Re: Gonuguntla Vandana
This letter will confirm that Gonuguntla Vandana is a Full Time Intern of Open Text Technologies India Pvt Ltd from 22
December 2022 to present.
To verify the information above, please feel free to contact Human Resources Shared Services at [email protected].
Sincerely yours,
Christine Loh
VP, HR Operations
www.opentext.com - [email protected]
Unless otherwise noted, this message is confidential or privileged, and is intended for the exclusive use of the addressee. Any other person is strictly
prohibited from disclosing or reproducing it. If the addressee cannot be reached or is unknown to you, please inform the sender by return mail.
Page 1 of 1