Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is there any way to increase speed of TagUI? - hackable to 20-30x faster #790

Closed
kensoh opened this issue Apr 18, 2020 · 7 comments
Closed
Labels

Comments

@kensoh
Copy link
Member

kensoh commented Apr 18, 2020

from user query


Hi Ken, Is there any way to increase the execution speed like other RPA paid tools? I have been asked this, so i thought to ask you before i make any statement.

@kensoh
Copy link
Member Author

kensoh commented Apr 18, 2020

cc @joginderrohilla who raised the question

@kensoh kensoh added the query label Apr 18, 2020
@kensoh
Copy link
Member Author

kensoh commented Apr 18, 2020

Yes @joginderrohilla there is. TagUI is designed to mimic human user actions, thus by default it has delay in place and also typing character by character into fields, which is the normal behaviour for human app users.

However, there are ways to hack such that it can be 20-30X faster. By reduce the delay between TagUI to browser from 200ms (100+100) to 0ms, and changing the default typing behaviour from character by character to typing whole string at one go.

See below link for the example on RPA Challenge, and the hacks to speed up TagUI. In that example, instead of taking 2 minutes to run, scenario takes 4+ seconds to complete.

tebelorg/RPA-Python#120 (comment)

I won't recommend speeding it up as it will no longer behave like a human user, and more likely for automation to fail because the target websites or apps are not designed for superhuman usage. Also, such hacks will be overwritten if user upgrades their modified TagUI to new version.

@kensoh kensoh changed the title Is there any way to increase execution speed of TagUI? Is there any way to increase execution speed of TagUI? - yes hack it Apr 18, 2020
@joginderrohilla
Copy link
Contributor

cc @joginderrohilla who raised the question

He is a RPA adviser, met on LinkedIn.

@kensoh
Copy link
Member Author

kensoh commented Apr 18, 2020

There are also further hacks, if the automation involve visual automation. For eg removing the 1s delay added between actions, and let the mouse cursor teleport to target position instead of simulating the movement to target position.

@joginderrohilla
Copy link
Contributor

Thanks Ken

@kensoh kensoh changed the title Is there any way to increase execution speed of TagUI? - yes hack it Is there any way to increase speed of TagUI? - yes hack it 20-30x faster Apr 18, 2020
@kensoh kensoh changed the title Is there any way to increase speed of TagUI? - yes hack it 20-30x faster Is there any way to increase speed of TagUI? - hackable to 20-30x faster Apr 18, 2020
@muratcim
Copy link

In headleas mode, the following code will also help you speed up

js begin
casper.options.trackingBuffer = [];
casper.options.pageSettings.loadImages = false
casper.options.pageSettings.loadPlugins = false
casper.options.onResourceRequested = function(casper, requestData, request) {

    // white list of tracking services, add here as many as you need
    var trackingServices = [
          'google',
	      'googleapis',
          'googletagmanager',
           '.css',
           '.js',
           '.svg',
           '.jpg',
           '.png',
      		'dsmcdn',
            '.ttf'
    ];

    trackingServices.forEach(function (needle) {

     // if the request url is in our white list, we push the data to the trackingBuffer array
    if (requestData.url.indexOf(needle) > 0) {
        casper.options.trackingBuffer.push(requestData.url);
			
        // OPTIONAL: prevents the tracking events to be actually sent
        // so we won't pollute GA with testing data
        request.abort();
    }
    });

};
js finish

@kensoh
Copy link
Member Author

kensoh commented Apr 22, 2020

Great stuff, thanks for sharing @muratcim !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants