标签: flutter-test

如何在 flutter 中将文件大小转换为 mb、kb、gb 等

我想从存储中获取文件后获取文件的大小这 是我获取大小的代码

 trailing: FutureBuilder<int>(
                        builder: (context, snapshot) {
                          return Text(snapshot.data.toString());
                        },
                        future: files[index].length(),
                      ),
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-test flutter-web

3
推荐指数
1
解决办法
3426
查看次数

Flutter Dart测试带有服务器回调的http

我正在为我的dart应用程序开发一些测试,但是按钮按下时的回调存在一些问题。

例如,我有一个带有服务器请求回调的按钮。当我用测试仪点击按钮时,将调用异步暂停。我已经看到了一些使用模拟请求的解决方法,但是我想对服务器执行实际的请求。有什么解决办法吗?

预期结果:测试仪点击按钮。该按钮正在向服务器发出呼叫,然后在请求到达之后/当前状态刷新之后继续测试(这些都很好)。

如果无法做到这一点,那么您对软件进行此类测试还有其他建议吗?也许通过詹金斯?

点击按钮的代码:

 testWidgets("Open Login Test", (WidgetTester tester) async{
 await tester.pumpWidget(
    new MaterialApp(
      home: new Material(
        child: new LoginScreen(),
      ),
    ));

expect(find.text("Next"), findsOneWidget);
expect(find.text("Login"), findsNothing);

Finder emailField = find.byKey(new Key('email'));
await tester.enterText(emailField, "vlad_duncea_31@yahoo.com");

var submitButton = find.byKey(new Key('login'));
expect(submitButton, findsOneWidget);

await tester.tap(submitButton);
expect(find.text("Next"), findsNothing);
expect(find.text("Login"), findsOneWidget);

});
Run Code Online (Sandbox Code Playgroud)

mobile unit-testing dart flutter flutter-test

2
推荐指数
1
解决办法
1205
查看次数

通过参数传递要在函数内修改的变量

我有一个方法负责将TextFormField字段的值保存在不同Forms的变量中,但它们不会将值保存在我通过参数传递的String变量中,当Forms变量中。

这是我的变量的一种形式的声明:

    final formKeyMotherboard = new GlobalKey<FormState>();
  String _numInvMotherboard,
      _marcaMotherboard,
      _modeloMotherboard,
      _tipoMotherboard,
      _detallesMotherboard,
      _fechaMotherboard;

  final TextEditingController controllerNumInventarioMotherboard =
      new TextEditingController();
  final TextEditingController controllerMarcaMotherboard =
      new TextEditingController();
  final TextEditingController controllerModeloMotherboard =
      new TextEditingController();
  final TextEditingController controllerTipoMotherboard =
      new TextEditingController();
  final TextEditingController controllerDetallesMotherboard =
      new TextEditingController();
  final TextEditingController controllerFechaMotherboard =
      new TextEditingController();
Run Code Online (Sandbox Code Playgroud)

