Giter Site home page Giter Site logo

a9t9 / rpa Goto Github PK

View Code? Open in Web Editor NEW
1.1K 59.0 272.0 8.87 MB

UI.Vision: Open-Source RPA Software (formerly Kantu) - Modern Robotic Process Automation with Selenium IDE++

Home Page: https://ui.vision/rpa

License: Other

JavaScript 78.13% HTML 6.37% TypeScript 10.15% PowerShell 1.74% Python 0.17% Batchfile 0.09% VBScript 0.82% SCSS 2.53%
automation web-automation selenium-ide visual-recognition ui-tests imacros autohotkey sikulix opencv webassembly

rpa's Introduction

UI.Vision RPA

  • Modern Robotic Process Automation plus Selenium IDE++

Questions? Suggestions? - Meet us in the UI.Vision RPA user forum.

Every user benefits from the questions and answers provided in the forum, that is why we would ask you to post the question in the RPA forum first if a public forum is appropriate for your question. The forum is monitored by active users, tech support and the developers, so we would like to concentrate the discussion "over there" in one place

How to install UI.Vision RPA:

UI.Vision RPA for Chrome and Firefox is modern cross-platform RPA software for macOS, Linux and Windows. It includes a Selenium IDE and Web Macro Recorder. You find the latest version always in the Chrome and Firefox stores. You can use it completely free for private and commercial purposes:

Building the Chrome, Edge and Firefox Extension

We use Node V12.16.1 and NPM V6.13.4.

Building the extension is not required if you "only" want to use it.

You can install UI.Vision RPA directly from the Chrome, Edge or Firefox stores, which is the easiest and the recommended way of using the UI.Vision RPA software. Older versions can be found in the RPA software archive.

Besides, as a general piece of information: All browser extensions are written in Javascript and thus they are all open-source (in the technical sense) by nature. This strict open-source security approach makes UI.Vision RPA more secure than any other Robotic Process Automation (RPA) solution in the market. You can set break points and debug the extension right in your browser. Thus this Github repo is not required for debugging and source code inspection to work:

https://github.com/A9T9/RPA/blob/master/rpa-debug-chrome.png

The link above shows a screenshot of our UI.Vision RPA software, installed from the Chrome store and debugged and inspected directly in the web browser.

But of course developers can also build it directly from the source code with this command line:

npm i
npm run build (or build-ff for Firefox)

Once done, the ready-to-use extension code appears in the /dist directory (Chrome) or /dist_ff directory (Firefox).

Need the very latest source code version?

Please note that we use an internal source code repository for our daily development work. The very latest source code snapshot can always be requested directly from the development team. Please contact us at team AT ui.vision. We are looking forward talking to you. And of course, if you want to join the development you are welcome.

rpa's People

Contributors

a9t9 avatar kevinae102 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rpa's Issues

Please help to improve QA => Sign up as Beta Tester

Are you interested in becoming a Kantu beta tester?

As beta tester, we will email you (hidden) install links for new Kantu versions before they go live in Chrome store. Beta versions never overwrite a regular Kantu version. The beta channel is technically a separate extension with its own toolbar button. So beta-testing Kantu does not interfere your regular Kantu projects and macros. If you are interested in helping out, please sign-up here:

http://eepurl.com/dm0cTX

The link goes to a Mailchimp signup form.

Lack of new version in github and releases

New version of Kantu in Chrome is 2.6.0. Here only 2.3.0 is present.
It should not be hard to up-to-date version in github, so anyone could improve new features.
Thanks for all great work.

Store & echo functions - not working cross scripts or on single Execute

On the old Selenium IDE, I set up Suite that had multiple Cases for each website. What I was trying to achieve was to have 1 x Script that was a Config file that stored (using "Store") a Website specific details e.g. user, password, email, sandbox details. And many more.

store - http://www.msn.co.uk - website
store - [email protected] - email
store - passwordtest - password

And the next Case script in the Suite, it would run and USE that Stored Data (e.g. website, email, password), this would mean that I could have 1 script for testing e.g. 'Adding Products to basket' for which ran off the Stored data in the Config script. This allows me to use the 1 script across multiple Websites without having to copy\create\manage as individual. I'd have 1 that would work across all.

Open - ${website}

So at Checkout it would use the following:
id=email - ${email}
id=password - ${password}


The Issues I had
With Kantu I've come across a few road blocks which prevented me from using my old Selenium IDE scripts and would cause a lot of issues and extra management:

  1. It doesn't allow the data Stored in one Macro to be used in another Macro, e.g. the Config file macro (1), and the 'Add to Basket' macro (2). The temporary data doesn't remain and isn't used across other macros.
    On the original Seleniu IDE, it only temporarilly stored as long as the extension (Selenium IDE) was open, when closed all stored data was lost.

  2. In the same Macro, the data isn't Stored after a test completes it's run.
    Using an example:

