Тестирование приложения NativeScript с Appium
Я изучаю NativeScript. Я пытаюсь написать несколько автоматических тестов с Jasmine. По моему мнению, я могу использовать Appium с Jasmine для запуска автоматических тестов в эмуляторе. В это время я добавил appium-gulp-plugins в файл package.son. У меня также есть базовый файл JavaScript с одним тестом. Этот файл выглядит следующим образом:
describe('MyApp', function() {
describe('Login', function() {
it('should successfuly login', function() {
// set username field value
// set password field value
// click "login" button.
// get response.
expect(true).toBe(true);
});
});
});
У меня есть две проблемы:
- Как мне взаимодействовать с представлением NativeScript из теста?
-
Как я могу запустить тесты? Как сейчас, его прямо вверх по Жасмину, поэтому я могу сделать следующее:
gulp.src('./path/to/tests.js').pipe(jasmine());
Однако, с Appium в миксе, я не уверен, как интегрировать его как часть запуска моих тестов.
Ответы
Ответ 1
Part-1. Представления создаются с использованием xml, который должен иметь такие атрибуты, как text,name,css
и т.д. Они доступны с использованием таких методов, как By.name,By.cssSelector
и т.д. в зависимости от атрибутов, предоставленных во время разработки.
Part-2. Я считаю, что с тех пор, как Appium был основан на селене и поддерживает большинство его функций. Вы можете пойти и попробовать что-то похожее на this, и вы можете обеспечить действие для своего пакета, получающего доступ к объектам, как в части 1. Для запуска созданных тестов потребуются аналогичные усилия для запуска основного теста script.
Ответ 2
Посмотрите этот закрытый вопрос в github: https://github.com/NativeScript/NativeScript/issues/553
У вас нет доступа к внутренним компонентам вашего приложения:( (когда вы используете appium для тестов, но почему вы не смотрите в KIF, вы получаете доступ к элементам с помощью метки доступности или идентификатора доступности, это проще. Надежда помогает:)