测试女巫之控制Windows上的软件篇

发表于:2016-8-11 09:13

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:王平平    来源:51Testing软件测试网原创

  导语:Pywinauto此模块是使用Python语言,它是用于Windows操作系统GUI的测试,它主要是通过向windows对话框和控件发送可以实现鼠标,键盘动作来实现windows图形界面的自动化测试。它与另外两个模块:Pymouse和Pykeyboard的区别是,对于操作对象,pywinauto是可以通过对象的属性:例如路径,title, class name来调用;但是Pymouse 和Pykeyboard只能通过屏幕坐标的方式调用,所以可以参考第32期杂志中"搭建嵌入式产品自动化测试框架全过程"中使用Monkeyrunner的思路:对于需要操作的对象尽量不要使用坐标的方式调用,所以我们选择Pywinauto这个模块而不是较为简单的Pykeyboard和Pymouse。
  一、前言:
  上一期我们总结了近几年的Python学习心得,其中给出了学习Python的历程,最重要的是给出了学习的方法,这个方法主要是抽象出来的"精华",我们就靠着这些"精华"学习了11个新模块,且以Pywinauto为例概要说明如何学习此模块。这次我们再以Pywinauto为例,详细地说明如何学习这个模块,尤其是包含在此模块中的各个控件如何学习,当然女巫的一贯原则是:"授人以鱼不如授人以渔",所以重点介绍的部分也是学习方法。这些学习方法中值得大家关注的是:如何筛选学习这个模块中的众多控件,以及这些控件该如何学习。后续大家可以根据自己的需求选择学习你所需要的模块,毕竟每个公司的情况不一样,需求不一样。我们通过11个模块的自学(具体是哪些模块,可以参看第41期杂志中的内容),发现自学这些模块,Follow这些做法都可以比较顺利的学习,而且对于我们公司的自动化需求,Python几乎都可以满足,所以我们的这套方法是很有价值的,所以大家一起启动学习模式,一起为改变枯燥的工作努力吧!
  二、第一阶段:工作需求
  公司不是学校,不能因为你感兴趣而学习,学习是需要理由的!目前女巫公司的老板已经认可了我们目前的学习成果:当然老板在乎的所谓"学习成果"就是:"可以在短期内为公司节约成本",所以老板也赞同我们不断地学习,但是老板让女巫的团队在汇报学习内容时,需要将学习内容与工作需求进行一一链接。也就是说每一项学习内容,必须有"工作需要"这个驱动进行驱使,否则老板不会允许你"肆无忌惮"地"利用工作时间"去学习,因为没有回报的学习对于老板来说与"肆无忌惮"地玩游戏没有任何区别!
  所以对于Pywinauto的"工作需求",女巫总结如下:
  1.在测试路由器时,通过在第33期学习的模块:"Selenium"无法控制的一些页面的处理,这些页面的控制需要用到Pywinauto这个模块。
  2.在测试路由器时,需要调用控制面板的一些应用,控制面板需要用到Pywinauto这个模块。
  3.需要测试厂商或者工厂提供的Tool的稳定性,需要做枯燥的压力测试。帮助我们脱离这个"傻傻"的压力测试工作,也要用到Pywinauto这个模块。
  4.测试一些AT Command类似的项目时,需要调用类似Putty这样的软件。调用这个软件,并控制Putty这个软件,进行输入命令,并抓取命令的response,最后比较response和Spec是否一致,得出测试结果。这一系列操作也必须用到Pywinauto这个模块。
   ... ...
   查看全文内容,请点击下载:http://www.51testing.com/html/09/n-3710809.html
  2.Spy++背景说明
  1)Spy++是一个基于Win32的实用工具,它提供系统的进程、线程、窗口和窗口消息的图形视图。
  2)使用Spy++可以做以下操作
  a)显示系统对象(包括进程,线程和窗口)之间关系的图形树
  b)搜索指定的窗口、线程、进程或者消息
  c)查看选定的窗口、线程、进程或者消息的属性
  d)直接从视图中选择窗口、进程或者消息
  e)通过鼠标定位,使用查找程序工具选择窗口
  f)右键视图中的某项,如果菜单中有"突出显示"此项目,则选择"突出显示"此项,打开需要定位的应用程序,就可以看出视图中的窗口对应的应用程序。
  3.工具使用说明
  1)对于此工具我们目前的需求主要是获得应用程序的属性:例如Class Name,方法如下:
  "打开Spy++此工具如【图3】
   
  【图3】
   ... ...
   查看全文内容,请点击下载:http://www.51testing.com/html/09/n-3710809.html
版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号