C# FlaUI 个人使用记录
项目地址 https://github.com/FlaUI/FlaUI/wiki/FAQ
可以通过nuget导入该库,在nuget中搜索包FlaUI.UIA3
其实有两个包
FlaUI.UIA2
FlaUI.UIA3
我用的是FlaUI.UIA3
假如被测试程序是管理员权限那么进行测试的程序也要以管理员权限运行,32bit与64bit的进程区别是否有影响暂不清楚
可以使用 FlaUInspect.exe 来查看被测试进程的控件Name Xpath,该程序最好也已管理员运行
我自己使用该程序会出现不显示具体的控件,解决办法就是使用拾取控件功能
选中该选项然后按住 Ctrl 键的同时鼠标点击被测试程序的目标控件
注意该程序显示的Xpath是基于桌面的或者说"根"是桌面?
我们也可以通过从桌面开始搜索控件,我自己遇到过从被测程序主窗口搜索搜不到的情况
例如搜索进程ID为15672控件类型为按钮且控件名字是"删除"的元素
using (var automation = new UIA3Automation()) { var vs = automation.GetDesktop().FindAllDescendants(ws => ws.ByName("删除").And(ws.ByControlType(FlaUI.Core.Definitions.ControlType.Button)).And(ws.ByProcessId(15672))); vs[0].AsButton().Click(); }
上面的示例我使用了组合条件
Name的值可以通过 FlaUInspect.exe 查看