这是方法:

    Step _defaulFrom(
      {@required IconData icon,
      @required String nameForm,
      @required Key keyForm,
      @required String saveNumInv,
      @required String saveMarca,
      @required String saveModelo,
      @required String …
Run Code Online (Sandbox Code Playgroud)

dart dart-pub flutter flutter-test flutter-layout

2
推荐指数
1
解决办法
3265
查看次数

如何在启动时捕获 flutter 应用程序崩溃

我需要捕获应用程序崩溃日志,此应用程序崩溃发生在 AndroidStudio 启动时运行/调试时(仍然没有签名的 apk)。我尝试过使用哨兵,但没有发现任何错误。

我尝试在 try-catch 上测试打印文本,main.dart但哨兵无法捕获它。

有更好的主意吗?

flutter flutter-test flutter-dependencies

2
推荐指数
1
解决办法
3638
查看次数

使用小部件测试在滑块中选择值

我有一个包含一系列滑块的屏幕,用户可以在其中选择是否同意/不同意某些内容,例如:

Slider(
  key: Key(questionId),
  min: 0,
  max: 5,
  divisions: 5,
  value: _value,
  onChanged: (value) {
     setState(() {
       _value = value;
     });
  },
),
Run Code Online (Sandbox Code Playgroud)

我目前正在使用 实现 UI 测试testWidgets,其中用户在 Sliders 中选择多个值,然后在用户单击按钮时存储,并且我希望能够选择一个值,例如,滑动滑块值'2'。

我怎样才能做到这一点?

我唯一的想法是使用tapAt值在滑块中的精确像素坐标,但似乎非常复杂。

为了澄清起见,我正在询问 Widget 测试,如下所述:https : //flutter.dev/docs/cookbook/testing/widget/introduction

flutter flutter-test

2
推荐指数
1
解决办法
675
查看次数

如何使用 Flutter 小部件测试器查找“选定”ListTile?

我正在为 Flutter 中的简单元素编写小部件测试ListViewListTile并且想要测试元素是否已突出显示。

如何找到与“选定”条件匹配的给定类型的小部件?

Finder finder = find.byType(ListTile); // how to filter out only selected
Run Code Online (Sandbox Code Playgroud)

flutter flutter-test

2
推荐指数
1
解决办法
1084
查看次数

Flutter Driver 从日期选择器中选择日期

我想通过日期选择器选择一个日期作为颤振驱动程序测试的一部分。但是,我似乎无法弄清楚我将如何做到这一点?

我试过使用find.textand find.bySemanticsLabel,并且尝试过但到目前为止没有运气。

我的代码:

Future<void> executeStep() async {
  await FlutterDriverUtils.waitForFlutter(world.driver);
  NewOrderForm newOrderForm = NewOrderForm(world.driver);
  await newOrderForm.setFieldKontrak();
  //Open Date Picker
  await newOrderForm.setDateKontrak();
  //Select date 24
  await driver.waitFor(find.bySemanticsLabel('24'));
  await driver.tap(find.text('24'),timeout: Duration(seconds: 15));
  await driver.waitFor(find.text('OK'));
  await driver.tap(find.text('OK'));
  await newOrderForm.setProyekField();
Run Code Online (Sandbox Code Playgroud)

}

屏幕截图:

在此处输入图片说明

flutter flutter-test

2
推荐指数
1
解决办法
1865
查看次数

在颤动中使用按钮手势旋转文本或图像

现在,当我做出 360 度手势时,图像仅从左向右平滑旋转。

要求的结果:

  • 当我们做一个 360 度的手势时应该从右向左旋转。
  • 完成:当我们做出 360 度手势时,应该从右向左旋转。
  • 一旦我们在某个点开始从左向右旋转,然后再次从右向左旋转,它应该从做出手势的任一方向旋转。

在此处输入图片说明

  import 'dart:math';

  import 'package:flutter/material.dart';

  class RotateImage extends StatefulWidget {
    RotateImage({Key key}) : super(key: key); // changed

    @override
    _RotateImageState createState() => _RotateImageState();
  }

  class _RotateImageState extends State<RotateImage> {
    double finalAngle = 0.0;

    @override
    Widget build(BuildContext context) {
      return _defaultApp(context);
    }

    _defaultApp(BuildContext context) {
      return Scaffold(
        appBar: AppBar(
          title: Text('Single finger Rotate text'), // changed
        ),
        body: Center(
          child: Column(
            children: <Widget>[
              Container(
                color: Colors.red,
                padding: EdgeInsets.all(10),
                margin: EdgeInsets.only(top: 50), …
Run Code Online (Sandbox Code Playgroud)

transform gesture-recognition flutter flutter-test flutter-layout

2
推荐指数
1
解决办法
2137
查看次数

Flutter url_launcher 在已安装的应用程序(Facebook)中打开 Facebook 链接,但在 IOS 中它只打开 Facebook 而不是链接

我使用了 Url_launcher 包;如果应用程序安装了其他浏览器,我想在 facebook 应用程序中打开 Facebook 链接。这在 Android 中很好地工作,但在 IOS 中它只打开 Facebook 应用程序而不是链接。

代码是:

String digital_url= "https://facebook.com/AliForDigitalIsrael/";

    new ListTile(
                            leading: new SvgPicture.asset(
                              'assets/images/ic_menu_fb.svg',
                              height: 24.0,
                              width: 24.0,
                              color: Colors.black54,
                            ),
                            title: new Text(
                              Strings.fbdigital,
                              textDirection: TextDirection.rtl,
                            ),
                            onTap: () async {
                              var fbUrl =
                                  "fb://facewebmodal/f?href=" + Strings.digital_url;
                              launchFacebook(fbUrl, Strings.digital_url);
                              hideDrawer();
                            },
    
                          ),
         Future<void> launchFacebook(String fbUrl,String fbWebUrl)
      async {
        try {
          bool launched = await launch(fbUrl, forceSafariVC: false);
          print("Launched Native app $launched");
    
          if (!launched) {
            await launch(fbWebUrl, forceSafariVC: false);
            print("Launched browser …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-test flutter-packages flutter-ios

2
推荐指数
1
解决办法
5052
查看次数

如何使用箭头键滚动 Flutter Web 应用程序

我刚刚构建并部署了一个 Flutter Web 应用程序。我遇到的问题是当我按箭头键时它不滚动,也没有滚动条。(只有 2 图形手势滚动是可能的)

我将 SingleChildScrollView() 与列作为其子项一起使用。

有没有办法实现它们?

还是只是其中之一?

scroll flutter flutter-test flutter-web

2
推荐指数
1
解决办法
1598
查看次数