我正在测试一个颤振应用程序。我要运行集成测试,就像 Espresso 和 Selenium 允许 UI 测试一样,根据我的阅读,我了解到测试 Flutter UI 需要设置集成模型。在 SeleniumfindById
和 Espresso 中,我们可以使用 , R.id.unique_element_id
。
我曾尝试理解唯一 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
是我想要完成的实际测试用例。