Meu aplicativo tem QML testes usando QtTests que eu corro localmente no desktop através qmltestrunner . Estou interessado em executar esses testes no dispositivo para simular condições reais, como o teclado na tela sendo visível e assim por diante. Como faço para executá-lo no dispositivo?
Como exemplo tomar a Ubuntu Relógio App cujo código fonte que você pode obter por,
bzr branch lp:ubuntu-clock-app
Na área de trabalho, executo os testes por
cd ubuntu-clock-app/tests/unit
qmltestrunner -input tst_alarmLabel.qml (inside tests/unit folder)
Eu empurrei o código fonte para o (telefone, x86 Emulator) e tentou executá-lo por,
adb push ubuntu-clock-app /tmp
phablet-shell
cd /tmp/ubuntu-clock-app/tests/unit
qmltestrunner -input tst_alarmLabel.qml
No entanto, recebi o seguinte erro,
/usr/lib/arm-linux-gnueabihf/qt5/bin/qmltestrunner: invalid option -- 'i'
/usr/lib/arm-linux-gnueabihf/qt5/bin/qmltestrunner: invalid option -- 'n'
/usr/lib/arm-linux-gnueabihf/qt5/bin/qmltestrunner: invalid option -- 'p'
/usr/lib/arm-linux-gnueabihf/qt5/bin/qmltestrunner: invalid option -- 'u'
/usr/lib/arm-linux-gnueabihf/qt5/bin/qmltestrunner: invalid option -- 't'
Segmentation fault (core dumped)
Ao tentar executar sem o parâmetro -input, uma vez que não é reconhecido, recebi
phablet@ubuntu-phablet:/tmp/tests/unit$ qmltestrunner tst_alarmLabel.qml
Segmentation fault (core dumped)
Nota:. Eu tive que instalar qtdeclarative5-dev-tools e qtdeclarative5-test-plugin no telefone para obter qmltestrunner e QTest 1.0