E2E testing of Scenic applications

Is there a clean way to interact with a running Scenic application from the outside, for e2e/acceptance/integration testing? I’m thinking of something similar to how you’d test web apps with Hound, Wallaby etc, so you could write tests along the lines of “if I click the foo button in the bar component, then the expected text appears in the baz component”.

I’ve had a poke around to try to figure something out, but I keep finding myself having to drop down to things like :sys.get_state/1 to poke around in the internals of viewports and scenes, which doesn’t feel right (and also I haven’t actually got anything working properly). I’ve also had a look at the framework tests, but they seem to operate at a lower level (as you’d expect), rendering individual components defined in the tests, in a test-specific viewport.

Yeah this is a sore spot in Scenic right now. But it is one that the core team is interested in tackling. If you have any thoughts on what a nice API would be we’d be glad to hear them :+1: