Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
plugins [2020/06/01 14:42] admin [TestOptimal Plugins] |
plugins [2021/03/01 21:24] (current) admin [XUIA Plugin] |
===== TestOptimal Plugins ===== | ===== TestOptimal Plugins ===== |
| |
//TestOptimal// uses plugin architecture to provide the flexibility for integrating with external test automation framework and tools. | //TestOptimal// uses plugin architecture to extend capability to interact with target systems and integrate with external test automation framework and tools. |
| |
| The plugins included in the download bundle includes web app automation, access to REST APIs, desktop UI automation (keyboard/mouse events), image based automation, MQTT message broker service, etc. |
| |
| These plugins and your custom plugins enable your model to drive various target systems and perform //Robotic Proccess Automation (RPA)// for process and workflow automation. |
| |
Note that most of the plugins are built on or integrated with external drivers. //TestOptimal// only supports the integration with these external drivers and not the external drivers. | Note that most of the plugins are built on or integrated with external drivers. //TestOptimal// only supports the integration with these external drivers and not the external drivers. |
| |
You may also develop your own plugin to extend functionality of //TestOptimal// or integrate with your proprietary framework/system. | You may also [[tutorial:plugins | develop your own plugin]] to extend functionality of //TestOptimal// or integrate with your proprietary framework/system. |
| |
Below are the plugins available: | Below are the plugins available: |
| |
* [[#Selenium Plugin]] ([[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/SeleniumPlugin.html|javadoc]]) | * [[#Agent Plugin]] ([[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/AgentPlugin.html|javadoc]]) |
* [[#SeqOut Plugin]] ([[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/SeqOutPlugin.html|javadoc]]) | |
* [[#Appium Plugin]] ([[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/AppiumPlugin.html|javadoc]]) | * [[#Appium Plugin]] ([[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/AppiumPlugin.html|javadoc]]) |
* [[#MQTT Plugin ]] ([[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/MqttPlugin.html|javadoc]]) | * [[#MQTT Plugin ]] ([[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/MqttPlugin.html|javadoc]]) |
| * [[#Random Plugin]] ([[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/RandPlugin.html|javadoc]]) |
* [[#REST Plugin]] ([[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/RestPlugin.html|javadoc]]) | * [[#REST Plugin]] ([[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/RestPlugin.html|javadoc]]) |
* [[#Agent Plugin]] ([[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/AgentPlugin.html|javadoc]]) | * [[#Selenium Plugin]] ([[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/SeleniumPlugin.html|javadoc]]) |
| * [[#SeqOut Plugin]] ([[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/SeqOutPlugin.html|javadoc]]) |
| * [[#Sikuli Plugin]] ([[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/SikuliXPlugin.html|javadoc]]) |
* [[#WebDriver Plugin]] ([[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/WebDriverPlugin.html|javadoc]]) | * [[#WebDriver Plugin]] ([[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/WebDriverPlugin.html|javadoc]]) |
* [[#XUIA Plugin]] ([[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/XUIAPlugin.html|javadoc]]) | * [[#XUIA Plugin]] ([[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/XUIAPlugin.html|javadoc]]) |
* [[#Sikuli Plugin]] ([[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/SikuliXPlugin.html|javadoc]]) | |
| |
Plugin javadoc is available [[https://testoptimal.com/v6/apidocs | HERE]]. | Plugin javadoc is available [[https://testoptimal.com/v6/apidocs | HERE]]. |
//Plugins// must be activated for the model before they can be used through [[ide_script | Script Editor]]. | //Plugins// must be activated for the model before they can be used through [[ide_script | Script Editor]]. |
| |
| Other useful tool to interact with AUT: |
| |
---- | * [[ https://groovy-lang.org/databases.html | SQL DB]] |
==== Selenium Plugin ==== | * [[https://groovy-lang.gitlab.io/101-scripts/basico/command_local-en.html | Run OS Commands]] |
//Selenium Plugin// uses [[http://seleniumhq.org/|Selenium]] to perform test automation on your web application with various browsers. The simulated browser (HTMLUNIT) offers much higher performance and more suited for running load testing when you need to simulate hundreds or thousands of users running models simultaneously. | |
| |
=== Element Locator === | |
| |
Need help with element locator? Check out these links: | |
* [[https://www.simple-talk.com/dotnet/.net-framework/xpath,-css,-dom-and-selenium-the-rosetta-stone/ | Michael Sorens' post on Selenium locator]]: | |
* [[http://www.simple-talk.com/content/file.ashx?file=4937 | Xpath * CSS * DOM * Selenium: Rosetta Stone and Cookbook, page 1]] | |
* [[http://www.simple-talk.com/content/file.ashx?file=4938 | Xpath * CSS * DOM * Selenium: Rosetta Stone and Cookbook, page 2]] | |
* [[http://www.techbeamers.com/use-locators-selenium/ | 8 Ways To Use Locators For Selenium Testing]] | |
| |
Tools to help find the web element locator: | |
* Firefox add-on [[https://addons.mozilla.org/en-US/firefox/addon/element-locator-for-webdriv/ | WebDriver Element Locator]] | |
* [[http://www.softwaretestinghelp.com/locate-elements-in-chrome-ie-selenium-tutorial-7/ | How to locate elements in Chrome and IE]] | |
| |
---- | ---- |
| ==== Agent Plugin ==== |
| [[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/AgentPlugin.html | Plugin javadoc]] |
| |
==== SeqOut Plugin ==== | //Agent Plugin// enables integration with external automation tools and processes through http protocol. |
| |
//SeqOut Plugin// generates the test sequence from your model script to an HTML webpage, Excel document or text/xml/json files for external automation tools. | Example remote agent: |
| * [[remoteagentautoit | AutoIT]] |
| |
---- | ---- |
| |
| |
==== Appium Plugin ==== | ==== Appium Plugin ==== |
| [[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/AppiumPlugin.html | Plugin javadoc]] |
| |
//Appium Plugin// is used to test web apps and native apps on mobile devices. | //Appium Plugin// is used to test web apps and native apps on mobile devices. |
| |
=== Pre-Requisite === | === Pre-Requisite === |
| |
//Appium Plugin// requires [[http://appium.io|Appium]] be installed on the computer which the mobile devices will be attached or mobile simulators will be installed. | //Appium Plugin// requires [[http://appium.io|Appium]] be installed on the computer which the mobile devices will be attached or mobile simulators will be installed. |
| |
---- | ---- |
==== MQTT Plugin ==== | ==== MQTT Plugin ==== |
| [[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/MqttPlugin.html | Plugin javadoc]] |
| |
//MQTT Plugin// enables testing of [[https://mqtt.org/ | MQTT]]-based IoT devices. | //MQTT Plugin// enables testing of [[https://mqtt.org/ | MQTT]]-based IoT devices. |
| |
---- | ---- |
==== REST Plugin ==== | ==== REST Plugin ==== |
| [[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/RestPlugin.html | Plugin javadoc]] |
| |
//REST Plugin// enables testing of REST and WebSvc using [[http://rest-assured.io/| RestAssured]]. | //REST Plugin// enables testing of REST and WebSvc using [[http://rest-assured.io/| RestAssured]]. |
| |
---- | ---- |
==== Agent Plugin ==== | |
//Agent Plugin// enables integration with external automation tools and processes through http protocol. | |
| |
Example remote agent: | ==== Random Plugin ==== |
* [[remoteagentautoit | AutoIT]] | [[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/RandPlugin.html | Plugin javadoc]] |
| |
| //RAND Plugin// provides a set of pattern-based random data generation. For example, you can generate random street address, zip code or random number from a random distribution. |
| |
---- | ---- |
| |
==== WebDriver Plugin ===== | ==== Selenium Plugin ==== |
//WebDriver Plugin// enables testing with products/services implementing [[https://www.w3.org/TR/webdriver1/| WebDriver wire protocol]], more info at [[https://www.selenium.dev/documentation/en/webdriver/ | WebDriver Documentation]]. | [[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/SeleniumPlugin.html | Plugin javadoc]] |
| |
Below is a few examples of such products/services: | //Selenium Plugin// uses [[http://seleniumhq.org/|Selenium]] to perform test automation on your web application with various browsers. The simulated browser (HTMLUNIT) offers much higher performance and more suited for running load testing when you need to simulate hundreds or thousands of users running models simultaneously. |
* [[https://github.com/microsoft/WinAppDriver|WinAppDriver]] | |
* [[https://github.com/2gis/Winium|Winium]] | |
* [[https://saucelabs.com/ | SauceLabs]] | |
* [[https://www.browserstack.com/automate?utm_campaign=open-source-sponsor&utm_source=seleniumorg&utm_medium=referral | BrowserStack]] | |
| |
| === Element Locator === |
| |
| Need help with element locator? Check out these links: |
| * [[https://www.simple-talk.com/dotnet/.net-framework/xpath,-css,-dom-and-selenium-the-rosetta-stone/ | Michael Sorens' post on Selenium locator]]: |
| * [[http://www.simple-talk.com/content/file.ashx?file=4937 | Xpath * CSS * DOM * Selenium: Rosetta Stone and Cookbook, page 1]] |
| * [[http://www.simple-talk.com/content/file.ashx?file=4938 | Xpath * CSS * DOM * Selenium: Rosetta Stone and Cookbook, page 2]] |
| * [[http://www.techbeamers.com/use-locators-selenium/ | 8 Ways To Use Locators For Selenium Testing]] |
| |
| Tools to help find the web element locator: |
| * Firefox add-on [[https://addons.mozilla.org/en-US/firefox/addon/element-locator-for-webdriv/ | WebDriver Element Locator]] |
| * [[http://www.softwaretestinghelp.com/locate-elements-in-chrome-ie-selenium-tutorial-7/ | How to locate elements in Chrome and IE]] |
| |
---- | ---- |
====XUIA Plugin ==== | |
| |
//XUIA Plugin// provides a set of [[http://testoptimal.com/javaDoc/reference/com/webmbt/plugin/XUIAPlugin.html| mscript functions]] for automation using keyboard and mouse. | ==== SeqOut Plugin ==== |
| [[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/SeqOutPlugin.html | Plugin javadoc]] |
| |
The automation is accomplished by sending the real keyboard event and mouse movement to AUT. Due to the nature of this type of automation, you must ensure AUT you are automating has the focus just like as if you are testing manually. | //SeqOut Plugin// generates the test sequence from your model script to an HTML webpage, Excel document or text/xml/json files for external automation tools. |
| |
---- | ---- |
====SikuliUIA Plugin ==== | ====Sikuli Plugin ==== |
| [[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/SikuliXPlugin.html | Plugin javadoc]] |
| |
//Sikuli Plugin// provides a set of [[http://testoptimal.com/javaDoc/reference/com/webmbt/plugin/SikuliPlugin.html| mscript functions]] for interacting with any type of //UI Applications//. Due to the nature of using image to identify the UI control, the performance will be a little bit slower. | |
| |
[[http://testoptimal.com/javaDoc/reference/com/webmbt/plugin/SikuliPlugin.html| MScript Functions]] | //Sikuli Plugin// provides a set of MScript functions for interacting with any type of //UI Applications//. Due to the nature of using image to identify the UI control, the performance will be a little bit slower. |
| |
=== UI Images ==== | === UI Images ==== |
| |
| |
| ---- |
| |
| ==== WebDriver Plugin ===== |
| [[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/WebDriverPlugin.html | Plugin javadoc]] |
| |
| //WebDriver Plugin// enables testing with products/services implementing [[https://www.w3.org/TR/webdriver1/| WebDriver wire protocol]], more info at [[https://www.selenium.dev/documentation/en/webdriver/ | WebDriver Documentation]]. |
| |
| Below is a few examples of such products/services: |
| * [[https://github.com/microsoft/WinAppDriver|WinAppDriver]] |
| * [[https://github.com/2gis/Winium|Winium]] |
| * [[https://saucelabs.com/ | SauceLabs]] |
| * [[https://www.browserstack.com/automate?utm_campaign=open-source-sponsor&utm_source=seleniumorg&utm_medium=referral | BrowserStack]] |
| |
| |
| |
| ---- |
| ====XUIA Plugin ==== |
| [[https://testoptimal.com/v6/apidocs/com/testoptimal/plugin/XUIAPlugin.html | Plugin javadoc]] |
| |
| //XUIA Plugin// provides a set of MScript functions for automation using keyboard and mouse. |
| |
| The automation is accomplished by sending the real keyboard event and mouse movement to AUT. Due to the nature of this type of automation, you must ensure AUT you are automating has the focus just like as if you are testing manually. |
| |
| |
| |