@prefix schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ks: <https://comcomponent.com/vocab/> .

<https://comcomponent.com/blog/windows-desktop-ui-automation-testing/#article>
    schema:about <https://comcomponent.com/knowledge/ui-automation/>, <https://comcomponent.com/knowledge/flaui/>, <https://comcomponent.com/knowledge/automationid/> ;
    schema:mentions <https://comcomponent.com/knowledge/automation-tree/>, <https://comcomponent.com/knowledge/control-pattern/>, <https://comcomponent.com/knowledge/winappdriver/>, <https://comcomponent.com/knowledge/appium-windows-driver/>, <https://comcomponent.com/knowledge/coded-ui-test/>, <https://comcomponent.com/knowledge/inspect-exe/>, <https://comcomponent.com/knowledge/accessibility-insights/>, <https://comcomponent.com/knowledge/flaky-ui-test/>, <https://comcomponent.com/knowledge/retry-condition-wait/>, <https://comcomponent.com/knowledge/thread-sleep-antipattern/>, <https://comcomponent.com/knowledge/page-object-pattern/>, <https://comcomponent.com/knowledge/smoke-test/>, <https://comcomponent.com/knowledge/test-pyramid/>, <https://comcomponent.com/knowledge/interactive-desktop-session/>, <https://comcomponent.com/knowledge/autologon/>, <https://comcomponent.com/knowledge/self-hosted-runner/>, <https://comcomponent.com/knowledge/wpf/>, <https://comcomponent.com/knowledge/windows-forms/>, <https://comcomponent.com/knowledge/new-project-adoption/> .

<https://comcomponent.com/knowledge/ui-automation/> a skos:Concept ;
    skos:prefLabel "Windows UI Automation(UIA)"@ja ;
    skos:definition "スクリーンリーダーなどの支援技術やテスト自動化ツールが、アプリのUIをプログラムから読み取り・操作するためのWindowsの公式基盤。"@ja ;
    skos:altLabel "UI Automation" ;
    skos:altLabel "UIA" ;
    ks:uses <https://comcomponent.com/knowledge/automation-tree/> ;
    ks:uses <https://comcomponent.com/knowledge/control-pattern/> ;
    ks:uses <https://comcomponent.com/knowledge/automationid/> ;
    ks:requires <https://comcomponent.com/knowledge/interactive-desktop-session/> .

<https://comcomponent.com/knowledge/flaui/> a skos:Concept ;
    skos:prefLabel "FlaUI"@ja ;
    skos:definition "Windows UI Automationを薄くラップしたMITライセンスの.NETライブラリで、UIA2/UIA3の両方に対応するUI自動テスト支援ツール。"@ja ;
    skos:altLabel "FlaUI.Core" ;
    skos:altLabel "FlaUI.UIA2" ;
    skos:altLabel "FlaUI.UIA3" ;
    ks:uses <https://comcomponent.com/knowledge/ui-automation/> ;
    ks:uses <https://comcomponent.com/knowledge/control-pattern/> ;
    ks:recommendedFor <https://comcomponent.com/knowledge/new-project-adoption/> ;
    ks:automates <https://comcomponent.com/knowledge/smoke-test/> .

<https://comcomponent.com/knowledge/automationid/> a skos:Concept ;
    skos:prefLabel "AutomationId"@ja ;
    skos:definition "ロケールに依存せず兄弟要素内で一意であることが求められる、UI Automationの要素識別用プロパティ。"@ja ;
    skos:altLabel "AutomationID" ;
    ks:mitigates <https://comcomponent.com/knowledge/flaky-ui-test/> ;
    ks:verifiedBy <https://comcomponent.com/knowledge/inspect-exe/> .

<https://comcomponent.com/knowledge/automation-tree/> a skos:Concept ;
    skos:prefLabel "オートメーションツリー"@ja ;
    skos:definition "デスクトップを根として、開いているすべてのウィンドウとコントロールが階層構造で公開されるUI Automationのツリー。raw・コントロール・コンテンツの3つのフィルター済みビューを持つ。"@ja ;
    skos:altLabel "Automation Tree" .

<https://comcomponent.com/knowledge/control-pattern/> a skos:Concept ;
    skos:prefLabel "コントロールパターン"@ja ;
    skos:definition "Invoke・Value・SelectionItemなど、コントロールの操作機能をコントロール種別と独立して公開するUI Automationの仕組み。"@ja ;
    skos:altLabel "Control Pattern" .

<https://comcomponent.com/knowledge/flaky-ui-test/> a skos:Concept ;
    skos:prefLabel "壊れやすいUIテスト(flaky test)"@ja ;
    skos:definition "タイミング依存や表示文字列・座標への依存によって、同じコードでも実行のたびに成功・失敗が入れ替わるUIテストの状態。"@ja ;
    skos:altLabel "Flaky Test" .

