MCPcopy Create free account
hub / github.com/MaaXYZ/MaaFramework / test_tasker_api

Function test_tasker_api

test/python/binding_test.py:469–586  ·  view source on GitHub ↗
(resource: Resource, controller: DbgController)

Source from the content-addressed store, hash-verified

467
468
469def test_tasker_api(resource: Resource, controller: DbgController):
470 print("\n=== test_tasker_api ===")
471
472 # 测试全局选项 (静态方法)
473 Tasker.set_save_draw(True)
474 Tasker.set_stdout_level(LoggingLevelEnum.All)
475 log_dir = install_dir / "bin" / "debug" / "新建文件夹"
476 assert Tasker.set_log_dir(log_dir)
477 Tasker.set_debug_mode(True)
478 Tasker.set_save_on_error(True)
479 Tasker.set_draw_quality(85)
480 Tasker.set_reco_image_cache_limit(4096)
481
482 # 创建 Tasker
483 tasker = Tasker()
484 print(f" tasker: {tasker}")
485
486 # 测试事件监听器
487 tasker_sink = MyTaskerEventSink()
488 context_sink = MyContextEventSink()
489 tasker_sink_id = tasker.add_sink(tasker_sink)
490 context_sink_id = tasker.add_context_sink(context_sink)
491 print(f" tasker_sink_id: {tasker_sink_id}, context_sink_id: {context_sink_id}")
492
493 # 绑定资源和控制器
494 tasker.bind(resource, controller)
495 print(f" inited: {tasker.inited}")
496
497 if not tasker.inited:
498 print("Failed to init tasker")
499 raise RuntimeError("Failed to init tasker")
500
501 # 测试 resource 和 controller 属性
502 bound_resource = tasker.resource
503 bound_controller = tasker.controller
504 print(f" bound_resource loaded: {bound_resource.loaded}")
505 print(f" bound_controller connected: {bound_controller.connected}")
506
507 # 测试 post_task
508 ppover = {
509 "Entry": {"next": "Rec"},
510 "Rec": {
511 "recognition": "Custom",
512 "custom_recognition": "MyRec",
513 "action": "Custom",
514 "custom_action": "MyAct",
515 "custom_action_param": "Test111222333",
516 },
517 }
518
519 detail = tasker.post_task("Entry", ppover).wait().get()
520 if detail:
521 print(f" task detail entry: {detail.entry}, status: {detail.status}")
522 print(f" task nodes count: {len(detail.nodes)}")
523
524 # 测试 get_task_detail
525 task_detail = tasker.get_task_detail(detail.task_id)
526 print(f" get_task_detail: {task_detail.entry if task_detail else None}")

Callers 1

binding_test.pyFile · 0.85

Calls 15

add_sinkMethod · 0.95
add_context_sinkMethod · 0.95
bindMethod · 0.95
post_taskMethod · 0.95
get_task_detailMethod · 0.95
get_node_detailMethod · 0.95
get_action_detailMethod · 0.95
post_stopMethod · 0.95
get_latest_nodeMethod · 0.95
clear_cacheMethod · 0.95
remove_sinkMethod · 0.95

Tested by

no test coverage detected