C#自动化测试
##关于C#的控件 C#中的许多控件,如ToolStrip,并不是可操作控件,可以操作的是它的成员,但是使用VS spy++并不能识别到这些成员,因此如果要操作或者识别这些成员,必须深入到C#控件内部。
##关于WINFORM界面自动化测试
- LoadRunner,据说是基于坐标的录制和播放,那就不支持控件识别,更不可能做操作结果识别了
- QTP,在.net插件的支持下可以识别winform控件,需要为控件配置策略
##关于代码 ###糟糕的代码 本人因为机缘巧合研究的这个内容,在此之前并没有使用过C#,所以代码很烂,不过本人也不打算优化什么的
###本人仅仅完成了一个DEMO,包含以下内容:
- 向目标C#进程注入代码,使用了Hawkeye中的Injector库,参考了调用这个库实现注入的方法。
- 鼠标键盘钩子,使用了MouseKeyboardLibrary
- 录制功能:在鼠标点击时获取点击位置的控件
- 播放功能:根据控件信息递归查找对应控件,模拟在控件中心位置点击
###DEMO不包含以下内容:
- 鼠标双击监听:该鼠标键盘钩子监听WM_MOUSE_LL事件,双击需要自行判断,因为DEMO没有此需求,因此没有做
- 键盘输入监听和模拟
- ToolStrip以外的其他C#控件的录制和播放(基本控件,如Button,原生支持)