If you run Store then Echo on the same script it works fine. BUT whilst on the same script, if you set the 'Echo' command to 'Execute' it shows as "[error] variable "EMAIL" is not defined".

Here's the JSON code:
{ "CreationDate": "2018-3-6", "Commands": [ { "Command": "store", "Target": "[email protected]", "Value": "email" }, { "Command": "echo", "Target": "${email}", "Value": "" }, { "Command": "store", "Target": "234wefwef", "Value": "pass" }, { "Command": "echo", "Target": "${pass}", "Value": "" } ] }

And I've attached the screenshot of Executing STORE first manually, then ECO second manually.
kantu issue - echo

Can I ask that the Store commands store the Data in the same Macro, and can be used in other macros for Kantu. It's a key part to all of my scripts as it reduces management and replication, it also mitigates the tedious task of updating them all by making it only ONE that needs updating for all site.

Let me know if you need any further information. If it's not possible, it'd be a deal breaker :(

Lack of new version in github and releases

New version of Kantu in Chrome is 2.3.0. Here only 2.0.2 is present.
It should not be hard to up-to-date version in github, so anyone could improve new features.
Thanks for all great work.

Kantu consumes more and more RAM which makes it slower and slower

Hello,

I'm using Kantu for some web automation.

In my program itself, there is a infinite loop, built with a lable and a goto, so something like:

label: start
*some code*
goto: start

In the code part, there are some variable declarations (most of them are storeEval).

Now as I said, the execution is getting slower and slower, you can clearly see that from 3 times per second its going like one time in 3 seconds.

Whats interesting is, that in Chrome Taskmanager (Shift + ESC), the Kantu RAM usage is going higher and higher. Whenever I stop the script, close Kantu and reopen it and start the script again, its fine again, so then it is again 3 times per second.

So it seems like the longer Kantu runs, the higher the RAM usage is. And it doesn't seem to set it back automatically.

One thing I was thinking of is, that it might create a new variable for every storeEval, even if it is the same variable name? Does this sound logical? Might this be? If yes, would I be able to change it? If not, what else could be the problem? Another thing I was thinking of is the logs, in the Kantu Window, there are logs, which never get cleared automatically. Clearing those logs frees RAM, making the script faster as well. Is there any way to automatically delete the logs or to don't log at all?

A test confirmed my feeling that it's getting slower.

With !runtime in the first loop, it took 0.07 seconds, in the loop no. 956, it took 0.15 seconds and its getting more and more, I just left the script runnning for about 8 hours now, RAM usage went from 800MB to about 3GB, which really shouldn't be like that.

Any ideas, what to do?

Dom not found, nowhere to look for dom

Hi,

great extension! I am automating form filling in typo3 - it has quite complex page with navigation, uses dynamic fields id etc.

I select these fields with //*[contains(@data-formengine-input-name,"username")] which has been confirmed to work (about two weeks ago).

Now, when i reopen the saved TestCase, i get constant "Dom not found" or "Nowhere to look for dom" messages. So i try to edit my TestCase, edit click target, select field → it get's selected and id=formengine-input-5a587e3f267f1647856491 filled correctly into target, but immediate click on Find (without any reloading) results gain in "dom not found".

If i try it on some very simple webpage, it works.

Tested on:

Kantu extension: 2.2.1
Chrome: Version 63.0.3239.132 (Official Build) (64-bit)
Chromium: Version 63.0.3239.84 (Developer Build) built on Debian buster/sid, running on Debian buster/sid (64-bit)

Has this been a regression? Is there a way to see the inspected dom?

thank you

enhanceWithClickOutside error

When i synced with new version, i encountered this error:
Uncaught Error: Minified React error #105; visit http://facebook.github.io/react/docs/error-decoder.html?invariant=105&args[]=enhanceWithClickOutside for the full message or use the non-minified dev environment for full errors and additional helpful warnings. at reactProdInvariant (popup.js:4866) at ReactCompositeComponentWrapper.mountComponent (popup.js:71708) at Object.mountComponent (popup.js:11366) at ReactDOMComponent.mountChildren (popup.js:71144) at ReactDOMComponent._createInitialChildren (popup.js:69312) at ReactDOMComponent.mountComponent (popup.js:69131) at Object.mountComponent (popup.js:11366) at ReactDOMComponent.mountChildren (popup.js:71144) at ReactDOMComponent._createInitialChildren (popup.js:69312) at ReactDOMComponent.mountComponent (popup.js:69131)

pause resume jumps back to first line of macro if in Test Suite

i have a Pause(0) line in my Macro.
when i run the Macro as standalone Macro, there is no problem: it pauses at the Pause line, and when i Resume, macro continues to run from that line onward.
however, if i put the same Macro inside a Test Suite and run the Test Suite as a series of Macros (either right-click the Suite folder and "Play" or right-click the Macro and "replay from here"), when i resume the Pause, macro jumps back to the first line of code of that Macro and start all over again.
is this a bug and can it be fixed so that macro resumes from the Pause line when it's run inside a Test Suite?
thank you.
peter

Chrome: Version 65.0.3325.181 (Official Build) (64-bit)
Kantu for Chrome: version 2.6.0
Macro code:
{
"CreationDate": "2018-4-1",
"Commands": [
{
"Command": "echo",
"Target": "1",
"Value": ""
},
{
"Command": "pause",
"Target": "",
"Value": ""
},
{
"Command": "echo",
"Target": "2",
"Value": ""
}
]
}

Make Test case not failed when offline

[error] ipcPromise: onAsk timeout 60000 for cmd "PANEL_RUN_COMMAND", args "[object Object]"
[info] Test case failed (Runtime 121.18s)

Hi. can you make kantu not stopped when the computer's connection is offline? I would like to automate a simple task which push a button in a webpage every hour all day long. The problem is, sometimes connection at my place lost. If kantu can ignore offline page or wait until the connection is back, it will really helps me because I don't need to check if the macros is still running.

Thanks

Highlight operated elements

iMacros for both Chrome, Firefox and internet explorer allows by default to highlight the elements on which it operates.

Can you add highlighting feature?
If can help with implementing it.

echo

echo is useful for macro debugging

Error to import JSON property 'map'

Hi, How are you?

After export a Test Suit and later I try to import, it shows me the error: '[error]
in parsing suite_XXXXX.json: Cannot read property 'map' of undefined'. How can I define de map of the Test Suites?

Dark theme support

Current version not have option to display data in dark theme. This option seems easy to implement. I think any sort of options/preferences also would be nice to have.

Feature: WaitForVisible \ VerifyVisible?? Issues on Forms \ One Page checkouts of pre-loaded elements

I've been testing this on websites that have Forms \ One Page checkouts and I've been having the same issues with the AssetElementPresent and VerifyElementPresent as I did on the original Selenium IDE.

One some Forms and One Page checkouts all the elements are loaded already so when it hits VerifyElementPresent, it is already present on the page but it's hidden and not displaying yet. This tricks the script to keep running many steps ahead whilst the Frontend is still trying to load the last step.

In the past, to overcome this, you had to use WaitForVisible was used which we replaced the ElementPresent commands. In essence, they do very similar jobs but for WaitForVisiible the element will have to be loaded and also Visible on the Frontend for it then to action.

Not sure if you want a New Command, or to update your Existing Verify\AssetElementPresent.
For me, it's very crucial as otherwise many scripts don't run 100% accurately and causes alot of reviewing Errors that aren't errors.

🔨 Beta Testers wanted!

Are you interested in becoming a Kantu beta tester?

As beta tester, we will email you (hidden) install links for new Kantu versions before they go live in Chrome store. Beta versions never overwrite a regular Kantu version. The beta channel is technically a separate extension with its own toolbar button. We will email you once a new version is available so you can grab it. So beta-testing Kantu does not interfere with your regular Kantu projects and macros.

If you are interested in helping out, please sign-up here:
http://eepurl.com/dm0cTX

The link goes to a Mailchimp signup form.

clickAt

x,y position of the mouse event relative to the target element. For example: "10,10"

Open command appending first open URL to all following open commands

I created a Macro, exported it to "HTML with autorun". Then when I launch the file and run it the macro then takes the first open command target URL and appends it to every other open command target URL in the Macro. Is this a bug or is there something I need to change to correct this behavior? I'm very new to Kantu and selenium IDE so forgive me if I've missed something. Any assistance you can provide would be greatly appreciated.

{ "CreationDate": "2018-3-29", "Commands": [ { "Command": "open", "Target": "https://meraki.cisco.com", "Value": "" }, { "Command": "clickAndWait", "Target": "link=Products", "Value": "" }, { "Command": "pause", "Target": "30000", "Value": "" }, { "Command": "click", "Target": "link=Solutions", "Value": "" }, { "Command": "pause", "Target": "30000", "Value": "" }, { "Command": "open", "Target": "https://meraki.cisco.com/https:/www.cnn.com", "Value": "" }, { "Command": "pause", "Target": "30000", "Value": "" }, { "Command": "clickAndWait", "Target": "link=World", "Value": "" }, { "Command": "pause", "Target": "30000", "Value": "" }, { "Command": "clickAndWait", "Target": "id=logo", "Value": "" }, { "Command": "open", "Target": "https://meraki.cisco.com/https:/www.youtube.com/watch?index=2&list=PLTVCI_tE32rS41jiv4EcoSjZqHoRxbPIy&v=o9JaTq7M8F8", "Value": "" },

Feature: Detecting Google Analytics tracking UA \ code and other scripts

This is a new Feature, one that wasn't possible in the old Selenium IDE but is worth a mention as it's a common requirement for most sites to have a Google Analytics for tracking visitors. And there are also other scripts which get added along the way.

On a QA check of ensuring the script or Google UA is present along with other tracking scripts is becoming more crucial in the fast development world. If there was a way to detect part of a script such as a Google Analytics tracking code or remarketing tag. It would be a good feature and benefit.

I don't believe this is currently in any Selenium version, but would be considered an asset to have in my opinion as I work in the e-commerce world and checking for each script at each stage can be time consuming on a fast paced development. Having this would reduce time significantly.

Feature: NotAttribute, Text\ElementNotPresent

New Feature. In the past there were requirements to add a detection to check that a value \ script \ attribute \ text isn't present on websites.

We usually have a TextNotPresent to rule out bad characters, and NotAttribute to detect NoIndex,NoFollow isn't set on websites. I presume it's possible to do an ELSE or IF to accommodate this situation but it leads to writing further commands
A straight forward NotAttribute, TextNotPresent or ElementNotPresent would be quicker and less entries to include. This was present in the old Selenium IDE FF version.

Could this be considered?

mouseOver

Useful to trigger and test some effects

Execution of commands stops

Basically the console says "[info] Executing: | pause | 9000 | | " and it just doesn't do anything. Same happens with other commands like "open" and others. The IDE itself works and is not frozen, its just the execution of the command stops. See pictures below:

https://puu.sh/zz2k2/094ef31e88.png
https://puu.sh/zz2oz/525f964c13.png
https://puu.sh/zz2p2/dd6026b9f7.png

!TIMEOUT_WAIT is set to 10, nothing happens after 10 seconds, it just gets stuck.

Using win10 64 bit, latest chrome and IDE plug in.

ps. it doesnt happen for ALL commands, sometimes the steps work, sometimes they dont. Really weird and smells like a bug.

Operation in Iframe

Currently it does not work to run scripts in an embedded iframe.

My current problem is that I want to interact with a video player that embeds itself using an Iframe in the parent page. Couldn't find a way to select elements in there. It seems to work in the top frame only.

Is there a workaround for my problem?

Beta Testers wanted!

Are you interested in becoming a Kantu beta tester?

As beta tester, we will email you (hidden) install links for new Kantu versions before they go live in Chrome store. Beta versions never overwrite a regular Kantu version. The beta channel is technically a separate extension with its own toolbar button. We will email you once a new version is available so you can grab it. So beta-testing Kantu does not interfere with your regular Kantu projects and macros.

If you are interested in helping out, please sign-up here:
http://eepurl.com/dm0cTX

The link goes to a Mailchimp signup form.

runEval

The Javascript code to be run… variables can be used Return value stored in variable

Feature: Ability to add Comments \ Annotate

Like the original Selenium IDE for FF. Having ability to add Comments to annotate an area \ section of the script.

Some scripts can be quite lengthy and to aid collaboration and revisiting it's a good way to quickly identify what that section does. With your IF \ ELSE rules it'd be good to annotate what the rule is and why.
I believe it'd be a welcome addition, all other versions of new Selenium in progress are yet to re-introduce this feature.

sendKeys

similar to Type, but does not erase fields

Special keys for SendKey and Type

User will use them like a variable with ${KEY_ENTER}

o KEY_LEFT (Navigation Left)
o KEY_UP (Navigation Up)
o KEY_RIGHT (Navigation Right)
o KEY_DOWN (Navigation Down)
o KEY_PGUP / KEY_PAGE_UP (Page up)
o KEY_PGDN / KEY_PAGE_DOWN (Page down)

o KEY_BKSP / KEY_BACKSPACE (Backspace)
o KEY_DEL / KEY_DELETE (Delete)
o KEY_ENTER (Enter)

o KEY_INS / KEY_INSERT (Insert)

o KEY_TAB (Tab)

Any other special key really needed? (If so, please mention why/for what)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.