51Testing软件测试论坛

标题: 将CodedUI Test 放到控制台程序中,模拟鼠标键盘操作 [打印本页]

作者: 一月蔷薇_456    时间: 2018-4-13 15:38
标题: 将CodedUI Test 放到控制台程序中,模拟鼠标键盘操作
CodedUI Test是微软的自动化测试工具,在VS中非常好用。可以用来模拟鼠标点击,键盘输入。但执行的时候
必须要用mstest调用,无法传入参数(当然可以写入config文件中,但每次修改十分麻烦)。



因为要做一个模拟鼠标键盘操作工具,由上层程序传入参数调用,于是尝试使用CodedUI Test的dll制作了一个
小的控制台程序。



参考 Shai Raiten's Blog。但是他给出的dll并不全,个人尝试并没有成功。于是又多添加了一些dll。



  1. [csharp] view plain copy
  2. C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\  
  3.   
  4. Microsoft.VisualStudio.TestTools.UITesting.dll  
  5. Microsoft.VisualStudio.QualityTools.CodedUITestFramework.dll  
  6. Microsoft.VisualStudio.TestTools.UITest.Common.dll  
  7.   
  8. C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\  
  9.   
  10. Microsoft.VisualStudio.TestTools.UITest.CodeGeneration.dll  
  11. Microsoft.VisualStudio.TestTools.UITest.Framework.dll  
  12. Microsoft.VisualStudio.TestTools.UITest.Playback.dll  
  13. Microsoft.VisualStudio.TestTools.UITest.Extension.dll  
  14. Microsoft.VisualStudio.TestTools.UITest.Extension.IE.dll  
  15. Microsoft.VisualStudio.TestTools.UITest.Extension.Uia.dll  




  16. 新建一个控制台程序。并且添加一些using

  17. [csharp] view plain copy
  18. using System;  
  19. using System.Collections.Generic;  
  20. using System.Linq;  
  21. using System.Text;  
  22. using Microsoft.VisualStudio.TestTools.UITesting;  
  23. using System.Drawing;  
  24. using System.Windows.Forms;  
  25. using System.Windows.Input;  
复制代码




程序为

  1. [csharp] view plain copy
  2. namespace Test  
  3. {  
  4.     class Program  
  5.     {  
  6.         static void Main(string[] args)  
  7.         {  
  8.             Playback.Initialize();  
  9.               
  10.             
  11.             //模拟左键点击  
  12.             Mouse.Click(new Point(40, 1000));  
  13.   
  14.             //模拟右键点击  
  15.             Mouse.Click(MouseButtons.Right, ModifierKeys.None, new Point(40, 1000));  
  16.               
  17.             //模拟键盘输入  
  18.             Keyboard.SendKeys("test");  
  19.             Playback.Cleanup();  
  20.          
  21.         }  
  22.     }  
  23. }  
复制代码




这样就可以自己传参来进行操作了。注意Initialize和Cleanup,必须要加上。执行完毕还会有报告。


作者: 梦想家    时间: 2018-5-9 16:29





欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2