Тестирование флаттера.Я должен провести интеграционное тестирование, так же как Espresso и Selenium разрешают тестирование пользовательского интерфейса, основываясь на моем чтении, я понял, что тестирование Flutter UI потребует настройки интеграционной модели.В Selenium findById
и Espresso мы можем использовать R.id.unique_element_id
.Я пытался понять, как уникальный идентификатор ссылается на виджеты во Flutter, но не понимаю, пожалуйста, я только что поднял его сегодня.Любой простой тест для такой формы
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new Text(
'You have pushed the button this many times:',
),
new TextFormField(
decoration: new InputDecoration(
labelText: 'Enter your username'
),
),
new TextFormField(
decoration: new InputDecoration(
labelText: 'Enter your phone number'
),
keyboardType: TextInputType.number,
),
new Text(
'$_counter',
style: Theme.of(context).textTheme.display1,
),
],
Настройте тестовый файл следующим образом
import 'package:flutter_driver/flutter_driver.dart';
import 'package:test/test.dart';
void main() {
FlutterDriver driver;
setUpAll(() async {
driver = await FlutterDriver.connect();
});
tearDownAll(() async {
if(driver != null){
driver.close();
}
});
test('tap on the button, verify result', () async {
final SerializableFinder username = find.byValueKey('usernametextfield');
expect(username, isNotNull);
//insert value into username
final SerializableFinder phonenumber = find.byValueKey('phone');
expect(phonenumber, isNotNull);
//insert value into phonenumber
});
Пожалуйста, как мне создать такой tetscase и запустить.комментарии //insert value into username
и //insert value into phonenumber
являются реальными тестовыми примерами, которые я хочу завершить.