Тестирование Appium для приложений Flutter
31 мая 2022 г.Flutter — это среда разработки пользовательского интерфейса с открытым исходным кодом от Google. Он позволяет создавать кроссплатформенные мобильные приложения. Напишите код один раз и создайте приложение для Android и iOS.
Он похож на React Native — фреймворк, созданный Facebook.
Какой язык программирования использует Flutter?
Приложения Flutter написаны на Dart. Приложение работает внутри виртуальной машины Dart, которая поддерживает горячую перезагрузку. Это упрощает перезагрузку на лету при разработке приложения.
В основе Flutter лежит движок Flutter, написанный на C++. Он отвечает за пользовательский интерфейс, работу в сети, компиляцию и другие основные функции.
Flutter использует реактивный фреймворк пользовательского интерфейса, похожий на фреймворк React Facebook.
Начало работы с Appium Flutter Driver
Во-первых, убедитесь, что у вас установлен Appium. Вы можете легко сделать это через NPM (который поставляется с NodeJS):
```javascript
npm установить приложение
Вам также потребуется установить [appium flutter-driver] (https://github.com/appium-userland/appium-flutter-driver), который позволяет использовать Appium в сочетании с приложениями Flutter.
```javascript
npm установить appium-flutter-драйвер
Затем убедитесь, что ваше приложение настроено для запуска автоматических тестов.
Вам потребуется скомпилировать приложение Flutter в режиме отладки или профилирования и использовать enableFlutterDriverExtension перед runApp
.
```javascript
пустая функция() {
включитьFlutterDriverExtension();
в этом();
запустить приложение (Мое приложение ());
Как только это будет сделано, вы можете создать и запустить свой первый автоматизированный тест. См. приведенный ниже пример того, как запустить простой автоматический тест в мобильном приложении на основе флаттера как на Android, так и на iOS.
```javascript
const wdio = require('webdriverio');
const утверждать = требовать ('утверждать');
const {byValueKey} = require('appium-flutter-finder');
постоянные заглавные буквы = {
имя_платформы: 'Android',
имя_устройства: 'Samsung Galaxy S21',
приложение: 'http://...path.to.apk',
константные параметры = {
возможности: {
...шапки,
AutomationName: «Флаттер»,
retryBackoffTime: 500,
имя хоста: 'hub.testingbot.com',
пользователь: '...',
ключ: '...'
(асинхронный () => {
const counterTextFinder = byValueKey('счетчик');
const buttonFinder = byValueKey('приращение');
постоянный драйвер = ожидание wdio.remote(opts);
если (process.env.APPIUM_OS === 'андроид') {
ожидайте driver.switchContext('NATIVE_APP');
ожидание (ожидание драйвера.$('~fab')).click();
ожидайте driver.switchContext('FLUTTER');
} еще {
console.log('Переключение контекста на NATIVE_APP
в настоящее время применимо только к демонстрационному приложению Android.')
assert.strictEqual (ожидание driver.getElementText (counterTextFinder), '0');
ожидание driver.elementClick(buttonFinder);
ждать driver.touchAction({
действие: «нажать»,
элемент: { elementId: buttonFinder }
assert.strictEqual (ожидание driver.getElementText (counterTextFinder), '2');
driver.deleteSession();
Облачное тестирование Appium
Преимущество использования облачного провайдера для тестирования Appium заключается в том, что они предоставляют готовые к использованию устройства, предварительно настроенные для запуска ваших тестов. Это избавляет вас от необходимости покупать, настраивать и обслуживать пул устройств самостоятельно.
Дополнительная информация о Тестировании приложения Appium Flutter доступна на TestingBot, который предоставляет облачную сетку, состоящую из нескольких физических устройств iOS и Android. , готовый к запуску автоматизированных тестов мобильных приложений.
Также опубликовано [Здесь] (https://testingbot.com/resources/articles/appium-flutter-app-testing)
Оригинал