精华内容
下载资源
问答
  • AutoIt:Windows自动化测试

    万次阅读 2017-06-30 14:13:12
    AutoIt是一个免费软件,是一个与BASIC类似的脚本语言,主要用于自动化windows的GUI程序和一些常规的脚本。它包括模拟敲某个键,鼠标操作,对窗口和控件的操作来达到自动化的目的,而用其他的语言或许不可能或者难办...

    在linux上可以使用shell等脚本语言对命令行的程序进行自动化控制。在windows上一般用批处理来进行自动化的操作,但是如何能够对GUI程序进行自动化控制,这方面的信息还比较少,有位高手向我推荐了AutoIt这个脚本工具。

    AutoIt是一个免费软件,是一个与BASIC类似的脚本语言,主要用于自动化windows的GUI程序和一些常规的脚本。它包括模拟敲某个键,鼠标操作,对窗口和控件的操作来达到自动化的目的,而用其他的语言或许不可能或者难办到。工具包(http://pan.baidu.com/s/1hs3j4rE)


    1.下载与安装


    AutoIt的下载和安装都很简单,只是提醒一点,安装过程中有一步是要选择默认打开脚本文件时是运行还是编辑,这里建议选择编辑。

    AutoIt下载地址:https://www.autoitscript.com/site/autoit/downloads/ 或者 工具包中的autoit-v3-setup.exe


    2.AutoIt使用


    AutoIt WIndow Info(x86/x64):查看Title,Class,ID,Text等数据。

    Check For Updates:更新软件。

    Compile Script to .exe(x86/x64):将.au3转换为.exe或者.a3x。

        .exe和.a3x的区别:exe文件将脚本解释器AutoIt3.exe也打包在内了;而a3x文件没有打包该解释器,从而可以得到更小的文件体积,但编译它需要autoit3.exe。

    Run Script(x86/x64):运行.au3或者.a3x。

    SciTE Script Editor:编辑器。


    3.实例


    自学可以参照工具包中除安装包外的其他三个文档,编写脚本时可以参照http://www.autoitx.com/Doc/。

    我使用AutoIt主要是用来测试Windows客户端软件,通过编写脚本使其自动模拟敲某个键,鼠标操作,对窗口和控件的操作。

    以飞秋为例,可以通过AutoIt WIndow Info(x86/x64)获取其Title、控件的ID或者Class、Instance,通过编写脚本来控制鼠标的移动、点击,窗口的放大与缩小等。

    脚本如下:

    #cs ----------------------------------------------------------------------------
    
     AutoIt Version: 3.3.14.2
     Author:         Sarah
    
     Script Function:
    	Template AutoIt script.
    
    #ce ----------------------------------------------------------------------------
    
    ; Script Start - Add your code below here
    
    #include <GUITreeView.au3>
    #include <GUIListBox.au3>
    #include <WinAPI.au3>
    
    
    Global $title='飞秋(FeiQ)---局域网即时通讯'
    $search=1002 ;搜索
    $friend_tip=1293 ;好友标签
    $group_tip=1294 ;群标签
    $recent_tip=1295 ;最近通话标签
    $bbs_tip=1296 ;论坛标签
    
    ;中间窗口相关控件
    $friend_view=1193 ;好友
    $group_view=1190 ;群
    $recent_view=1298 ;最近通话
    ;~$bbs_view= ;论坛
    
    ;~ 激活客户端窗口
    WinActivate($title)
    Sleep(1000)
    ;获取好友数量
    $frdNum=getOnFrdCount()
    MsgBox(0,'好友数量',$frdNum)
    ;获取群数量
    $groupNum=getOnGroupCount()
    MsgBox(0,'群数量',$groupNum)
    ;获取最近通话数量
    $recentNum=getOnRecentCount()
    MsgBox(0,'最近通话数量',$recentNum)
    ;~ 点击论坛标签
    ControlClick($title,"",$bbs_tip)
    MsgBox(0,'点击论坛标签','论坛...')
    ;放大缩小窗口
    For $i = 3 to 1 Step -1
       WinSetState($title, "", @SW_HIDE)
       WinSetState($title, "", @SW_SHOW)
       WinSetState($title, "", @SW_MINIMIZE)
       WinSetState($title, "", @SW_MAXIMIZE)
       WinSetState($title, "", @SW_RESTORE)
    Next
    #comments-start
    @SW_HIDE = 隐藏窗口
    @SW_SHOW = 显示以前隐藏的窗口
    @SW_MINIMIZE = 最小化窗口
    @SW_MAXIMIZE = 最大化窗口
    @SW_RESTORE = 撤销窗口的最小化或最大化状态
    @SW_DISABLE = 禁用窗口
    @SW_ENABLE = 使窗口可用
    #comments-end
    
    ;函数
    ;获得当前好友数量
    Func getOnFrdCount()
       ControlClick($title,"",$friend_tip)
       $h=getCtrlHandle($friend_view)
       Return  _GUICtrlTreeView_GetCount($h)
    EndFunc
    
    ;获得群数量
    Func getOnGroupCount()
       ControlClick($title,"",$group_tip)
       $h=getCtrlHandle($group_view)
       Return  _GUICtrlTreeView_GetCount($h)
    EndFunc
    
    ;获得最近通话数量
    Func getOnRecentCount()
       ControlClick($title,"",$recent_tip)
       $h=getCtrlHandle($recent_view)
       Return  _GUICtrlListBox_GetCount($h)
       _GUICtrlTreeView_GetCount
    EndFunc
    
    ;~ 获取控件句柄
    Func getCtrlHandle($control)
       Return ControlGetHandle($title,'',$control)
    EndFunc

    展开全文
  • Windows C#自动化框架

    千次阅读 2016-01-25 21:08:50
    Windows自动化测试流程图: 按照基本的流程图,对不同的模块进行封装。现利用C#实现的自动化框架图如下: 注:上面标红部分为未实现部分接下来,这些模块需进行抽象封装: 与数据库进行交互的函数 测试场景...

    毕业后,也跟随着大流奔着高上大的自动化而去,先是学习几个小时的QTP知道大体的流程后(QTP确实极其容易上手),立马着手写自动化脚本,折腾了2次公司软件Vke后,发现vbs的语言局限性太强,且布置QTP脚本运行环境比较麻烦;后工作上的需要,使用C#从无到有,花了不到两个星期学习搭建了一个简陋的自动化框架和完成一个项目的性能测试,之后使用这个框架去做了另外一个UI的自动化小项目。虽然很多模块都没完善,而且没有引进一些开源的东西,真心是“简陋”,不过自动化的框架思路都大同小异,只是具体实现的细节有些许的差异和优劣,现总结回顾一下自动化框架方面的东东。

    Windows自动化测试流程图:
    这里写图片描述

    按照基本的流程图,对不同的模块进行封装。现利用C#实现的自动化框架图如下:
    这里写图片描述
    注:上面标红部分为未实现部分

    接下来,这些模块需进行抽象封装:
    与数据库进行交互的函数
    测试场景准备和清理:考虑到不同的场景之间肯定是不同的,计划使用interface规范
    控件元素的创建
    控件元素的行为
    测试的日志存储
    测试报告生成
    测试的异常处理:在底层定义用户异常类,由顶层类处理捕获这些异常

    展开全文
  • 一、什么是自动化测试自动化测试是把以人为驱动的测试行为改成机器执行,通过精心设计的测试用例,由机器按照测试用例的执行步骤对应用进行自动操作,然后输出结果,由测试人员进行比较。自动化测试可以极大的节省...

    一、什么是自动化测试

    自动化测试是把以人为驱动的测试行为改成机器执行,通过精心设计的测试用例,由机器按照测试用例的执行步骤对应用进行自动操作,然后输出结果,由测试人员进行比较。自动化测试可以极大的节省人力、时间和硬件资源,提高测试效率。

    大白话就是: 写好自动操作app的脚本,运行起来,输出结果,结果正确,app正常测试没问题。

    二、移动自动化测试的流程

    1. 通过id、name、xpath等方法定位页面元素

    2. 对定位到的页面元素执行相应的操作

    3. 对操作后出现的结果和预期结果做一个比较

    三、移动自动化测试的优点

    1. 对程序员来说,在提交代码之前,可以先进行回归测试,这样能提高代码质量,加快代码上线速度。

    2. 自动化测试能够很方便的自动完成安装/卸载、启动/运行、UI适配等枯燥的手工测试环节,节省很多时间,在准确编写测试脚本的前提下,能够帮助测试人员完成更多要求。

    3. 脚本和框架一般在iOS和Android平台是通用的,同一测试脚本适用于所有Android机型,可快速完成兼容性测试。

    4. 可以模拟产生数据。通过一些重复的操作,产生一些简单的数据。能够保存截图、输出log、输出错误信息。

    5. 可以长时间运行,并保证数据的正确性,避免人工测试的人为错误。

    6. Android可以通过局域网,多设备多脚本多case连续测试。

    7. 可以借助透视宝对应用性能进行全面诊断。比如,用户提供安装有透视宝SDK的apk/ipa的安装包,就可以对用户的APP进行一次整体测试,产生一份包括崩溃、内存泄漏、网络监控和UI性能测试的具有洞察力的详细报告。目前云智慧的很多客户在产品发布之前都要先绑定透视宝SDK,之后在 testin、百度云测、腾讯优测等平台进行测试之后才评估是否使用。

    8. 不需要重新编译APP。

    四、移动自动化测试的缺点

    1. 需要借助Appium工具来录制脚本,而Appium是第三方的开源工具,需要布置环境。

    2. 可通过Xcode自带的Instruments或者Android自带的UIAutomator工具录制脚本,要会简单使用xcode和eclipse。

    3. 录制成功的脚本代码需要重新编写,来输出结果、进行截图、输出错误信息等,需要会编写简单的python或者JS脚本。

    4. 每次要测试一个新app的时候,都要重新设计测试用例,重新设计输出规范和记录内容,重新生成标准化的测试报告。

    5. 需要对结果进行逻辑处理,需要人工比较、分析。

    6. 没办法手机录脚本,需要配合客户端。

    7. 框架维护不易,复用率低。

    五、移动测试自动化框架(Android)

    1. Appium (IOS/Android)

      • 开源、跨平台的自动化测试工具,适用于测试原生或者混合型的移动app,支持ios、Android和FirefoxOS平台,利用它,开发者可以利用测试代码完全访问后端api和数据库。Appium是无须SDK和编译就可以对原生应用进行测试的。
      • 可以直接在PHP 、Python、Ruby、C#、Clojure、Java、Objective-c、JavaScript、以及Perl等语言中编写测试脚本。
    2. Colabash (IOS/Android)

      • 支持Cucumber,开源免费,可进行多方位测试:截屏 手势识别 实际功能代码等
    3. Robolectric (Android)

      • 基本上摆脱了模拟器测试的老套路的单元测试框架,可以解压Android Sdk,还能直接对应用进行测试
    4. App Grader (Android)

      • App Grader是以色列uTest的,比较少人知道,但是它能为众多的Android开发者提供非常专业的意见参考
      • 开发者可以将自己开发的应用和其他同类型应用就图形、功能及其其他地方进行比较,之后还会推出ios

    5…

    六、Appium

    1. 我选择的是Appium,为什么呢?

    1. 同时支持android、ios、混合app
    2. 支持多语言,PHP 、Python、Ruby、C#、Clojure、Java、Objective-c、JavaScript、以及Perl
    3. 能与大多数主流开发测试工具集成,可是使用任何测试框架驱动Appium
    4. 不会要求测试人员修改或者重新编译待测应用
    5. 有一个活跃社区

    2. Appium简介

    • Appium 是由Sauce Labs 提供支持的一款自动化测试框架,针对原生(native)、混血(hybrid)、和移动Web应用,使用WebDriver协议来驱动ios和Android
    • Appium的设计理念是测试原生应用,不应该要求用户引入额外的SDK或者重新编译应用,另外Appium应该能与测试人员喜欢的测试实践、测试框架、测试工具一起使用。
    • Appium 旨在用户可以通过任何语言以及任何测试框架去自动化测试任何移动应用,另外通过测试代码可以访问后端的API和DB

    3. Appium的要求

    针对Anroid:

    Mac OSX 10.7+ 或者 Windows 7+ 或者 Linux
    Android SDK >= 16 (SDK<16 使用Selendroid 模式)

    4. Appium概念

    1.服务端/服务器架构

    appium的核心其实是一个暴露了一系列REST API的server。

    这个server的功能其实很简单:监听一个端口,然后接收由client发送来的command。翻译这些command,把这些command转成移动设备可以理解的形式发送给移动设备,然后移动设备执行完这些command后把执行结果返回给appium server,appium server再把执行结果返回给client。
    在这里client其实就是发起command的设备,一般来说就是我们代码执行的机器,执行appium测试代码的机器。狭义点理解,可以把client理解成是代码,这些代码可以是java/ruby/python/js的,只要它实现了webdriver标准协议就可以。

    这样的设计思想带来了一些好处:
    1. 可以带来多语言的支持
    2. 可以把server放在任意机器上,哪怕是云服务器都可以;(是的,appium和webdriver天生适合云测试)

    2. Session

    自动化测试总是基于会话内容来实现的,客户端与服务端初始化会话方式,具体到不同的库有区别,但它们最终都会发送一个post/session 请求到服务器,携带一个名为Desired Capabilities的JSON对象,服务器将会自动化会话并响应一个Session ID用于发送后续命令

    3. Desired Capabilities
    Desired Capabilities是一组发送到服务器的键和值(map and hash),告诉服务器测试人员期望建立的自动化会话类型,这里有各种类型的属性,可以用来改变服务器在测试期间的行为。例如,可以设置platformName属性值为Android,以便告诉Appium我们期望Android会话而不是IOS

    4. Appium Server
    Appium是用Node.js写的服务器,它可以通过源码构建和安装或者直接通过NPM安装,这里不建议用命令安装,外国网你懂的,下一篇文章教大家安装。

    5. Appium Clients
    Appium提供了Java、Ruby、Python、PHP、JavaScript、和C#语言的客户端库,都是基于WebDriver协议扩展的,当使用Aoppium时候,测试人员可以使用他们来代替标准的WebDriver客户端,可以在

    6. Appium.app 和 Appium.exe
    Apppium提供了Appium server的GUI封装下载,它们包含了运行Appium server所需要的都东西,所以不用担心node,它们还携带了Inspector,用于检查windows应用撑血的结构,但是Windows下用不了,我这里用 Android Device Tool。

    5. Appium的原理

    Appium基于WebDriver,利用Bootstrap.jar,最后通过UiAutomator的命令,实现app的自动化测试,如图。

    这里写图片描述

    图解析:

    • 左边是WebDriver script 是我写的测试脚本
    • 中间是Appium服务,Appium启动一个服务(默认4723),与Selenium-WebDriver测试框架类似,Appim支持标准的WebDriver JSONWireProtocol,它提供一套Web服务,Appiumm Server接收WebDriver标准请求,解析请求内容,调用对应的框架响应操作,例如:脚本发送一个单击按钮请求给Appium Server
    • Appium server 会把请求转发给中间件Bootstrap.jar,它使用java编写的,安装在手机上,Bootstrap接收Appium命令,最终通过调用UiAutomator的命令来实现。
    • 执行结果由Bootstrap返回给Appium Server
    • Appium还用到了Chromedriver来支持基于WebDriver的测试。

    七、什么是黑盒白盒测试

    • 黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。

    • 白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。

    二者最大的区别应该就是测试对象不一样,白盒测试主要针对的是程序代码逻辑,黑盒测试主要针对的是程序所展现给用户的功能,简单的说就是白盒测试后台程序,黑盒测试前台展示功能

    so,你说appium是什么测试呢?

    展开全文
  • windows自动化批处理删除文件

    千次阅读 2018-03-31 16:31:07
    前言最近发现某软件删除某几个文件夹之后,就可以再次免费试用,但试用期结束之后需要再次重复删除。于是想到了批处理命令,大家可以创建txt文件,然后编辑命令后将文件后缀改成bat,然后双击运行即可完成批量删除...

    前言

    最近发现某软件删除某几个文件夹之后,就可以再次免费试用,但试用期结束之后需要再次重复删除。于是想到了批处理命令,大家可以创建txt文件,然后编辑命令后将文件后缀改成bat,然后双击运行即可完成批量删除操作。下面给大家讲解一下我查到和实验的结果。

    问题描述

    使用bat文件批处理删除某几个文件、文件夹

    问题解决

    删除文件

    del /s /q /s 路径

    删除目录

    rd  /s /q 路径

    注:/s ---> 删除文件夹下所有文件

          /q ---> 执行删除时不提醒

          /f ---> 强制删除                    #rd命令不支持,只可以用在del命令中

     

    展开全文
  • Jenkins 系列会从 Ubuntu的服务端部署、 Linux节点的Python服务自动化构建、 Windows节点Python服务自动化构建、 Vue服务自动化构建、 监控服务自动化构建、 用户权限控制 几个方面进行介绍
  • windows桌面应用自动化测试

    万次阅读 2019-08-14 17:47:40
    原理:使用spy抓应用的hwnd,根据hwnd获取窗口信息,模拟发送鼠标按键,移动窗口实现自动化操作。 缺点:获取到的信息少,编程实现复杂。 2、UIAutomation msdn介绍:Microsoft UI Automation是一个可访问性框架...
  • 摘要:本文就Windows Mobile Test Framework(WMTF)自动化测试做了比较详细的介绍,它介绍了WMTF的由来,获取,测试环境的搭建,以及如何创建软件自动化测试工程的AbstractionLayer,AreaLibrary,Test Suits和Test。...
  • windows 配置 crontab 自动化

    千次阅读 2019-05-05 11:36:29
    # Crontab 的功能是什么 Crontab 是 Linux 的一个计划任务管理工具,你可以在那上面添加一些任务,在指定的时间让它在后台运行,经常用来...#为什么 Windows 上没有一个呢 已经有人做了,像python版的pycron和 P...
  • Windows下安装自动化部署工具Fabric

    千次阅读 2018-05-23 16:49:30
    Windows下安装自动化部署工具Fabric 部署应用程序用FTP还是SCP还是rsync复制文件?如果你需要手动复制,用一次两次还行,一天如果部署50次不但慢、效率低,而且容易出错。 正确的部署方式是使用工具配合脚本完成...
  • Pywinauto是基于Python开发的,用于自动化测试的脚本模块,主要操作于Windows标准图形界面。它可以允许你很容易的发送鼠标、键盘动作给Windows的对话框和控件。  其中,最主要功能为对windows标准控件的一系列动作...
  • .Net软件UI界面测试自动化--Windows API

    千次阅读 2011-08-16 17:21:21
    在目前进行软件测试时,都或多或少的引入了自动化测试的概念,而且市面上也有好多软件自动化方面相关的工具,比如QTP,比如LoadRunner,但是这些工具要么售价不菲,要么对某些方面功能支持的不够全面,那么我们在引入软件...
  • CheungSSH 中国人自主研发的Linux运维自动化管理服务器软件 管理上千台服务器 自动化运维软件 批量管理服务器 管理Linux服务器软件 运维自动化工具 开源堡垒机 Ansible Slatstack Puppet
  • 推荐一个强大便捷的Windows自动化操作工具:AutoIt 3 2011-05-28 11:22 91人阅读 评论(0) 收藏 举报 最近在自己整一套Windows下应用程序的自动化测试程序,不想使用诸如QTP的重量级的东西,有人推荐使用...
  • 文章目录1.学会使用UIspy.exe软件2.打开某个程序3....windows端的软件,有多个框架可供选择,例如autoit、uiautomator、uiautomation等等。感觉uiautomation看着更有好一些,就拿来试试。 uiautomation地址: ...
  • windows自动化工具—cmd、bat、vbs

    千次阅读 2019-06-07 11:49:17
    之前在阿里云上租了个vps,装的windows server 2008,在上面布置了一个网站,用的是最简单的静态网页,主要用作自己学习前端的练手。由于网站是布置在远程服务器上的,而平时的编程都是在自己的破本上写,每次想要...
  • 1.在OS下,要使每次开机就自动运行,要把自动化脚本BAT文件放到指定的路径下才可以(注意查看指定路径需要把隐藏文件选项勾上,见下图)。 指定路径:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\...
  • AutoIt 软件自动化操作

    千次阅读 2018-01-17 19:43:00
     AutoIt 目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作。 它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动化任务。而这是其它语言...
  • Windows2003与windows2008自动化批量安装配置SNMP服务 1 流程图   2 Installsnmp.exe、2003.bat、2008_.bat、2008.bat原理 Installsnmp.exe使用autoIT编写编译basic脚本完成,主要作用是download文件服务器...
  • Windows Server自动化异地备份总结

    千次阅读 2018-09-17 15:06:24
    那么我们可以使用Windows自带的一个命令叫做forfiles forfiles /p “E:\back” /s /d -3 /c “cmd /c echo deleting @file … && del /f /q @path” 上面这条命令的意思是定期删除指定目录下包括子目录超过三天的...
  • windows下逐步配置自动化部署

    千次阅读 2010-04-04 23:03:00
    这个过程包含了单元测试,集成测试,自动化部署上线等中间过程,今天开始逐渐在windows下搭建phing环境,将遇到的困难记录于此,希望对大家有所帮助。一,所需软件 1,apache/php/mysql集成包,可以选用Wamp
  • CentOS7 部署Cobbler(PXE)实现自动化安装Centos、Windows 1 环境: 系统 CentOS7.5 IP 192.168.100.2 Cobbler是基于PXE的升级版,简化了配置步骤,能同时管理DHCP、...
  • 收藏-python操作windows桌面应用 自动化解放双手地址 地址 地址
  • 有关的技术,谈到了一个自动化测试 工具必备的几个功能,而且也提到了Windows 平台自动化测试工具所基于的一些技术。下边就说 一下这些技术的比较和展望,同时也包含了一些纠结……  Windows API  识...
  • windows10 - 设置定时自动化程序操作

    千次阅读 2020-01-19 17:51:17
    之前用的是框架定时,这里记录一个利用 windows 设置定时来自动化操作的方法,由于我的是windows10,所以在Win10系统为例。如果想要每天定时运行某个指定的程序,只需要通过计划任务就可以设置了。 基本步骤 1. 在...
  • 和大家一起聊聊如何使用python做Windows一、环境安装​ 使用python实现来做PC端pip install pywinauto二、使用说明安装好了之后,关于使用说明大家可以参照官方文档上的说明内容翻译如下:就是说在我们安装好...
  • 题记:本文简述如何利用appium对Windows桌面应用程序进行UI自动化测试。所谓UI自动化测试,就是模拟一个用户,对应用程序的UI进行操作,以完成特定场景的功能性集成测试。要对Windows桌面应用程序进行UI自动化测试,...
  • MeterSphere 是一站式的开源企业级持续测试平台,涵盖测试跟踪、接口测试、性能测试、团队协作等功能,兼容JMeter 等开源标准,有效助力开发和测试团队充分利用云弹性进行高度可扩展的自动化测试,加速高质量软件的...
  • 全书内容由Windows UI测试、Web应用程序测试和存储过程及XML测试三部分组成,全面介绍了如何利用.NET平台提供的一系列技术(而不是依赖于第三方的商业自动化测试工具),采用C#语言编写轻量级的、功能强大的自动化...
  • pywinauto实现Windows窗口程序自动化

    千次阅读 2017-03-03 17:53:00
    为什么80%的码农都做不了架构师?... 要用python实现Windows窗口程序的自动化操作,可以用ctypes调用windows api来实现,还可以用 pywin32+pywinauto来实现,后者是别人造的轮子。 二. pywinauto  首页: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 304,208
精华内容 121,683
关键字:

windows自动化软件