Flutter测试辅助插件test_rail_dart的使用
Flutter测试辅助插件test_rail_dart的使用
Test Rail Dart
此插件是Test Rail API的一个轻量级封装,它允许在Dart中进行自动化测试报告。它使用户能够通过Dart界面开始、报告用例通过/失败,并关闭测试运行。
开始使用
初始化TestRail实例使用config方法:
TestRail.config(
username: '用户名',
password: '密码',
/// 指向Test Rail服务器的URL => https://example.testrail.com
serverDomain: 'https://YOUR_SERVER.testrail.com'
)
使用方法
创建或更新测试运行
首先创建一个新的测试运行:
/// 创建一个新测试运行
final newRun = await TestRun.create(
name: '测试执行',
projectId: 1
);
/// 将用例添加到运行中
await newRun.updateRun(
caseIds: [1, 2, 3, 5],
);
创建测试运行后,可以通过用例报告结果:
final result = await newRun.addResultForCase(
caseId: 1,
statusId: 1,
);
// 可选地将截图或其他图像添加到结果中
await result.addAttachmentToResult(
'/workspace/attachments/failure.png',
);
获取数据
可以检索历史上的运行、用例和部分:
final testCase = await TestCase.get(1);
final testRun = await TestRun.get(1);
final testSection = await TestSection.get(1);
示例代码
以下是完整的示例代码:
// 忽略未使用的局部变量
import 'package:test_rail_dart/test_rail.dart';
import 'package:test_rail_dart/test_case.dart';
import 'package:test_rail_dart/test_run.dart';
import 'package:test_rail_dart/test_section.dart';
void main(List<String> args) async {
TestRail.configure(
serverDomain: args[0],
username: args[1],
password: args[2],
);
// 替换为你自己的caseId
final testCase = await TestCase.get(142864);
// 替换为你自己的projectId,额外参数在方法中可用
final testRuns = await TestRun.getAll(projectId: 1125, limit: 10);
// 替换为你自己的projectId
final testRun = await TestRun.get(1125);
// 替换为你自己的sectionId
final section = await TestSection.get(13);
final newRun = await TestRun.create(
caseIds: [testCase.id],
description: '121',
name: 'newRun',
// 替换为你自己的projectId
projectId: 134,
);
final testCaseResult = await newRun.addResultForCase(
testCase.id,
// 状态 - 1: 通过
statusId: 1,
);
await newRun.update(
caseIds: [1, 6, 7],
includeAll: false,
);
// 替换为附件路径
await testCaseResult.addAttachment('<attachment_path>');
}
更多关于Flutter测试辅助插件test_rail_dart的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter测试辅助插件test_rail_dart的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
在Flutter项目中,使用test_rail_dart
插件可以帮助你与TestRail集成,从而更好地管理和报告你的测试案例。以下是一个关于如何在Flutter项目中集成和使用test_rail_dart
的示例代码。
首先,确保你已经在pubspec.yaml
文件中添加了test_rail_dart
依赖:
dependencies:
flutter:
sdk: flutter
test_rail_dart: ^最新版本号 # 请替换为实际发布的最新版本号
然后,运行flutter pub get
来安装依赖。
接下来,你需要配置TestRail的API密钥和URL。通常,这些信息会在你的TestRail账户设置中找到。
下面是一个简单的示例,展示如何使用test_rail_dart
插件来获取一个项目中的所有测试用例:
import 'package:flutter/material.dart';
import 'package:test_rail_dart/test_rail_dart.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: TestRailIntegrationPage(),
);
}
}
class TestRailIntegrationPage extends StatefulWidget {
@override
_TestRailIntegrationPageState createState() => _TestRailIntegrationPageState();
}
class _TestRailIntegrationPageState extends State<TestRailIntegrationPage> {
List<TestCase> testCases = [];
@override
void initState() {
super.initState();
_fetchTestCases();
}
Future<void> _fetchTestCases() async {
// 配置TestRail客户端
final testRailClient = TestRailClient(
baseUrl: 'https://your-testrail-url.testrail.io/', // 替换为你的TestRail URL
user: 'your-email@example.com', // 替换为你的TestRail用户名或邮箱
password: 'your-api-key', // 替换为你的TestRail API密钥
);
try {
// 获取项目ID为1的所有测试用例
final response = await testRailClient.getCases(projectId: 1);
// 更新状态
setState(() {
testCases = response.map((caseData) => TestCase.fromJson(caseData)).toList();
});
} catch (e) {
print('Error fetching test cases: $e');
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('TestRail Integration'),
),
body: ListView.builder(
itemCount: testCases.length,
itemBuilder: (context, index) {
final testCase = testCases[index];
return ListTile(
title: Text('Case ID: ${testCase.id}, Title: ${testCase.title}'),
);
},
),
);
}
}
// 定义一个TestCase类来匹配TestRail返回的JSON结构
class TestCase {
int id;
String title;
// 根据TestRail API返回的JSON结构添加其他字段
TestCase({required this.id, required this.title});
factory TestCase.fromJson(Map<String, dynamic> json) {
return TestCase(
id: json['id'] as int,
title: json['title'] as String,
// 添加其他字段的解析
);
}
}
在这个示例中,我们创建了一个Flutter应用,它在初始化时从TestRail获取所有测试用例,并将它们显示在一个列表中。你需要替换baseUrl
、user
和password
字段的值以匹配你的TestRail配置。
注意:
TestRailClient
是一个假设的类,实际使用时你需要根据test_rail_dart
插件的文档来创建和配置客户端。- 确保你已经正确处理了API密钥和敏感信息,不要将它们硬编码在客户端代码中,而是使用环境变量或安全的密钥管理服务。
- 根据你的需求,你可能需要扩展
TestCase
类以包含TestRail API返回的所有相关字段。
请查阅test_rail_dart
插件的官方文档以获取更多详细信息和API使用方法。