{"id":18859631,"url":"https://github.com/perfectomobilesa/perfecto-katalon-studio-plugin","last_synced_at":"2025-04-14T12:20:31.022Z","repository":{"id":95610121,"uuid":"224833270","full_name":"PerfectoMobileSA/perfecto-katalon-studio-plugin","owner":"PerfectoMobileSA","description":"This is a Perfecto + Katalon integration project. Kindly do not delete this. Documentation link is as follows:","archived":false,"fork":false,"pushed_at":"2024-12-11T08:58:22.000Z","size":14247,"stargazers_count":5,"open_issues_count":0,"forks_count":7,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-28T01:26:01.442Z","etag":null,"topics":["katalon-studio","keyword","perfecto"],"latest_commit_sha":null,"homepage":"https://developers.perfectomobile.com/display/PD/Katalon+Studio","language":"Groovy","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PerfectoMobileSA.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-29T10:37:15.000Z","updated_at":"2024-12-11T08:58:26.000Z","dependencies_parsed_at":"2023-05-21T02:15:43.835Z","dependency_job_id":null,"html_url":"https://github.com/PerfectoMobileSA/perfecto-katalon-studio-plugin","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PerfectoMobileSA%2Fperfecto-katalon-studio-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PerfectoMobileSA%2Fperfecto-katalon-studio-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PerfectoMobileSA%2Fperfecto-katalon-studio-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PerfectoMobileSA%2Fperfecto-katalon-studio-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PerfectoMobileSA","download_url":"https://codeload.github.com/PerfectoMobileSA/perfecto-katalon-studio-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248877968,"owners_count":21176244,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["katalon-studio","keyword","perfecto"],"created_at":"2024-11-08T04:18:42.065Z","updated_at":"2025-04-14T12:20:30.978Z","avatar_url":"https://github.com/PerfectoMobileSA.png","language":"Groovy","funding_links":[],"categories":[],"sub_categories":[],"readme":" \n## Perfecto Integration with Katalon Studio\n\nKatalon Studio Perfecto Plugin is a Custom Keyword Plugin that provides integration with Perfecto. Here's our official documentation: https://developers.perfectomobile.com/display/PD/Katalon+Studio\n\n#### Perfecto Plugin Provides:\n- Automatically generate Custom Capabilities that allow remote driver to connect to Perfecto Cloud devices and automate web, mobile web and mobile native/hybrid apps.\n- Ability to update Test name, Tags, Result Status, Failure reason, Reportium Assertions, Project name, Steps in Perfecto Smart Reporting.\n- Ability to integrate Perfecto’s Smart Reporting CI Dashboard. \n- Ability to run multiple Test cases, Test Suites and Test Suite Collection in parallel/ sequential.\n\n#### Plugin Installation:\n- Clone/Download our perfecto + katalon plugin project from [here](https://github.com/PerfectoMobileSA/perfecto-katalon-studio-plugin) \n- Open Project in Katalon Studio\n- Build project – “gradle clean build katalonPluginPackage”\n- Copy build/libs/katalon-studio-perfecto-plugin.jar and paste into “Plugins” folder of your Katalon Studio project to use our plugin.\n- Download the latest reportium-java jar from [here](https://repo1.perfectomobile.com/public/repositories/maven/com/perfecto/reporting-sdk/reportium-java/).\n- Navigate to Project -\u003e Settings, select External Libraries on the left pane, add the downloaded reportium-java jar, click on Apply button and then click on Ok button to close the settings popup.\n\u003cimg src=\"https://github.com/PerfectoMobileSA/perfecto-katalon-studio-plugin/blob/master/DOC/img/1.png\" height=\"360\" width=\"760\"/\u003e\n\n#### Using the Plugin:\nSteps to create a custom perfecto profile:\n- Open Katalon Studio. \n- Navigate to Project \u003e Settings. \n- Expand Plugins section in the left menu.\n- Select Perfecto Integration. \n- Enter mandatory fields highlighted with an asterisk \n- Additional capabilities can be provided in Additional Capabilities field using ‘;’ as separator (E.g:- resolution=1024x768;location=US East;report.tags=smoke,regression)\n- Click on “Generate Perfecto Custom Profile” button to generate the profile.\n- Click on Ok and close the project settings.\n\u003e Note: The “Generate Perfecto Custom Profile” should be clicked each time you make changes to a new/ existing profile\n  \u003cimg src=\"https://github.com/PerfectoMobileSA/perfecto-katalon-studio-plugin/blob/master/DOC/img/2.png\" height=\"360\" width=\"760\"/\u003e\n  \n- Each custom profile created based on unique Config Name field ( in the plugin settings) will be displayed under custom capabilities.\n\n\u003e Note: The profile created with Perfecto plugin will have a suffix “perfecto_” by default in order to uniquely identify perfecto profiles.\n\u003cimg src=\"https://github.com/PerfectoMobileSA/perfecto-katalon-studio-plugin/blob/master/DOC/img/3.png\" height=\"360\" width=\"760\"/\u003e\n \n#### Global Variables:\nProject configurations such as application path, job name, job number should be passed as a Global variable. \n##### Steps to add Global variable:\n- Open default file under profiles in the Tests explorer\n- Select Add \n- Enter name, select value type and Enter value then click OK.\nThe Global variables can be accessed in the code with below syntax.\n###### Syntax:- \n\u003e GlobalVariable.variableName\n###### E.g.:- \n\u003e GlobalVariable.appPath\n\u003e Note: The plugin needs 2 Global parameters which needs to be added in the project\n- Name - TEST_CASE_CONTEXT, ValueType – Null, Value – Null\n- Name - reportiumClient, ValueType – Null, Value – Null\nAdd below two global variables to integrate with Perfecto’s Smart reporting CI Dashboard.\n- Name – jobName, ValueType – String, Value - Name of the Job\n- Name – jobNumber, ValueType – Number, Value – Job number\nAdd appPath only for Native/Hybrid app location in Perfecto Media repository.\nSave the Profile once the global variables are added.\n \u003cimg src=\"https://github.com/PerfectoMobileSA/perfecto-katalon-studio-plugin/blob/master/DOC/img/4.png\" height=\"360\" width=\"760\"/\u003e\n \n#### Web Pre-conditions:-\n- Change WebUI.openBrowser(“URL”) to PerfectoKeywords.openBrowser(“URL”)\n- Remove any occurrence of WebUI.closeBrowser() at the end of test\n#### Web config:-\n \u003cimg src=\"https://github.com/PerfectoMobileSA/perfecto-katalon-studio-plugin/blob/master/DOC/img/5.png\" height=\"360\" width=\"760\"/\u003e\n \n#### Mobile Web config:-\n \u003cimg src=\"https://github.com/PerfectoMobileSA/perfecto-katalon-studio-plugin/blob/master/DOC/img/6.png\" height=\"360\" width=\"760\"/\u003e\n \n#### Native/ Hybrid Pre-conditions:-\n- Change Mobile.startApplication(“app-path”) to PerfectoKeywords.startApplication (“app-path”)\n- Remove any occurrence of Mobile.closeApplication() at the end of test\n#### Native config:-\n \u003cimg src=\"https://github.com/PerfectoMobileSA/perfecto-katalon-studio-plugin/blob/master/DOC/img/7.png\" height=\"360\" width=\"760\"/\u003e\n \n#### PerfectoKeywords:-\n- Use PerfectoKeywords.stepStart(\"description”) to add step in Perfecto’s Smart reporting\n- Use PerfectoKeywords.reportiumAssert(\"description”, true/false) to add step in Perfecto’s Smart reporting\n#### Steps to execute Test case:-\n- Open a Test case\n- Click the Run Button \n- Select Custom Capabilities \n- Select the created profile \n \u003cimg src=\"https://github.com/PerfectoMobileSA/perfecto-katalon-studio-plugin/blob/master/DOC/img/8.png\" height=\"360\" width=\"760\"/\u003e\n \n#### Execute Test Suite with Perfecto Profile:-\n- Open a Test suite\n- Click the Run Button \n- Select Custom Capabilities \n- Select Perfecto profile\n \u003cimg src=\"https://github.com/PerfectoMobileSA/perfecto-katalon-studio-plugin/blob/master/DOC/img/9.png\" height=\"360\" width=\"760\"/\u003e\n\n#### Execute Test Suite Collection with Perfecto Profile:-\n- Open a Test suite collection\n- Add profile for each Test suite\n \u003cimg src=\"https://github.com/PerfectoMobileSA/perfecto-katalon-studio-plugin/blob/master/DOC/img/10.png\" height=\"360\" width=\"760\"/\u003e\n \n- Select Execution Mode as Sequential/ Parallel\n- Set the max concurrent instances as applicable\n- Click on Execute button to run the entire suite collection.\n \u003cimg src=\"https://github.com/PerfectoMobileSA/perfecto-katalon-studio-plugin/blob/master/DOC/img/11.png\" height=\"360\" width=\"760\"/\u003e\n \n#### CI Dashboard integration:- (screenshots)\n \u003cimg src=\"https://github.com/PerfectoMobileSA/perfecto-katalon-studio-plugin/blob/master/DOC/img/12.png\" height=\"240\" width=\"760\"\u003e\n \u003cimg src=\"https://github.com/PerfectoMobileSA/perfecto-katalon-studio-plugin/blob/master/DOC/img/13.png\" height=\"360\" width=\"760\"\u003e\n \u003cimg src=\"https://github.com/PerfectoMobileSA/perfecto-katalon-studio-plugin/blob/master/DOC/img/14.png\" height=\"300\" width=\"760\"\u003e\n \nKindly reach out to [Professional Services](https://www.perfecto.io/services/professional-services-implementation) team of Perfecto to implement this in your Organization.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperfectomobilesa%2Fperfecto-katalon-studio-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fperfectomobilesa%2Fperfecto-katalon-studio-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperfectomobilesa%2Fperfecto-katalon-studio-plugin/lists"}