<https://comcomponent.com/knowledge/retry-condition-wait/> a skos:Concept ;
    skos:prefLabel "条件待機(Retry)"@ja ;
    skos:definition "固定時間のSleepではなく、条件が満たされるまでポーリングしタイムアウトで打ち切る待機方式。FlaUIはRetry.WhileNull/WhileFalse/WhileTrue/WhileExceptionを提供する。"@ja ;
    skos:altLabel "Retry Class" ;
    skos:altLabel "Retry.WhileNull" ;
    ks:mitigates <https://comcomponent.com/knowledge/flaky-ui-test/> .

<https://comcomponent.com/knowledge/thread-sleep-antipattern/> a skos:Concept ;
    skos:prefLabel "Thread.Sleepによる固定待機"@ja ;
    skos:definition "非同期に変化するUIの表示タイミングを固定時間の待機で決め打ちする実装。速いマシンでは無駄待ちし、遅いマシンではタイムアウト不足で失敗する。"@ja ;
    skos:altLabel "Thread.Sleep(3000)" .

<https://comcomponent.com/knowledge/page-object-pattern/> a skos:Concept ;
    skos:prefLabel "Page Objectパターン"@ja ;
    skos:definition "画面(またはダイアログ)1つにつきクラス1つを作り、要素の検索と操作をそのクラスへ閉じ込めるテスト設計パターン。"@ja ;
    skos:altLabel "Page Object Model" ;
    ks:mitigates <https://comcomponent.com/knowledge/flaky-ui-test/> .

<https://comcomponent.com/knowledge/winappdriver/> a skos:Concept ;
    skos:prefLabel "WinAppDriver"@ja ;
    skos:definition "WebDriverプロトコルでWindowsアプリを操作するMicrosoft製のUIテストサーバー。最終安定版v1.2.1が2020年11月で止まっており、サーバー本体のソースコードは非公開。"@ja ;
    skos:altLabel "Windows Application Driver" ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/new-project-adoption/> ;
    ks:succeeds <https://comcomponent.com/knowledge/coded-ui-test/> .

<https://comcomponent.com/knowledge/new-project-adoption/> a skos:Concept ;
    skos:prefLabel "新規プロジェクトでの新規採用"@ja ;
    skos:definition "これから作るシステムで、ある技術(メッセージキューやUI自動化ツールなど)を新規に選定・採用すること。"@ja .

<https://comcomponent.com/knowledge/appium-windows-driver/> a skos:Concept ;
    skos:prefLabel "Appium Windows Driver"@ja ;
    skos:definition "AppiumからWindowsアプリを操作するためのドライバーで、内部でMicrosoft製のWinAppDriverを利用するインターフェース。"@ja ;
    skos:altLabel "appium-windows-driver" ;
    ks:requires <https://comcomponent.com/knowledge/winappdriver/> .

<https://comcomponent.com/knowledge/coded-ui-test/> a skos:Concept ;
    skos:prefLabel "Coded UIテスト"@ja ;
    skos:definition "Visual Studioに含まれていたUI自動テスト機能。VS 2019で非推奨化され、移行先としてデスクトップ/UWPアプリにはAppium+WinAppDriverが案内されていた。"@ja ;
    skos:altLabel "Coded UI Test" .

<https://comcomponent.com/knowledge/inspect-exe/> a skos:Concept ;
    skos:prefLabel "inspect.exe"@ja ;
    skos:definition "Windows SDK付属のツールで、要素のUIAプロパティとコントロールパターンを一覧表示できる。レガシーツールと位置づけられ、Accessibility Insightsへの移行が推奨されている。"@ja ;
    skos:altLabel "Inspect Objects" .

<https://comcomponent.com/knowledge/accessibility-insights/> a skos:Concept ;
    skos:prefLabel "Accessibility Insights for Windows"@ja ;
    skos:definition "要素のUIAプロパティ確認(Live Inspect)やアクセシビリティ自動チェック(FastPass)を備えた、Microsoftの現行推奨インスペクションツール。"@ja ;
    skos:altLabel "Accessibility Insights" ;
    ks:succeeds <https://comcomponent.com/knowledge/inspect-exe/> .

<https://comcomponent.com/knowledge/smoke-test/> a skos:Concept ;
    skos:prefLabel "UIスモークテスト"@ja ;
    skos:definition "起動して主要導線が通ることの確認に絞った、UI自動テストの守備範囲。"@ja ;
    skos:altLabel "Smoke Test" ;
    ks:recommendedFor <https://comcomponent.com/knowledge/test-pyramid/> .

