Writing Tests with Marionette
Marionette itself is a remote driver, but we have a test runner integrated with our python marionette client that's designed with Marionette in mind. This test runner can run tests according to environment (b2g on a phone, b2g on emulator, browser, etc.), and can start and control multiple B2G emulators, enabling you to synthesize events like power level changes, and can coordinate between them. For these kinds of tests, you'll need to write Marionette Python tests.
Types of Tests Supported
1 - Check number of messages in emulator A by using webAPI calls in content space 2 - In emulator B, use content webAPI calls to send a text to emulator A. 3 - Check the number of messages in emulator A, using webAPI in content again and assert that a new SMS has indeed arrived.
Since we're communicating remotely, we can coordinate actions and change state outside of the system under test.
These tests allow you to operate within the running environment, but also give you freedom to do operations elsewhere