I have been using LambdaTest to leverage their vast emulator base on mobile devices with my automation suite. My automation suite is using a Python framework called Golem. I love Golem because it has its own database, storing results, and its own lightweight web front end for displaying results. It’s pretty awesome, compared to a lot of frameworks out there, and outside of writing my own, this is my preference. Golem does have a drawback where not all of Selenium’s features are built-in, or they use their own naming convention on Selenium functions.

LambdaTest Pass and Faill Status

LambdaTest doesn’t pick up my pass/fail state. This isn’t a big deal for me, as the fail state is covered by Golem. However, when I do look at the automation dashboard in LambdaTest, it would be nice to see the correct fails/passes.

According to a LambdaTest document, in these cases you can set the state of the test like so:

driver.executeScript(‘lambda-status=passed’)
# or
driver.executeScript(‘lambda-status=failed’)

Sending Test Status from Golem

Golem doesn’t use straight Selenium. In many ways, it is easier, or better but in other ways (like this) everyone will be using the standard Selenium syntax. To get around this problem in Golem, I reviewed their docs, which mentions they had a function called “execute_javascript,” and as it turns out, it does the same thing:

from golem import actions
    
    actions.execute_javascript('lambda-status=passed')
    actions.execute_javascript('lambda-status=failed')

At the top of the Golem test page, you’ll need to add the import for the actions class. Then write logic around conditions in your test to set the test pass or fail state in LamdaTest. Below is an example of how a failure would render on the LambdaTest automation dashboard.

#

No responses yet

Leave a Reply

Your email address will not be published. Required fields are marked *

Archives
Categories