<https://comcomponent.com/knowledge/test-pyramid/> a skos:Concept ;
    skos:prefLabel "テストピラミッド"@ja ;
    skos:definition "単体テストを土台に、結合テスト、UIテストの順で層が薄くなっていく、テストの投資配分の考え方。UIテストは最上段で遅く壊れやすい。"@ja ;
    skos:altLabel "Test Pyramid" .

<https://comcomponent.com/knowledge/interactive-desktop-session/> a skos:Concept ;
    skos:prefLabel "対話型デスクトップセッション"@ja ;
    skos:definition "ユーザーのデスクトップを持つプロセスとして動作するセッション。デスクトップアプリのUIテストにはこれが必須で、サービスとして常駐するエージェントでは動かない。"@ja ;
    skos:altLabel "Interactive Session" ;
    ks:configuredBy <https://comcomponent.com/knowledge/autologon/> .

<https://comcomponent.com/knowledge/autologon/> a skos:Concept ;
    skos:prefLabel "autologon(自動サインイン)"@ja ;
    skos:definition "マシン起動時に指定アカウントで自動的にサインインさせる構成。CIエージェントを対話型セッションとして動かすために使う。"@ja ;
    skos:altLabel "Autologon" .

<https://comcomponent.com/knowledge/self-hosted-runner/> a skos:Concept ;
    skos:prefLabel "セルフホストランナー"@ja ;
    skos:definition "共有のホステッドランナーではなく、利用者が用意する物理・仮想マシン上で動くCIランナー。可視UIのテストにはこちらが必須。"@ja ;
    skos:altLabel "Self-hosted Runner" ;
    skos:altLabel "セルフホストエージェント"@ja .

<https://comcomponent.com/knowledge/windows-forms/> a skos:Concept ;
    skos:prefLabel "Windows Forms"@ja ;
    skos:definition "デスクトップGUIアプリケーションを構築するための.NET/.NET FrameworkのUIフレームワーク。"@ja ;
    skos:altLabel "WinForms" ;
    ks:uses <https://comcomponent.com/knowledge/automationid/> .

