status-desktop/test/ui-test
Stefan 691de11211 fix(Wallet) network selection and unify network implementations
Major changes:

- Don't allow empty network selection. End up using the nim model
  directly instead because of individual row changes issues
  encountered with nim models
- Made the clone model a generic implementation to be used in other
places where we need to clone a model: ReceiveModal,
AddEditSavedAddressPopup
- Use cloned model as alternative to NetworksExtraStoreProxy in
  ReceiveModal
- Added tristate support to our generic checkbox control
- UX improvements as per design
- Fix save address tests naming and zero address issue
- Various fixes

Notes:
- Failed to make NetworkSelectPopup follow ground-truth: show partially
  checked as user intention until the network is selected in the
  source model. Got stuck on nim models not being stable models and
  report wrong entry change when reset. Tried sorting and only updating
  changes without reset but it didn't work.
- Moved grouped property SingleSelectionInfo to its own file from
  an inline component after finding out that it fails to load on Linux
  with error "Cannot assign to property of unknown type: "*".".
  It works on MacOS as expected

Closes: #10119
2023-04-20 19:34:24 +02:00
..
doc test(chore): Renamed and reorganized files and added files flow diagram 2022-11-22 12:44:57 +01:00
fixtures test(community): add a test where the admin can delete a user's message 2023-01-04 11:12:47 -05:00
src fix(Wallet) network selection and unify network implementations 2023-04-20 19:34:24 +02:00
testSuites fix(Wallet) network selection and unify network implementations 2023-04-20 19:34:24 +02:00
.gitignore test(settings/profile): test bio and social links 2022-08-17 13:18:32 +02:00
README.md ci(e2e): Updated squish version from 6.7.2 to 7.1-SNAPSHOT 2023-03-07 10:32:26 +01:00

README.md

status-desktop-ui-test

UI test application for Status Desktop

  • Test automation project that uses Squish as a testing tool with BDD.
  • Information about its architecture can be found in wiki.

Screenshot 2022-02-25 at 10 22 45

Preparing the environment to develop and run tests

  1. Install Squish and run its IDE.
  2. File / Open Test Suite and browse to testSuites directory.
  3. Once the suite is open, click Test Suite Settings button to configure the AUT (Application Under test).
    • Select AUT tab and browse until the corresponding status-desktop\bin\nim_status_client binary is set.
    • Uncheck Automatically start the AUT option (if it is already checked).
    • Save changes.

Now you should be able to create new suites, test cases and run the existing ones just only by clicking Run buttons!!

Here a more detailed installation guide specific for this project.

Squish versions tested

Status APP Qt version Squish version Squish Qt version Local macOS Monterey 12.3.1 CI
5.14.2 6.7.2 5.14 OK OK
5.15.2 6.7.2 5.14 OK OK
5.15.2 7.0.1 5.15 KO KO
5.15.2 7.1.0 5.14 KO KO
5.15.2 7.1.0 5.15 KO KO
5.15.2 7.1.-20230222-1555 (SNAPSHOT) 5.15 OK OK (manual extension removal*)

NOTE 1: KO means the test execution hangs on squish.waitForObject() or squish.findObject(). Seen this behaviour particularly in Onboarding / Create Password Screen.

NOTE 2: The 7.1-SNAPSHOT version for linux needs a manual interaction (if not the app crashes when the test execution starts). It is needed to rename library in:

SQUISHDIR\lib\extensions

 squishqtwaylandcompositor.ext

to

 squishqtwaylandcompositor_off.ext

Last status app tested: Master branch - Commit: d31acbfb48fe7027657a08c648836d9a8f11240c