勤学思培训网USEIRY
  • 总算懂得什么是ui测试_ui自动化测试工具

    1什么是ui测试
    什么是ui测试_ui自动化测试工具,用户界面测试,英文是User interface testing。又称UI测试。

    [图片0]2ui自动化测试工具
    1. Robotium 安卓测试工具。Robotium是一款经常使用的自动化测试工具软件,支持Android。Robotium是一个免费的Android UI测试工具。它适用于为不同的安卓版本和子版本测试自动化。软件开发人员经常把它描述为Android Selenium。Robotium测试是用java写的。事实上,Robotium是一个单元测试库。但通过Robotium创建测试需要花费很多时间和努力,因为为了自动化测试还需要修改程序源代码。该工具也不适合与系统软件的交互,它不能锁定和解锁智能手机或平板电脑。Robotium也没有录制回放功能,也不提供截图。

    安卓应用测试。Monkeyrunner是一款流行的Android测试工具,用于自动化功能测试。这个工具比Robotium更低一层次。这个不必处理源代码来做自动化测试。这个测试可以用Python写,并且可以使用录制工具来创建测试。Monkeyrunner可以连接到电脑或模拟真实设备运行测试。该工具有一个接口,用它来控制智能手机,平板电脑或外部模拟器的Android代码。这个测试工具的缺点是,它必须为每个设备编写脚本。另一个问题是,每次测试程序的用户界面变化都需要调整测试脚本。

    安卓测试应用工具 。Ranrex 是一款不仅可以支持新Android版本,也支持从开始的早期版本和分支版本。Ranorex的优势是它有详细的截屏报告。它能通过Wifi连接智能手机和平板电脑。一个自动化测试工程师通过这个Android工具可以不用XML数据格式来详细编写数据驱动的测试。Ranorex工作室使自动化测试工程师只要点击鼠标就可容易地创建测试。它允许详细声明额外的程序模块,来用于在后期开发周期中测试更复杂的场景。它是一个商业的移动应用工具,其许可价格为1990欧元。不过Ranorex搜索功能相当慢;它需要30秒来完成这样的操作。我们必须为Ranorex配备apk文件设备,否则无法通过这个工具实现自动化测试,因为它只能在APK文件设备上工作。

    安卓自动化框架。这是一个可以为iOS和Android做自动化测试的框架。它是一个开源工具。它支持从及以后的安卓版本。Appium利用WebDriver接口运行测试。它支持多种编程语言,如java,C #,Ruby和其他在WebDriver库中的语言。它可以控制移动设备上的Safari和Chrome。这样测试移动网站可使用Appium和这些浏览器。但一些自动化测试工程师抱怨说,它没有详细的报告。其弱点还有减少了在移动设备上XPath支持。

    3ui自动化测试用例
    什么是ui测试_ui自动化测试工具,自动化测试用例特点:

    1、执行对象是脚本,任何一个判断都需要编码;

    2、测试用例之间关联性强;

    3、主要用来确保产品主体功能的正确性和完整性;

    4、目前UI自动化测试主要用在回归测试和冒烟测试。

    自动化测试用例选型:

    1.不是所以的手工测试用例都需要转化为自动化测试用例;

    2.不要选择流程太复杂的测试用例。例如一个功能模块,分为多个用例,多个用例使用同一个场景。好处是方便构建关键字测试模型;

    3.选取的用例可以带有目的性。例如,这部分用作冒烟测试,那部分用例用作回归测试,当然会有重叠的关系。如果当前的用例不能满足需求,那么唯有修改用例来适应脚本和需求;

    4.选取的用例可以是你认为重复执行,很繁琐的部分。例如,字段验证、提示信息验证等,这部分适合回归测试;

    5.选取的用例可以是主体流程,这部分适合回归测试;

    6.自动化测试也可以用来做配置检查、数据库检查;

    7.在手工测试时,需要构造一些复杂的数据或重复一些简单的机械动作也可以用自动化脚本来做。

    4ui自动化测试框架
    基于Appium的UI层的自动化测试框架,测试框架要点:

    1.该框架是基于现在比较流行的第三方开源框架Appium进行二次开发;

    2.通过Maven进行项目和依赖管理;

    3.通过TestNG进行测试脚本的管理;

    4.通过Log4j生成运行日志;

    5.通过AssertJ提供丰富的断言;

    6.通过ReportNG输出丰富多彩的测试报告;

    7.后将源码托管于Git通过Jenkins实现持续集成。

    [图片1]5ui页面自动化框架
    框架具体实现的功能和需求:

    1.加载,显示,隐藏,关闭页面,根据标示获得相应界面实例;

    2.提供界面显示隐藏动画接口;

    3.单独界面层级,Collider,背景管理;

    4.根据存储的导航信息完成界面导航;

    5.界面通用对话框管理(多类型Message Box);

    6.便于进行需求和功能扩展(比如,在跳出页面之前添加逻辑处理等)。

    编写UI框架意义:

    1.打开,关闭,层级,页面跳转等管理问题集中化,将外部切换等逻辑交给UIManager处理;

    2.功能逻辑分散化,每个页面维护自身逻辑,依托于框架便于多人协同开发,不用关心跳转和显示关闭细节;

    3.通用性框架能够做到简单的代码复用和"项目经验"沉淀。

    如何实现:

    1.窗口类设计:基本窗口对象,维护自身逻辑维护;

    2.窗口管理类:控制被管理窗口的打开和关闭等逻辑(具体设计请看下文);

    3.动画接口:提供打开和关闭动画接口,提供动画完成回调函数等;

    4.层级,Collider背景管理。