element-android icon indicating copy to clipboard operation
element-android copied to clipboard

Traficlight client for android

Open michaelkaye opened this issue 3 years ago • 2 comments

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]

michaelkaye avatar Aug 03 '22 14:08 michaelkaye

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

sonarqubecloud[bot] avatar Aug 04 '22 11:08 sonarqubecloud[bot]

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 avatar Aug 04 '22 12:08 michaelkaye

@michaelkaye how can we help to unblock this PR?

bmarty avatar Jan 10 '23 13:01 bmarty

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 avatar Jan 11 '23 16:01 michaelkaye

@michaelkaye I guess we will focus our effort to make trafficlight work with ElementX now? If yes, can we close this PR?

bmarty avatar Feb 07 '23 13:02 bmarty

Yeah, let's close this one.

michaelkaye avatar Feb 08 '23 10:02 michaelkaye