title: Flutter - how to get Text widget on widget test
body: <p>I'm trying to create a simple widget test in Flutter. I have a custom widget that receives some values, composes a string and shows a Text with that string. I got to create the widget and it works, but I'm having trouble reading the value of the Text component to assert that the generated text is correct.</p>
  
  <p>I created a simple test that illustrates the issue. I want to get the text value, which is "text". I tried several ways, if I get the finder asString() I could interpret the string to get the value, but I don't consider that a good solution. I wanted to read the component as a Text so that I have access to all the properties.</p>
  
  <p>So, how would I read the Text widget so that I can access the data property?</p>
  
  <pre><code>import 'package:flutter/material.dart';
  import 'package:flutter_test/flutter_test.dart';
  
  void main() {
    testWidgets('my first widget test', (WidgetTester tester) async {
  
      await tester
          .pumpWidget(MaterialApp(home: Text("text", key: Key('unit_text'))));
  
      // This works and prints: (Text-[&lt;'unit_text'&gt;]("text"))
      var finder = find.byKey(Key("unit_text"));
      print(finder.evaluate().first);
  
      // This also works and prints: (Text-[&lt;'unit_text'&gt;]("text"))
      var finderByType = find.byType(Text);
      print(finderByType.evaluate().first);
  
      // This returns empty
      print(finder.first.evaluate().whereType&lt;Text&gt;());
  
      // This throws: type 'StatelessElement' is not a subtype of type 'Text' in type cast
      print(finder.first.evaluate().cast&lt;Text&gt;().first);
  
    });
  }
  </code></pre>