CodedUI Test是微软的自动化测试工具,在VS中非常好用。可以用来模拟鼠标点击,键盘输入。但执行的时候必须要用mstest调用,无法传入参数(当然可以写入config文件中,但每次修改十分麻烦)。
因为要做一个模拟鼠标键盘操作工具,由上层程序传入参数调用,于是尝试使用CodedUI Test的dll制作了一个小的控制台程序。
参考 Shai Raiten's Blog 。但是他给出的dll并不全,个人尝试并没有成功。于是又多添加了一些dll。
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\ Microsoft.VisualStudio.TestTools.UITesting.dll Microsoft.VisualStudio.QualityTools.CodedUITestFramework.dll
Microsoft.VisualStudio.TestTools.UITest.Common.dll C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\ Microsoft.VisualStudio.TestTools.UITest.CodeGeneration.dll Microsoft.VisualStudio.TestTools.UITest.Framework.dll Microsoft.VisualStudio.TestTools.UITest.Playback.dll
Microsoft.VisualStudio.TestTools.UITest.Extension.dll
Microsoft.VisualStudio.TestTools.UITest.Extension.IE.dll
Microsoft.VisualStudio.TestTools.UITest.Extension.Uia.dll
新建一个控制台程序。并且添加一些using
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.VisualStudio.TestTools.UITesting; using System.Drawing; using System.Windows.Forms; using System.Windows.Input;
程序为
namespace Test { class Program { static void Main(string[] args) { Playback.Initialize(); //模拟左键点击 Mouse.Click(new Point(40, 1000)); //模拟右键点击 Mouse.Click(MouseButtons.Right, ModifierKeys.None, new Point(40, 1000)); //模拟键盘输入 Keyboard.SendKeys("test"); Playback.Cleanup(); } } }
这样就可以自己传参来进行操作了。注意Initialize和Cleanup,必须要加上。执行完毕还会有报告。