How can You Paste in Katalon Recorder?

hello Everyone

i go to this website ( https://generator.email/ ) then click the Button to Copy the Email , ok ?
but when i go to a website then Try to Paste the copied email , i cant . Katalon recorder doesnt Record the action to paste , and just record it as if i typed this email … Please if you know a solution for this , i would so thankful for you .

Kind Regards
Thank You everyone for helping and for making this fourm possible to help Amateure like me .
Thanks Allo
Ab

Hi @itubeudecide

You can accomplish this by sending the the Ctrl+V keys to the test object where the text should be inserted into.
Use the following line in your test case script and change the “TestObject” to your test object

WebUI.sendKeys(findTestObject(“TestObject”), Keys.chord(Keys.CONTROL, ‘v’))

Hi @jmeintjesn7 i’m having the same issue as the original poster, but I don’t understand how to edit katalon recorder based on your solution.

Please could you explain what I need to edit in the command, target and value lines?

Thanks

This site says the command is sendKeys. See the image for #2. You will have to play with the commands to get the value column to get the paste shortcut, CTRL + v (second link below), and you already stated on your other forum question the element you wanted to paste onto.

Katalon Automation Recorder - Powerful Selenium IDE to record, debug, play tests in any browser

Press Enter, Tab, Space, Shift, Control, Arrow Keys in Selenium (artoftesting.com)

1 Like

Thanks for the reply.

I’ve been trying to work out the value for the CTRL + V, but nothing I try seems to work. Any idea’s on how to combine the command?

My target to copy or paste from is: xpath=//div[@id=‘applicationHost’]/div/div[2]/div/div/div/div[2]/div/div/button/div/div/div[2]

how would I modify the code from your first link?

WebElement textbox = driver.findElement(By.id(“idOfElement”));
textbox.sendKeys(Keys.ENTER);

Apologies, i’m new to this and struggling.

I don’t use Katalon Recorder, however, this image is what I was basing my suggestion on:

Notice the final line in the image above. So I would try

Command     |  Target                                                                                          |    Value                                          
sendKeys    |  xpath=//div[@id='applicationHost']/div/div[2]/div/div/div/div[2]/div/div/button/div/div/div[2]  | ${KEY_CONTROL}${KEY_V}

However, the following link says that key combinations do not work well in the KR.

@duyluong Can you assist in the Value on how to set a CTRL + V?

maybe this can be a solution:

open | https://generator.email/

click | id=email_ch_text
storeText | id=email_ch_text | email
echo | ${email}

many greetings

Martin :de:

The above is only fetching a value from a field and storing it in a variable, copying and pasting from the clipboard is an entirely different beast (and now burdened with browser security controls too).

1 Like

So, what is wrong with this?
The right question is:

  • there is any sane reason to use the clipboard for this test scenario?

For my eyes, the test workflow should grab a certain value from a certain step (case) and pass it to another step (case)

Why to overthink and simulate a ‘real use case’ for such?
Is the host os, browser, whatever else relevant?
Or it is only a matter to reuse the data across steps?
Therefore, previous suggested solution is just right, for my eyes.
Ok, is not complete… but commoooon…

There’s two parts to answering this.

If the exclusive intent is to provide a solution for this use case, and this use case alone, then sure, you can fetch the value from one field, store it, and populate it into a new field.

However, if you want something that works more broadly with all contexts where something is saved in the clipboard, which as i’m sure you’re aware means in some cases where there is no text input field to read the value in from, then it means that you are forced potentially to read in the value via the Clipboard API, or some other relevant solution.

So, my comment was more reflective that it wasn’t really reading anything from the clipboard, but directly extracting a value from the DOM, which may be all this user really needed, but I was thinking more broadly than just the confines of this specific use case too :slight_smile:

1 Like

Well … I will avoid such scenario with Katalon Recorder.
The clipboard it is not a browser feature, but an OS functionality.
Katalon Recorder it is not designed to interact with Desktop Applications, for such, other tools may be needed.
E.g with a bit of voodoo, such can be achieved in Katalon Studio.

I get that for you, you would avoid it, but some people only use specific tools, so have to do whatever is possible within the limitation of what that tool supports. Yeah, some people have the desire, inclination, time, …the security privileges (!), etc to take on a new tool (such as Katalon Studio), but that’s still a choice (…except for the security part, in which case, there’s a lack of choice).

I’m aware that clipboard functionality is an OS-level function, and that Katalon Studio has workarounds that allow it to access Clipboards API, but yeah, the poster specifically was asking for Katalon Recorder, not Studio.

Katalon Recorder as you’ve highlighted isn’t useful for interacting with other desktop applications (…there is a rival to KAR that does offer more desktop-level features, but i’m a KAR fan all the way), but I suppose the context this all relates to still relates to activity that’s happening via a browser, which is why a browser-based tool would ideally make this possible.

1 Like

That will defeat the purpose of sanboxing.
Clipboard is not a browser functionality, period.
The scope of a certain browser application should be restricted to the browser environment.

If a certain user want’s to extend the scope of the AUT at the OS level, it should seriously re-consider this terrible idea.

Copy/Paste from here to there it is made by the user at OS level, not at the browser level

I feel like we’re getting a little too deep into semantics vs. intent and application. I am acutely aware you really dislike the idea of someone doing this, though.

From a purely semantic point, I could equally contend that file uploads is an OS-level function, it directly involves accessing the file system. Heck, even loading / reading in the contents of a CSV file potentially could be seen as an OS-level operation. So, the browser is already ‘going there’.

Similarly, if clipboard functionality was purely OS-level, then there would be no JavaScript calls to access the clipboard, yet there is, and it’s supported by all the main browsers (at least readText is). The main complication around it now is that it needs to be called by interacting with a DOM element (for security reasons), so it is effectively something that can be called as a JavaScript event via a site, but it is functionality that websites can and do use.

This also means though, that in terms of the AUT, if the functionality of a website includes a copy to clipboard command, then that makes it functionality that the website is offering, via the browser.

Sure, the contents of the clipboard is held at an OS-level, but the contents of files used for uploading is held by the file system, so why is one okay but not the other? As from a sandboxing perspective, this point still applies, yet Chrome explicitly allows a toggle (as does FF) to allow file system access for an extension.

But to go back to intent and application, what the user is trying to do is verify that the AUT is correctly copying data to the clipboard, that the data copied is as expected, and they may then want to use that data in other operations related to testing the very same website.

So, why is a desire to test something that is potentially part of a web site or web application such a terrible thing, if the automation tool had a way and means of doing so? As I really don’t follow why it should be out of scope, as it may be the only area the user is unable to cover from the test suite that they build too!

Altough I tend so say ‘If a web application is designed like this is an abomination’ … well.
I may understand why such is to be implemented, e.g we have ‘drag-and-drop’ features and so on.
That makes the life of a true webrwoser developper very hard, actually, to keep it at a secure level but to still offer such functionality at decent level.

As I already mentioned, Katalon Recorder is not the best tool for this.
It is a simple tool designed to focus on the content testing, not on the application running the content, no matter if that is a web browser or a custom app embeding web browsing functionalities (like KR actually is somehow)
Take it or leave it!