Company & Copyright
[huge_it_videogallery id=”2″]
[huge_it_videogallery id=”1″]
Thinksys Inc. is an actively fast growing IT company, providing a gamut of
outsourcing software testing services since its inception in 2012. We deliver au
courant solutions for any type of manual/ automated software testing, committed
testing teams, Google Analytics, Software Development, UI Designing, Cloud
Computing, QA and QC support. Because of its qualitative, agile, cost-effective and
fail-safe test solutions, Thinsys Inc. entices many clientele from across the globe for
IT solutions. . In such a short span we have delivered great work in complicated
frameworks. It has served a global clientele ensuring the quality of their web, mobile
and desktop applications across multiple industry verticals. For ultimate testing
solutions, it requires special tools, methodologies, skills, knowledge, experience and
peculiar talent.
The company’s team of more than 150 professional testers put mobile, web and
desktop applications under software tests on real devices. The company’s specialists
perfectly combine theoretical knowledge, gained through conferences and seminars
around the globe, with practical skills to assure the project outcome to be integrated
and comprehensive.We design & deliver definite solutions that leverage deep
industry-specific understanding with technology-specific competencies & unique
testing-focused assets.
Copyright:
This documentation and the software it describes is the proprietary and copyrighted
intellectual property of Thinksys Inc.
Overview
Krypton is a next generation software test automation with a top notch frame meant
to improve application quality and reduce uncertain intrusion by hackers and other
erroneous elements. This guide outlines how to setup a working installation of
Krypton including the installation of any dependencies and prerequisites. It is a
unitary tool for Web Applications Testing, Mobile Testing and A/B Testing. Krypton
is apt for software test professionals, developers and professionals concerned with
quality assurance to simply and quickly write a test to cover a web application, a web
page, or a single bug to prevent regression.
Salient Features:
Krypton is a feature-rich test automation system designed to make test automation as
easy as possible. Supports multiple projects and users at a given point of time. Some
Powerful Object Manager
One of the most important tasks in test automation is keeping the test scripts current
with changes in the application. With the adoption of agile methodologies, the need
to be able to adjust the test scripts to account for refactoring is more important than
ever. Krypton’s powerful object manager ensures that changes in the application can
be handled without any script rewrites.
Multiple Data Driven Testing
Data driven testing is an automated testing technique in which test case data is
separated from test case logic. Each set of test case data consists of input values and a
set of expected output values. The actual output values are compared to the expected
output values to determine whether the test passed. You can perform data-driven
testing either using an MS-Excel spreadsheet as the data source or a relational
database. Keyword-driven testing is a very powerful tool helping developers and
testers to do more automated testing earlier in the testing cycle. It further aids in
managing, editing and maintaining these tests over a period of time.
Keyword Driven Testing
Krypton keyword-driven testing tools take automating your testing efforts to a whole
new level of efficiency and effectiveness. Our powerful tools let you do in minutes
what would otherwise take hours or days of time-consuming scripting, by helping
you visualize your entire test process and aiding test design like never before.
Automated Reporting
With each test run, Krypton consequently generates a report detailing the steps of the
test, the data values used and the outcome of each step. Its reporting engine
automatically send Email notifications. And the best part is it’s customize feature
which defines many parameters related to Email notifications. Email notification
allows you to send a status mail when a test finishes. The default email template
contains the test name, description, repeat options, test status and last run time, but
you can also customize the content of the status email.
Integration with Automation and Test Management Tools
To manage the requirements and issue tracking processes and to ensure adequate test
coverage, Krypton comes with Test Management Tools integration. That way one can
maintain all requirements, test cases and defects in a single place. Also, it supports
multiple web browsers: Internet Explorer, Firefox, Safari, Chrome, etc.
Checkpoints:
You can insert Checkpoints for conditional checks at any point of the testing process.
The object properties checkpoint feature e allows conditional checks for various
properties of an associated object.
Popup Handling AKA Parallel Recovery Handling
Krypton handles the unexpected exceptions or pop up models that show up during
refreshing or navigating to another page and restrict the current workflow.
Variable Support:
Variable support lets you run the same test repeatedly while automatically
substituting different values for the selected variables without having to make any
changes to the test. Two different types of variables are supported:
System variables: These are pre-defined variables like date, clipboard, etc.
User variables: These are variables that you can define as needed.
Log Reports
Log reports can be seen in the Results folder. Here one can see the XML reports that
display the status information of tests, run suites and workflows. Each XML report is
generated with each build and contains information for easier workflow.
Cross Browser Testing
A powerful, state-of-the-art feature that gets you to market even faster. Record a test
just once easily and quickly. Then run the test across multiple browsers: IE, Chrome
and Firefox.
Knowledge Capture-Centralized Repository
The Centralized Server maintains a repository of all tests and provides a platform
from which tests can easily be shared and monitored. The server administrator can
govern client attributes like creating tests, uploading tests, downloading tests,
deleting tests.
Pre-requisites
This section outlines how to prepare your system for Krypton installation and the
minimum hardware and software requirements to run it. For IE browser if only issues
occur during execution then it is recommend to setup all security settings at same
level. Also, it is recommended to remove any previous versions of it, if present.
Requirement Minimum Specification
Processor Intel® or AMD® x86 or x64 compatible processor
Memory 1 GB, 2 GB recommended
Disk Space 500 MB
Display XGA (1024 x 768)
Operating Systems Microsoft Windows XP Professional
Service Packs Windows Vista SP1
Web Browser Internet Explorer 8.0+
Other Components .NET Framework 4.0
Installation and Setup
Quick Start guide enables you to quickly configure and run your test cases. One
sample test case is already provided with installation package. Everything is pre-
configured for the sample test cases.
Steps:
Ensure all pre-requisites, download Krypton and run setup file and follow steps.
By default Krypton will be installed under C:\.
Sample Test cases and its Object Repository is already provided under
TestCases and ObjectRepository folder respectively under Krypton folder.
Run the executable file placed at bin folder for execution of sample test cases
After execution results will be uploaded at Results folder under Krypton folder
How to write new Test Cases and configure the setting for execution
Create new Test case spreadsheet same format as of SampleTest case under
TestCases folder.
Write reusable test case in Common.xlsx file if any in same format placed under
TestCases folder.
Identify the objects and create new objects in ObjectRepository.xlsx file in same
format placed at ObjectRepository folder.
Mention test case id and Configure parameters.ini file accordingly and run
Krypton.exe
Exploring Krypton Folder
The main Krypton folder will contain several sub folders and files each having its
own unique identity. Let us go through the folder contents each by each.
Object Repository
First and foremost is the Object Repository folder consisting of sample spreadsheets
containing all the objects and all the information related to them. The object
repository sheet within the Object_Repository folder should contain all object
definitions used in test cases which are identified at run time. An Object Repository
allows a tester to store the objects definitions and it also acts as an interface between
the test script and the AUT in order to identify the objects during test case executions.
It contains of the following columns:
Parent: It refers to the name of the parent web page.
Test_Object: It has the references to the objects on the web page.
Logical_Name: It describes the test object.
Locale: This contains the language option in which the website under test
procedure is to be displayed.
Object_Type: It describes the type of the object. e.g. Checkbox.ject
How: this indicated how an object would be searched for on a web page.
What: It describes the objects on basis of which selenium identifies the object.
Comments: It contains the comments related to the objects on a web page.
Mapping: It matches the logical name of the object with the internal attribute.
Test_Case Folder
This folder consists of test case sheets in the format .xls or .xlsx containing the test
cases for execution. The sheet column are described below:
Keyword: This field is for defining the submodules of a test case.
Test_Scenario: It provides a general description related to test case execution.
Test_Case_Id: It has the unique ID allotted to each test case.
Comments: It has the step by step description of the test scenario.
Parent: This refers to the name of the web page.
Test_Object: It is the reference to the object on a web page.
Step_Action: It consists of built in functions that determine the actions to be
performed on objects.
Data: It has the test data used in the test cases.
Iteration: It refers to the number of times a test case is to be executed.
Options: It contains certain keywords like Optional {optional}, Ignore Case
{ignorecase}, Partial Match {partmatch}, Ignore Space {ignorespace}, Ignore
{ignore}, Skip {skip}, etc.
Test_Data Folder
The test_data sheet should include the required input data for test case execution.
Also, the Iterations method can be used to execute a test case multiple times with
different data. The Test Data sheet may include more than one sheet depending on
test case requirements.
DbTestData: This basically tests the values retrieved from the database which are
further sent for execution.
ErrorLog: This folder consists of log files of errors occuring during the execution.
Reusables
This folder consists of spreadsheets bearing multiple test case ids. Each id represents
a wrapped up series of test cases for each action. When a particular test case id is
called during execution, all step actions are executed.
The columns description is stated below:
test_scenario: It provides a general description related to the execution of a test
case.
Test_Case_Id: It has the unique ID allotted to each test case.
Comments: It has the step by step description of the test scenario.
Parent: This refers to the name of the web page.
Test_Object: It is the reference to the object on a web page.
Step_Action: It consists of built in functions the determine the actions to be
performed on objects.
Data: It has the test data used in the test cases.
Iteration: It refers to the number of times a test case is to be executed.
Similarly, for each project, a reusable file can be created. For e.g. following is a
screenshot of Thinksys Reusable file.
Parallel Recovery:
This folder includes different scenarios that would come into play at the time of an
unexpected exception or pop-up. That means, whenever a test step executes (like
refreshing or navigating to another page), it verifies from the recovery files whether
that particular object (any pop-up, modal, etc.) has been identified on the screen or
not (mentioned objects in the recovery files), if it finds, then it will automatically
perform the defined actions against it. Recovery is basically of two types. First is
Recovering from Popups (e.g. Untimely and instant discount/ offer popups from
online shopping websites like Flipkart). Second is the Recovery from Browser which
is required to be handled to resume the ongoing work.
FFProfile:
Firefox saves user preferred information such as caches, passwords, certificate, etc. in
a set of files called profile, which is stored in a separate location from the Firefox
program files. User can have multiple Firefox profiles, each containing a separate set
of information. User can use these saved profiles while executing the test cases, in
order to execute the re-usable existing profiles. Apart from this, users have an option
whether to use the existing profiles or would like to create a profile
Krypton Grid
It is the distributed network of multiple test cases which can be worked upon by
multiple virtual machines and on different browsers. It helps in easier distribution of
work, faster results and completion of a project at rapid pace.
TestSuite
It contains group or series of test cases which come in handy when the same are to be
used time and again. It defines those group of test cases which are either implemented
in each web page of the software or are frequently needed to be executed.
Parameters.ini
After preparing Test Cases and Object Repository, Now need to specify few
parameters in parameters.ini. This file consists of all general parameters which are
required to be reset/ altered as per usage. It also contains the parameters related to
email activation/ deactivation/ notifying ways, etc. Major parameters:
Browser (by default: Firefox)
TestCaseId (by default : SampleTest Case Ids)
Environment (by default : Production)
TestCaseTimeOutInMinutes (by default : 30 min)
EmailNotification (by default : false)
Results
After finishing the execution, user can see the results uploaded at Results folder. User
can analyse the results by opening any one of the html files.
Krypton Keywords
Keyword Description Parent Test
Browser Operations
1. openbrowser
2. clearbrowser
cache
3. closebrowser Closes the running
4. closeallbrow
sers
5. refreshbrows
er
Navigational Keywords
1. navigateurl
2. goforward Used to Go to the
3. goback Used to Go Back to
Web Form Operations
1. clear Used to Clear the text
2. enterdata
3. enteruniqued
ata
4. click Used to Click on a
5. check Used to Check the
6. uncheck Used to Uncheck the
7. selectitem
8. selectmultipl
eitems
9. selectitembyi
ndex
Wait Keywords
1. wait
2. waitforobject Waits for particular
3. waitforobject
notpresent
4. waitforprope
rty
Alert Handling
1. acceptalert Accepts the
2. dismissalert Cancels the
3. verifyalerttex
t
Verify Keywords
1. verifytextcon
tained
2. verifytextnot
contained
3. verifytextonp
age
4. verifytextnot
onpage
5. verifylistitem
present
6. verifylistitem
notpresent
7. verifyobjectp
resent
8. verifyobjectn
otpresent
9. verifyobjectp
roperty
verifyobjectp
1
ropertynot
0.
1
operty Verify page url \ title url or
verifypagepr
1.
verifytextinp
1
agesource
2.
1
verifytextnoti
3.
npagesource
verifypagedis
1
played
4.
verifyobjectd
1
isplayed
5.
Database Operations
1. executedatab
asequery
2. getdatafromd
atabase
3. getuserfortest
ing
XML Operations
1. findxmlattrib
ute
2. verifyxmlattr verify the Xml attribute
ibute attribute is present name
3. countxmlnod
es
4. verifyxmlnod
ecount
Events and Actions
1. mousemove
2. mouseclick To click on a Specific
3. mouseover To Hover the cursor
4. keypress
5. fireevent Used to focus on an
6. addaction
7. performactio
n
Miscellaneous
1. runexceltestc
ase
2. settestmode
3. getpageprope
rty
4. executestate
ment Execute a java script Java
5. setvariable It sets a value to a
6. setparameter
7. requestwebse
rvice
8. downloadfile
9. ftpfileupload It uploads a file to ftp
1
generaterand
omnumber
0.
generateuniq
1
1.
uestring
1
getobjectpro
perty
2.
Krypton Parameters
Browser: Specify browser name (E.g. Firefox, chrome, ie)
Driver: Specify driver name (E.g. Selenium)
TestCaseLocation: Specify the path of test-case excel sheet
TestDataLocation: Specify the path of test-data excel sheet
TestCaseId: Specify the Test case ID
TestSuite: Has the Test suite name; must be same as name of test-case excel file
TestCaseFileExtension: Specify the file format of test-case file (E.g. .xlsx, .xls)
GlobalActionFile: Specify the common (reusable) file. This file should be in
the same location where the test data is stored
ORLocation: Specify the path of Object Repository Excel sheet
ORFileName: Specify the name of Object Repository Excel sheet
RecoverFromPopupLocation: Specify location of pop-up Recovery Scenarios
RecoverFromBrowserLocation: For location of browser Recovery Scenarios
RecoverFromPopupFileName: Specify name of file recovering from pop-ups
RecoverFromBrowserFileName: Specify file name recovering from browser
LogFileName:Specify Name of the file where the logs are created
LogDestinationFolder: Specify the path where log/reports are to be generated
ManagerType: Specify the test management source systems (E.g. File System,
XStudio)
TimeFormat: Specify the time format
DateFormat: Specify the date format
DateTimeFormat: Specify the date-time format
CompanyLogo: Full path with filename of the image to be used as the logo
FailedCountForExit:Refers to the maximum number of consecutive steps that
can fail before the. Execution is terminated. Use 0 for no limit
EndExecutionWaitRequired: Specify whether to wait or not for user response
after execution of the test
DBTestDataLocation: Specify the location of Database Test data
DBConnectionString: This contain the Database connection string if test need
Database Access
DefaultDb: Mode to work with db (default is write mode)
DBServer: Default database server name/ip
DBQueryFilePath: Specify the path of file in which database queries are stored
UploadResultsToDB: Specify whether to upload Results on Database or not
ResultsDBConnectionString: Specify connection string for result upload on
DB
DebugMode: This parameter highlights the each and every step at run time
ErrorCaptureAs: This determines whether the page at which error has
occurred should be captured in the form of an image or HTML file
Environment: Specify the environment of test execution
Keyword: Used for Filtration of environment
EnvironmentSetupBatch: Name of the batch file required for fulfilling certain
pre-conditions before the execution of the test cases
TestCaseIDSeperator: Specify the test case id separator
TestCaseIDParameter: To determine testcase file name
SnapshotOption: Specify when to take snapshot
RunRemoteExecution: This parameter determines whether the automation tool
should run on a remote machine or no
RCMachineId: Specify Remote machine id
RunOnRemoteBrowserUrl: Specifies the URL of the remote machine at which
the execution should be carried out
EmailNotification: Specify whether to send email notification or not
EmailNotificationFrom: Includes the email id of the sender
EmailSMTPServer: Specify SMTP mail server (E.g. Smtp.gmail.com)
EmailSMTPPort: Specify SMTP Port number
EmailSMTPUsername: Specify SMTP username for authentication
EmailSMTPPassword: Specify SMTP password for authentication.
EmailStartTemplate: Specify the location of start template file. This template
is used to create email at the start of test
EmailEndTemplate: Specify the location of end template file. This template is
used to create email at the end of test
KeepReportHistory: If value is false then Krypton reporting engine will clean
the results folder before generating reports
ValidateSetup: It can be true or false. If true then when krypton.exe runs, it will
check all the prerequisites and validation procedures, if it is false, then it will not
check for any prerequisites and validation procedures
TestMode: The environment name. Default is ‘Control’ (for A/B mode)
CloseBrowserOnCompletion: If value set to true it will close the browser after
execution of the test
FirefoxProfilePath: Specify the location of Firefox profile. Firefox saves user
preferred information such as caches, passwords, certificate etc in a set of files
called profile, which is stored in a separate location from the Firefox program
files. User can have multiple Firefox profiles, each containing a separate set of
information. User can use these saved profiles while executing the test cases, in
order to execute the re-usable existing profiles. Apart from this, users have an
option whether to use the existing profiles or would like to create a profile
AddonsPath: Path where Firefox addons are saved
ChromeUserAgent: Specify the path of Chrome User Agent
ApplicationURL:Specify the URL of web application you want to test. If URL
is not given in data section of test-flow sheet then Krypton Engine use this
parameter
ObjectTimeout: Specify waiting time in seconds for an object to appear on web
page. If object not present after wait time completed it raise exception that
object not found
GlobalTimeout: Specifies the waiting time for all the actions to be performed
before timeout
MaxTimeoutForPageLoad: Maximum time required for a web page to load
MinTimeoutForPageLoad : Minimum time required for a web page to load
ScriptLanguage: After execution is completed Krypton Engine generate an
external language specific selenium script file of whole test. This parameter
specify that language. Currently, Krypton Framework supports PHP and Java as
the scripting languages
RecoveryCount: Specify the number of times recovery can be done
ScreenshotCompressionRatio: Specify the compression ratio of snapshots. The
value of this parameter must be in between 0 and 1
ListOfUniqueCharacters: “a”, “b”, “c”, “d”, “e”, “f”, “g”, “h”, “i”, “j”, “k”, “l”,
“m”, “n”, “o”, “p”, “q”,”r”, “s”, “t”, “u”, “v”, “w”, “x”, “y”, “z”
TestCaseTimeOutInMinutes: Specify the time limit for test to execute
completely. If this limit exceeded the test will be terminated automatically.
Language: Specify the language (default is “en”).
iniFiles: Specify the .ini file.
Report Settings
The ReportSettings.ini file includes the text display settings for the execution report
generated in HTML format.
Details of parameters within ReportSettings.ini file:
ReportFont: Refers to the Font used in the HTML report.
ReportFontStyle: Refers to the Font Style used in the HTML report.
ReportFontWeight: This parameter is used to specify the weight of the font. For
Instance, Normal, H1, H2, Bold are some of the font weight attributes.
ReportResultFont: Refers to the font used specifically in the Execution Report
within the HTML file.
ReportResultFontStyle: Refers to the Font Style used specifically in the
Execution report.
ReportResultFontWeight: This parameter refers to the weight of the font used
specifically in the Execution report.
ReportFontColor: This is the color of the font used in the report.
ReportFontSize: Refers to the size of the font used in the report.
ReportPassResultFontColor: Refers to the color of the font used to specify the
Pass status of the execution report.
ReportPassResultFontWeight: This parameter refers to the weight of the font
used to specify the Pass status of the report.
ReportFailResultFontColor: This is the color of the font used to specify the Fail
status of the execution report.
ReportFailResultFontWeight: This parameter refers to the weight of the font
used to specify the Fail status of the report.
ReportRemarksFontColor: Refers to the font color of the ‘Remarks’ mentioned
in the execution report.
ReportRemarksFontStyle: Refers to the font style used in the ‘Remarks’.
ReportRemarksFontWeight: This parameter specifies the font weight applied to
the ‘Remarks’ mentioned in the report.
ReportTableHeaderFontColor: Refers to the font color used in the ‘Table
Header’ in the report
ReportTableHeaderFontStyle: Refers to the font style used in the ‘Table
Header’ in the report.
ReportTableHeaderFontWeight: This parameter specifies the font weight
applied to the Table Header in the report.
ReportTableHeaderFontSize: Refers to the font size used in the Table Header
in the execution report.
ReportTableHeaderBackgroundColor: Refers to the background color of the
Table Header.
ReportTableBorderColor: This is the color of the table border.
ReportTableRowColor: Refers to the background color used in the table row.
ReportTableAlternateRowColor: Refers to the background color of the
alternate rows in the table.
ReportHeaderTextFontColor: This parameter specifies the font color of the text
mentioned in the report header.
ReportHeaderTextFontStyle: Refers to the font style used in the text of the
report header.
ReportHeaderTextFontWeight: Refers to the font weight of the text used in the
report header.
ReportHeaderTextFontSize: Refers to the font size of the text used in the report
header.
ReportHeaderValueFontColor: This parameter specifies the font color of the
values mentioned in the header of the report.
ReportHeaderValueFontStyle: Refers to the font style of the values mentioned
in the header of the report.
ReportHeaderValueFontWeight: This parameter is used to specify the font
weight of the values mentioned in the header of the report.
ReportHeaderValueFontSize: Refers to the font size of the values mentioned in
the Header of the report
ReportTestCaseBackgroundColor: Refers to the background color of the test
case report.
ReportTestCaseStatusWeight: This parameter specifies the weight of the test
case status.