1

I am currently working in embedded system testing. We have a wifi module by which the web application can be accessed for the connected device. There is already an automation system using Lua script that tests the devices.

Now we are thinking of automating the web application using Selenium. How do I integrate my Selenium test instance with the Lua test cases that run on a device?

For Example: If a value is set through the web application, I want to check the expected result in the device HMI.

We are thinking of using Selenium to automate the web application and for the devices there is already the Lua scripted framework.

Is there any way these can be integrated? If so, how do I do it?

Expected outcome: If I run a test case to set a value, it has set the value in the web application and done validation to check the value was set in the device.

2

You probably can but that does not mean you should

Ideally your tests to automate the web application should be as independent as possible - which means they should not depend on whether the embedded device software is working correctly.

Instead, your Selenium tests should focus on interaction with the web application. Depending on how the application is written you should have tests that check the output of the web application matches the specifications to communicate with the device.

The Lua tests would presumably test that the device correctly receives and acts on inputs.

You would use manual/exploratory testing to check that all systems work together.

To summarize, you should have three sets of automated tests:

  1. Selenium UI tests for the web application.
  2. API or equivalent tests to check that the web application output matches the input specifications of the device.
  3. Lua tests for the device functionality.

Trying to integrate all of this can be done, but will be at best time consuming and fragile.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.