SAP Succes story

Hi @tester_1,

I just answered the question on that thread. That user contacted me through different channels, which makes it harder for everyone to know the answer.

So please ask your questions here, where everybody can profit from them. I am also available in Slack, in case you have some question that you cannot ask in public.

Cheers,
Marduk

1 Like

Thanks for the reply. Are you able to send me your slack details? Great work on the library it looks really nicely laid out.

Just search my name on https://robotframework.slack.com :slight_smile:

2 Likes

Hi Marduk, Thanks for the great effort on the RoboSAPiens library. Have you already found how we can run the SAPGUI sessions in headless mode? Please let me know if you have any ideas around it? This is to use the same framework for the stress / load testing.

Hi Prakash, I did some research and did not find a way to execute SAP GUI in headless mode. However, I found some information on performance tests for SAP GUI:

In the eCATT documentation I found the following:

GUI Scripting

Use GUI scripting (SAPGUI command) for testing applications that use controls in SAP GUI for Windows and SAP GUI for Java. It requires GUIs for playback and is not suitable for load testing.

I think RoboSAPiens can help with recording test scripts using the SAP tools. Because it does not matter if the GUI is used by a person or by a program. I guess recording the scripts would involve a mixture of manual interaction and automation using ā€œConnect to Running SAPā€.

I hope this helps. Please report back if you make some progress with this. I’m sure others will be interested :slight_smile:

Hi Prakash,

Were you hoping to use RoboSAPiens library with rfswarm?

If so, I have some ideas how you might be able to run multiple SAP GUI’s on the same machine, but I’ve not had the chance to test them yet, there is an issue specifically for this but this thread is probably not the best place to discuss it, maybe create a new thread for ā€œhow to run multiple SAP GUI’s on the same machine for rfswarmā€ and I’ll give you more info there, lets keep this thread for SAP Success stories

Dave.

1 Like

Hi, I am using Robosapiens and SAPGUI Library in Robot Framework. I am trying to enter a value in the textfield using the following syntax Input Text wnd[0]/usr/subSCREEN_1:SAPLIQS0:1060/txtVIQMEL-QMTXT username
but getting the error AttributeError: ā€˜int’ object has no attribute ā€˜findById’. Please assist

Hi,
You are using both SAPGUILibrary & RobosSapiens at the same time ?

If so, you first need to use both keywords to connect to the server:
RoboSapiens:
Connect to Server ${SAP server}

SAPGUILibrary:
connect to session    
Connect To Existing Connection    ${SAP server}

After that step, you can use keywords from the 2 libraries in the same script.

And for your issue, it may be related to your locator.
Thus, it is better to use the keyword from RoboSapiens :

Fill Text Field FillTextLabel ${mytextvalue}

With RoboSapiens, the locator is just the label of the Text Field, so simple to use.

@orenault Thank you so much for the reply. i dont have label mapped with a text field so i could not use Fill TextField keyword in robosapiens and thats the reason i was trying to use Input TextField keyword in SapGUILibrary.

Hey Marduk,
First of all, thank you very much for the RoboSAPiens library. I’ve used it extensively over the past year, and it’s been a huge help for automating SAP process tests.

I’ve run into a challenge regarding session selection when working with multiple open SAP connections.

In my setup, it’s common to have up to 4 connections open simultaneously, each with several sessions (up to 6). I also combine RoboSAPiens with SapGuiLibrary, where I’ve built custom logic to iterate over the Connections and Sessions objects, allowing me to connect to a specific connection and its corresponding session (e.g., ā€œPRODā€ → session 4).

With RoboSAPiens, I’ve tried the following:
RoboSAPiens.Connect to Server server_name=${connection_name}
perfectly connects to the right connection but doesnt help me further on picking the right session.

If i use the following:
${returns}= RoboSAPiens.Connect to Running SAP session_number=${connection_session}
I am able to pinpoint the correct session number but this does not necessarily mean that im connected to the right connection.
Even when chaining both, I can’t seem to guarantee that I’m connected to both the correct connection and the correct session.

in short an example
the first does connect to connection name ā€œPRODā€, but it will connect to the 1 session. So i wont be able to chose ā€œPROD 4ā€
the second option makes sure im connecting to the 4th session but it does mean that it the connection could be ā€œTST 4ā€ instead of ā€œPROD 4ā€
using them both doesnt help me either.

Is there a way to combine both — to select the connection by name (like ā€œPRODā€) and specify which session within that connection to attach to (like session 4)?

I’d really appreciate any guidance on this, thanks again for your excellent work.

Best regards,
Guido

Hey Guido,

I’m happy to hear that RoboSAPiens has been so helpful :slight_smile:

I can add an optional session parameter to the keyword Connect to Server. I will notify you when the new version is released.

Cheers,
Marduk

PS Feature requests are also welcome via GitHub Issues :slight_smile:

2 Likes

@muin10 I just released version 2.18.0. In the end I added the optional parameter connection to the keyword Connect to Running SAP. That way you can choose any session from any connection.

Thanks for the time!
i will go try and use it today :slight_smile: