Testing embedded software with Robot?

2,997 views
Skip to first unread message

Caizu

unread,
Sep 23, 2009, 4:20:35 AM9/23/09
to robotframework-users
Hi,

Is it possible to use Robot Framework for embedded software anyhow? I
would be very interested in the detailed information if anyone knows
more about it.

I just noticed in the guide that "It can be used for testing
distributed, heterogeneous applications, where verification requires
touching several technologies and interfaces." but with my
understanding of the written text I would need an "iron wire example"
from this - maybe because English is not my mother tongue.

-Caizu-

Pekka Klärck

unread,
Sep 23, 2009, 4:50:06 AM9/23/09
to kaisa....@gmail.com, robotframework-users
2009/9/23 Caizu <kaisa....@gmail.com>:

>
> Is it possible to use Robot Framework for embedded software anyhow? I
> would be very interested in the detailed information if anyone knows
> more about it.

It definitely is possible. If your embedded system can run Python you
might even be able to run RF on it directly, but in most cases it's
enough and easier to just test the system using it's external
interfaces. If you have existing tools that can interact with those
interfaces you should be able to control them somehow, but you may
also want to (or need to) create new libraries to interact with the
interfaces directly. For example I'm going to work next week with at
team building a modem, and I expect that we'll use Telnet library [1]
to control external simulators and also need to implement a new
library to interact with serial port using pySerial [2].

[1] http://code.google.com/p/robotframework/wiki/TelnetLibrary
[2] http://pyserial.sourceforge.net/

Giving any more detailed information is pretty much impossible without
knowing your system and its interfaces better.

Cheers,
.peke
--
Agile Tester/Developer/Consultant :: http://eliga.fi
Lead Developer of Robot Framework :: http://robotframework.org

Caizu

unread,
Sep 23, 2009, 5:01:51 AM9/23/09
to robotframework-users
That sounds perfect, thanks a lot for the quick reply! :) That means
that I have to find out some more information in here.

-C-

On 23 syys, 11:50, Pekka Klärck <p...@iki.fi> wrote:
> 2009/9/23 Caizu <kaisa.mak...@gmail.com>:

Taylor, Martin

unread,
Sep 23, 2009, 8:11:57 AM9/23/09
to kaisa....@gmail.com, robotframework-users
At Texas Instruments we use Robot Framework and a number of proprietary keyword libraries that I've built to test the embedded software on TI Calculators. Unfortunately I cannot share much about this because this software is all proprietary.

The basic approach is that you need to be able to communicate with your embedded system in some way. We have one way to communicate that allows us to send keystrokes to the calculator as if a user were pressing keys on the keypad. We then have other keywords that allow us to query the calculator state in order to verify the result of the keypresses. This is used for user scenario testing via the calculator UI. We have another way of communicating with the software on the embedded device that allows us to make XML-RPC API calls to various exposed APIs in the calculator software. We use this approach to test the math algorithms on the calculator and have >2M such test cases, all driven via Robot Framework.

If you can share anything about your particular embedded device and how you want to test it I'd be willing to continue this discussion with you.

Cheers,
Martin

Pekka Klärck

unread,
Sep 23, 2009, 9:40:45 AM9/23/09
to cmta...@ti.com, kaisa....@gmail.com, robotframework-users
2009/9/23 Taylor, Martin <cmta...@ti.com>:

>
> At Texas Instruments we use Robot Framework and a number of proprietary keyword libraries that I've built to test the embedded software on TI Calculators.  Unfortunately I cannot share much about this because this software is all proprietary.
>
> The basic approach is that you need to be able to communicate with your embedded system in some way.  We have one way to communicate that allows us to send keystrokes to the calculator as if a user were pressing keys on the keypad.  We then have other keywords that allow us to query the calculator state in order to verify the result of the keypresses.  This is used for user scenario testing via the calculator UI.

This is exactly the technique I would have recommend to use in this
case. The same idea obviously works great also with mobile phones and
other similar devices.

>  We have another way of communicating with the software on the embedded device that allows us to make XML-RPC API calls to various exposed APIs in the calculator software.  We use this approach to test the math algorithms on the calculator and have >2M such test cases, all driven via Robot Framework.

This is a great idea too. Must be somewhat faster than running two
million tests through the UI.

This kind of a approach where the most important scenarios are tested
through the UI similarly as a user would do them and business logic
tests are run through some lower level interface is obviously not
limited to the embedded testing domain. It can be applied to web
testing, testing native desktop applications, etc. One variation of
the theme is executing tests through the lower level interface in
continuous integration and running the same tests through the slower
UI few times per day. With Robot Framework this is pretty easy to do
by using variables in library and/or resource imports and setting
correct variables from the command line.

Pekka Klärck

unread,
Sep 15, 2010, 5:49:09 AM9/15/10
to Eileen Wei, robotframework-users
[This mail was sent to me only, but I suspect it was supposed to be
sent to the rf-users list and added it to Cc.]

2010/9/14 Eileen Wei <eileen...@gmail.com>:
> I found this discussion and this is something I am very interested
> too. I will be testing desktop applications that's designed in C++, I
> am wondering if anyone has any experience on exposing the C++
> interface to Python so Robot Framework can use it?

We have instructions, with an executable example, on how to use C from
Robot Framework test libraries [1]. The example uses Python's ctypes
module [2], and probably you can use it also to interact with C++ code
somehow. Please share your findings if you decide to try it!

[1] http://code.google.com/p/robotframework/wiki/HowToUseC
[2] http://docs.python.org/library/ctypes.html

Cheers,
.peke


> On Sep 23 2009, 7:40 am, Pekka Klärck <p...@iki.fi> wrote:
>> 2009/9/23 Taylor, Martin <cmtay...@ti.com>:


>>
>>
>>
>> > At Texas Instruments we use Robot Framework and a number of proprietary keyword libraries that I've built to test the embedded software on TI Calculators.  Unfortunately I cannot share much about this because this software is all proprietary.
>>
>> > The basic approach is that you need to be able to communicate with your embedded system in some way.  We have one way to communicate that allows us to send keystrokes to the calculator as if a user were pressing keys on the keypad.  We then have other keywords that allow us to query the calculator state in order to verify the result of the keypresses.  This is used for user scenario testing via the calculator UI.
>>
>> This is exactly the technique I would have recommend to use in this
>> case. The same idea obviously works great also with mobile phones and
>> other similar devices.
>>
>> >  We have another way of communicating with the software on the embedded device that allows us to make XML-RPC API calls to various exposed APIs in the calculator software.  We use this approach to test the math algorithms on the calculator and have >2M such test cases, all driven via Robot Framework.
>>
>> This is a great idea too. Must be somewhat faster than running two
>> million tests through the UI.
>>
>> This kind of a approach where the most important scenarios are tested
>> through the UI similarly as a user would do them and business logic
>> tests are run through some lower level interface is obviously not
>> limited to the embedded testing domain. It can be applied to web
>> testing, testing native desktop applications, etc. One variation of

>> the theme is executing tests through the lower level interface incontinuousintegrationand running the same tests through the slower

Eileen Wei

unread,
Sep 16, 2010, 1:44:18 PM9/16/10
to robotframework-users
Thanks Pekka. I'll for sure report back to the group if I find out
something.

Thanks,
Eileen

On Sep 15, 3:49 am, Pekka Klärck <p...@iki.fi> wrote:
> [This mail was sent to me only, but I suspect it was supposed to be
> sent to the rf-users list and added it to Cc.]
>
> 2010/9/14 Eileen Wei <eileen.ly....@gmail.com>:

Grace Zhuang

unread,
Jul 1, 2016, 3:10:21 AM7/1/16
to robotframework-users, kaisa....@gmail.com
Hi, Pekka

How about the status of the serial library you mentioned below?
I need a serial Library just like SSHLibrary. 
I'm happy to notice that you had planned to do this. Have it finished? When can I find it?


在 2009年9月23日星期三 UTC+8下午4:50:06,Pekka Klärck写道:

Heiko Thiery

unread,
Jul 1, 2016, 3:14:15 AM7/1/16
to gzh...@celestica.com, robotframework-users, kaisa....@gmail.com
We use a ser2net [1] bridge to connect embedded devices that only has a serial at early startup (e.g. testing u-boot). Then you are able to use the telnet library. Maybe that is a solution for you.


--
Heiko


--
You received this message because you are subscribed to the Google Groups "robotframework-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to robotframework-u...@googlegroups.com.
To post to this group, send email to robotframe...@googlegroups.com.
Visit this group at https://groups.google.com/group/robotframework-users.
For more options, visit https://groups.google.com/d/optout.

Piyu

unread,
Mar 20, 2023, 8:15:46 AM3/20/23
to robotframework-users
Hello,

Related to this chain of discussion in my company we have a electron framework based embedded device. The main challenge is to establish a connection with the device and to automate the user actions on it using Robotframework, is there any specific library that I can use? Or I need to write/develop a custom library. Any suggestions will be really appreciated :)

Thanks,
Piyusha 

Hélio Guilherme

unread,
Mar 20, 2023, 8:40:04 AM3/20/23
to robotframework-users
Just to say that you are posting to a thread from 2016!!!

You can do black-box testing with image recognition libraries, like: SikuliLibrary or imagehorizonlibrary.
Reply all
Reply to author
Forward
0 new messages