Wait for lockscreen to actually be started before running lock tests
Firstly we weren't waiting for a signal at all, we are relying on events being processed externally which is wrong.
Secondly ScreenLocker::KSldApp::self()->lockState() is tri-state; unlocked, acquiring, locked. This gets compressed to a boolean where acquiring and locked are the same.
If we run the tests whilst we're still acquiring the lock screen we can call unlocked before we've finished locking. The greeter might then be shown afterwards triggering a re-lock. It's a confused state.