- No dependencies on internal network shares
- Execute command to return not only output, but also exit code, pid and others.
- Multiple simultaneous emulators and simulators
- FindByText
- Compare screens (pixel-by-pixel)
- Click on element
- Use emulator snapshots
- Real iOS devices
- Find by text
- Compare screens
- Click on element
- Improve Test Settings
- Split on multiple sub-classes
- Comply on 100% with ns-ci-build-tool variables
- Logger and Reporting
- No more print statements
- More clear logs
- Respect logging levels (be able to configure logger verbosity)
- Generate HTML report with screenshots and links to artifacts on test fail (may be Allure)
- Run tests via nose command
- Base TnsTest
- Utils wrapping tools we need
- Xcode
- Gradle
- Java
- Git
- Npm
- Chrome browser
- Image utils
- Get pixels by color
- Get main color
- OCR
- Picture comparison
- Picture matching by template matching
- Wait helper
- Wait until function returns true or timeout reached
- TestContext to hold
- Started pids
- App under test (to be able to backup it on test fail)
- Started emulators, simulators or device ids (to be able to take picture on fail)
- Tests for core itself
- Force linter rules
- Docs
- Docstring everywhere
- Accurate readme and other mds.
- Data for apps and templates (including change sets)
- Wrapper around
tns
commands - TnsAsserts util to verify
tns
command do what is supposed to do.
- Write all the tests
Acceptance Criteria:
- Measure following things on HelloWorldJS, HelloWorldNG and MasterDetailsNG templates:
- Project create
- Platform add (both platforms)
- Initial and incremental prepare (both platforms)
- Initial and incremental build (both platforms)
- Initial and incremental build (both platforms)
- Time to apply JS/TS/CSS/XML/HTML (both platforms)
Notes: Build, prepare and sync tests should be done with and without bundle for (at lest) following templates:
- HelloWorldJS
- HelloWorldNG
- HelloWorldVue
- MasterDetailsNG
- Write all the tests
We need to make sure we always work out of the box for end users.
Acceptance Criteria:
-
User should be able to git clone and run all popular app.
-
User should be able to create app from any template and run it without any modifications.
-
Run should also pass with bundle if webpack is available in the app/template.
-
JS SDK Samples
-
NG SDK Samples
-
Groceries
-
QSF
-
Hello World Templates
-
SideKick Templates (including blank and health)
-
Vue Templates