<https://comcomponent.com/knowledge/wpf/> a skos:Concept ;
    skos:prefLabel "WPF"@ja ;
    skos:definition "XAMLでUIを宣言的に記述する、Windows専用のデスクトップUIフレームワーク。ベクターベースの描画とデータバインディングを特徴とする。"@ja ;
    skos:altLabel "Windows Presentation Foundation" ;
    ks:uses <https://comcomponent.com/knowledge/automationid/> .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/flaui/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/ui-automation/> ;
    schema:description "FlaUIはWindows UI Automation(UIA)を薄くラップした.NETライブラリである"@ja ;
    ks:evidence <https://github.com/FlaUI/FlaUI> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ui-automation/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/automation-tree/> ;
    schema:description "UI Automationはデスクトップを根とするツリー構造ですべてのウィンドウとコントロールを公開する"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/winauto/uiauto-uiautomationoverview> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ui-automation/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/control-pattern/> ;
    schema:description "UI Automationは要素の操作機能を、コントロール種別と独立したコントロールパターン(Invoke/Value/SelectionItemなど)として公開する"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/winauto/uiauto-controlpatternsoverview> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/flaui/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/control-pattern/> ;
    schema:description "FlaUIの要素操作(Invoke()の呼び出しやTextプロパティへの代入)は、内部でUI Automationのコントロールパターンをそのまま呼び出す"@ja ;
    ks:evidence <https://github.com/FlaUI/FlaUI> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ui-automation/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/automationid/> ;
    schema:description "AutomationIdはロケールに依存せず兄弟要素内で一意であることが求められる、UI Automationの識別用プロパティである"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/framework/ui-automation/use-the-automationid-property> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/automationid/> ;
    rdf:predicate ks:mitigates ;
    rdf:object <https://comcomponent.com/knowledge/flaky-ui-test/> ;
    schema:description "AutomationIdを検索キーの本命にすると、表示文字列の変更や多言語化による検索失敗を避けられる"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/framework/ui-automation/use-the-automationid-property> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/retry-condition-wait/> ;
    rdf:predicate ks:mitigates ;
    rdf:object <https://comcomponent.com/knowledge/flaky-ui-test/> ;
    schema:description "Thread.Sleepの代わりに条件待機(Retry)を使うことで、タイミング依存によるテスト失敗を減らせる"@ja ;
    ks:evidence <https://github.com/FlaUI/FlaUI> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/thread-sleep-antipattern/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/flaky-ui-test/> ;
    schema:description "Thread.Sleepでの固定待機は、速いマシンでは無駄待ちし、遅いマシンではタイムアウト不足で失敗するテストを生む"@ja ;
    ks:evidence <https://github.com/FlaUI/FlaUI> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/page-object-pattern/> ;
    rdf:predicate ks:mitigates ;
    rdf:object <https://comcomponent.com/knowledge/flaky-ui-test/> ;
    schema:description "画面ごとに要素の検索と操作を1クラスへ閉じ込めるPage Objectパターンは、画面構成の変更時に修正箇所を1か所へ集約する"@ja ;
    ks:evidence <https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/winappdriver/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/new-project-adoption/> ;
    schema:description "WinAppDriverは最終安定版が2020年11月のv1.2.1で止まり未解決issueが1,100件を超え、サーバー本体のソースも非公開のため、新規採用は推奨されない"@ja ;
    ks:evidence <https://github.com/microsoft/WinAppDriver> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/flaui/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/new-project-adoption/> ;
    schema:description "FlaUIはMITライセンスで活発にメンテナンスされており(v5.0.0が2025年2月リリース)、新規のUI自動テスト導入における第一候補として推奨される"@ja ;
    ks:evidence <https://github.com/FlaUI/FlaUI> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/appium-windows-driver/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/winappdriver/> ;
    schema:description "Appium Windows DriverはMicrosoft製のWinAppDriverへのインターフェースであり、重い処理はすべてWinAppDriver側が担う"@ja ;
    ks:evidence <https://github.com/appium/appium-windows-driver> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/winappdriver/> ;
    rdf:predicate ks:succeeds ;
    rdf:object <https://comcomponent.com/knowledge/coded-ui-test/> ;
    schema:description "Visual StudioのCoded UIテストが非推奨化された際、Microsoftはデスクトップ/UWPアプリの移行先としてAppium+WinAppDriverを案内していた"@ja ;
    ks:evidence <https://learn.microsoft.com/visualstudio/test/use-ui-automation-to-test-your-code> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/automationid/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/inspect-exe/> ;
    schema:description "対象アプリの要素が実際にどんなAutomationId/Name/ControlTypeで公開されているかは、inspect.exeで確認できる"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/winauto/inspect-objects> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/accessibility-insights/> ;
    rdf:predicate ks:succeeds ;
    rdf:object <https://comcomponent.com/knowledge/inspect-exe/> ;
    schema:description "inspect.exeはレガシーツールと位置づけられ、Accessibility Insights for Windowsへの移行が公式に推奨されている"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/winauto/inspect-objects> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/flaui/> ;
    rdf:predicate ks:automates ;
    rdf:object <https://comcomponent.com/knowledge/smoke-test/> ;
    schema:description "FlaUIとxUnit/NUnitを組み合わせ、起動から主要導線までを確認するUIスモークテストを自動化する"@ja ;
    ks:evidence <https://github.com/FlaUI/FlaUI> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/smoke-test/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/test-pyramid/> ;
    schema:description "UIテストは単体・結合テストの代替にならず、テストピラミッドの最上段でスモークテストとして守備範囲を絞ることが推奨される"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/core/testing/unit-testing-best-practices> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ui-automation/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/interactive-desktop-session/> ;
    schema:description "デスクトップアプリのUIテストはサービスとして常駐するエージェントでは動かず、本物の対話型デスクトップセッションを要求する"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/devops/pipelines/test/ui-testing-considerations> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/interactive-desktop-session/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/autologon/> ;
    schema:description "対話型セッションを持つCIエージェントは、自動サインイン(autologon)を有効にして構成する"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/devops/pipelines/test/ui-testing-considerations> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/self-hosted-runner/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/interactive-desktop-session/> ;
    schema:description "デスクトップアプリのUIテストを実行するセルフホストランナーは、対話型セッションとして構成する必要がある。共有のホステッドランナーでは可視UIのテストはサポートされない。ビルドのみなど、UIテストを実行しない用途のセルフホストランナーには、この要件はない"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/devops/pipelines/test/ui-testing-considerations> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/windows-forms/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/automationid/> ;
    schema:description "WinFormsではデザイナーで付けるControl.NameがUIA側の識別に使われ、AutomationIdとして検索できる"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/framework/ui-automation/use-the-automationid-property> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/wpf/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/automationid/> ;
    schema:description "WPFではx:Nameを付けた要素がそのままUIA側の識別子として使われ、テンプレート内などはAutomationProperties.AutomationIdを明示する"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/system.windows.automation.automationproperties.automationid> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/flaui/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/wpf/> ;
    schema:description "WPFアプリを自動化する場合、UIA3の実装であるFlaUI.UIA3を使うのが実務の目安である"@ja ;
    ks:evidence <https://github.com/FlaUI/FlaUI> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/flaui/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/windows-forms/> ;
    schema:description "WinFormsアプリを自動化する場合、UIA2の実装であるFlaUI.UIA2から試すのが実務の目安である"@ja ;
    ks:evidence <https://github.com/FlaUI/FlaUI> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .
