Traficlight client for android
Type of change
- [ ] Feature
- [ ] Bugfix
- [X] Technical
- [ ] Other :
Content
Adds code for a traffic light client for android. Trafficlight provides a remote server that allows multiple clients to coordinate with each other to run tests between many locations. We test at the UI level in this client.
Motivation and context
This should provide better testing options for cross-federation cross-platform tests
Screenshots / GIFs
Tests
- Step 1
- Step 2
- Step ...
Tested devices
- [ ] Physical
- [ ] Emulator
- OS version(s):
Checklist
- [ ] Changes has been tested on an Android device or Android emulator with API 21
- [ ] UI change has been tested on both light and dark themes
- [ ] Accessibility has been taken into account. See https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md#accessibility
- [x] Pull request is based on the develop branch
- [x] Pull request includes a new file under ./changelog.d. See https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md#changelog
- [ ] Pull request includes screenshots or videos if containing UI changes
- [x] Pull request includes a sign off
- [x] You've made a self review of your PR
- [ ] If you have modified the screen flow, or added new screens to the application, you have updated the test UiAllScreensSanityTest.allScreensTest()
Signed-off-by: Michael Kaye [email protected]
Kudos, SonarCloud Quality Gate passed! 
0 Bugs
0 Vulnerabilities
0 Security Hotspots
0 Code Smells
No Coverage information
0.0% Duplication
As well as review of the code; would welcome feedback on is this the right place for this (i know we were thnking of factoring out project builds from each other) and other suggestions on how to make it more integrated with the rest of the code. Very happy to move this lot around to have a better framework for future additions.
Will be working (separately) on a script to make it easier to run this test in a loop so multiple tests can be performed one after the other using only a few devices.
@michaelkaye how can we help to unblock this PR?
I don't think we want to unblock this PR like this; There's disadvantages of writing the code like this; the main one being that we need to compile a specific apk to deploy rather than use the build as-is.
I'd like to consider what we could do with adding named tags in the code, and using appium to click around an unmodified app. I had a go at this for element-x-android:
https://github.com/michaelkaye/element-x-android/tree/michaelk/provide_testId_tags is what i tried doing for element X android;
https://github.com/vector-im/trafficlight-adapter-appium/
is an appium driver that pushes the app around.
This feels a lot easier to manage than trying to run the system through the testing framework; we don't need to rebuild anything (once the tags are in place) we can just take an existing APK and point the appium codebase at it.
TL;DR: i think we should close this one for now as an approach.
@michaelkaye I guess we will focus our effort to make trafficlight work with ElementX now? If yes, can we close this PR?
Yeah, let's close this one.