zoukankan      html  css  js  c++  java
  • RF自动化测试

    1.自动化分层:UI层实现界面自动化,Service层实现接口自动化,Unit层实现单元测试.
    2.UI自动化测试常见的工具有:QTP,AutoIt,Selenium.Selenium是做Web测试最全面的工具支持浏览器全面,又模拟在浏览器中的操作.
    3.单元测试全覆盖,接口测试覆盖大部分流程,界面自动化保证主流程即可
    4.RF是通用的测试框架:采用表格语法易使用;可使用关键字驱动,数据驱动和行为驱动;可利用现有关键字组合新关键字;可用Python或Java扩展;
    5.安装Python27,Setuptools,RF,wxPython,RF-RIDE
    6.New Project-->New Test Suite-->New Test Case
    7.Report主要是概括性的报告,总体案例的执行情况.Log则是更为详细的案例步骤报告.
    8.Save保存当前焦点所在文件,Save All保存全部
    9.F5:Search Keywords
    10.Library加载测试库,默认PythonLibsite-packages目录下的文件;Resource加载资源,主要是工程相关的资源文件;Variables加载变量文件;Add Scalar定义变量;Add List定义列表型变量.
    11.Suite Setup测试套件的初始化文件,Suite Teardown测试套件的收尾文件;Test Setup测试用例初始化,Test Teardown测试用例收尾
    12.Project和Suite:二者都可建User Keyword, Scalar, List Variable.Project可建Suite, Directory, Resource;Suite可建Test Case
    13.Suite前面多*表示有修改尚未保存
    14.Project和最顶层的Test Suite是相通的,可是File也可是Directory.目录型的Test Suite可包含File型的Test Suite或嵌套Directory型的Test Suite.但Test Case只能在File Test Suite下
    15.通常Test Suite里添加Resource, Resource中添加Library
    16.Import中的Library是红色的说明导入失败,黑色表示导入成功
    17.RF内置库在PythonLibsite-packages obotlibraries目录中
    18.Resource主要用来存放用户关键字,Resource下添加User Keyword
    19.External Resource主要指还在Project管辖范围的Resource文件
    20.变量:${Var}单个变量,@{listVar}List型变量,&{dictVar}是RF2.9的Dictionary变量
    21.Set Global Variable:设定全局变量,该变量在所有的Test Suite和Test Case中都有效;Set Suite Variable:设定File Suite级变量,该变量只在当前的File Suite内有效;Set Test Variable:设定Case级变量,只在当前Case有效
    22.环境变量的标识符为%, eg: log %{PATH},RF中只能使用环境变量,不能修改
    23.特殊字符串常量:${/},${:},${EMPTY},,${False},${None},${null},${SPACE},${True}
    24.RF中的变量都是字符串型的,字符串拼接不需要用+连接,abcd${var}efghabcdABCDefgh
    25.创建Scalar变量:${var} Set Variable 'ABCD';创建List变量:@{listVar} Create List 1 2 3
    26.Run Keyword If '${var}'
    'ABCD' log 'HAHAHAHA'
    27.变量支持索引和截取:${var[2]}或${var[0:2]}
    28.Evaluate将后面的表达式放在python中运行
    29.List型变量的获取:@{listVar}[index]或${listVar[index]}
    30.对象变量:假设${return}是Request库中测试接口返回的对象,对象状态就是${return.STATUS},对象内容就是${return.CONTENT}
    31分支:
    Run Keyword If con1 do action1
    ... ELSE IF con2 do action2(...是必须的)
    ... ELSE do actionN
    32.RF标准库:
    Builtin,Collections(处理Python字典和列表), OperatingSystem(操作系统相关), String(字符串处理), XML, DateTime(日期时间转换), Telnet, Process, Screenshot, Remote(远程库)
    常用第三方库:
    Selenium2Library, HTTPLibrary, SSHLibrary, FTPLibrary, requestLibrary, DatabaseLibrary, cx_Oracle, PyMysql, JSONLibrary
    33.打印日志
    log ${var}
    log many @{listVar}

    python3安装RF:
    1.下载并安装python3.7,勾选添加安装路径到环境变量(输入python --version,显示Python 3.7.3)
    2.安装RF,cmd窗口输入:pip install robotframework(显示Successfully installed robotframework-3.1.2)
    3.安装wxpython,cmd窗口输入:pip install wxpython(显示Successfully installed numpy-1.16.4 pillow-6.0.0 wxpython-4.0.6)
    4.安装pygments(代码高亮库),cmd窗口输入:pip install pygments(显示Successfully installed pygments-2.4.2)
    5.安装pywin32(RIDE依赖的库),cmd窗口输入:pip install pywin32(显示Successfully installed pywin32-224)
    6.安装Pypubsub(RIDE依赖的库),cmd窗口输入:pip install Pypubsub(显示Successfully installed Pypubsub-4.0.3)
    7.安装RIDE,cmd窗口输入:pip install https://github.com/HelioGuilherme66/RIDE/archive/master.zip(显示Successfully installed robotframework-ride-1.7.4b1.dev1)

    Robot Framework常用库简介
    标准库
    Robot Framework可以直接导入使用的库,包括:
      • Builtin:包含经常需要的关键字。自动导入无需import,因此总是可用的
      • Dialogs:提供了暂停测试执行和从用户的输入方式。
      • Collections:提供一组关键词处理Python列表和字典。
      • OperatingSystem:允许执行各种操作系统相关的任务。允许执行各种操作系统相关的任务,使各种操作系统相关的任务在robotframework正在运行的系统中执行。
      • Remote:远程库接口的一部分。没有自己的任何关键字,作为robotframework和测试库之间的代理的特殊库。实际测试库可以在不同的机器上运行,可以使用任何编程语言支持XML-RPC协议的实现。
      • Screenshot:提供关键字来捕获和存储桌面的截图。
      • String:用于处理字符串并验证它们的内容的库,用于生成、修改和验证字符串
      • Telnet:支持连接到Telnet服务器上打开的连接执行命令。
      • XML:用于生成、修改和验证XML文件的库。
      • Process:系统中运行过程的库。
      • DateTime:日期和时间转换的库,支持创建和验证日期和时间值以及它们之间的计算
    扩展库
    Robot Framework需要下载安装后才能使用的库,包括:
      • Android library:所有android自动化需要的测试库,内部使用的是Calabash Android
      • iOS library:所有iOS自动化需要的测试库,内部使用Calabash iOS服务
      • appiumlibrary:Android和iOS测试库,内部使用的是appium
      • HTTP library (livetest):内部使用LiveTest工具的HTTP测试的库。
      • HTTP library (Requests):内部使用request工具的HTTP测试的库。
      • MongoDB library:使用pymongo和MongoDB交互的库。(MongoDB是一个基于分布式文件存储的数据库)
      • Database Library (Java):基于Java的数据库测试库。也可使用Jython和Maven central.
      • Database Library (Python):基于Python数据库测试库。支持任何Python解释器,包括Jython。
      • watir-robot:使用Watir的工具的Web测试库。
      • seleniumlibrary:Web测试库,内部使用比较流行的selenium工具。利用早期的selenium1.0和本身已经过时。
      • selenium2library:使用selenium2的Web测试库。替换了大部分老的seleniumlibrary。
      • selenium2library java:selenium2library的java接口
      • Django Library:为Django的库,一个Python Web框架。
      • sudslibrary:一种基于泡沫基于SOAP的Web服务的功能测试库,动态的SOAP 1.1的客户端。
      • Archive library:处理.zip和.tar压缩包的库。
      • Diff Library:比较两个文件的库。
      • FTP library:Robot Framework上测试和使用FTP服务的库。
      • SSHLibrary:通过SSH连接的在远程机器上执行命令。还支持使用SFTP进行文件传输
      • rammbock:通用的网络协议测试库;提供简单的方法来指定网络数据包,并检查发送和接收数据包的结果。
      • imagehorizonlibrary:跨平台、基于图像识别的GUI自动化纯Python库。
      • autoitlibrary:Windows的GUI测试库,使用AutoIt的免费工具作为驱动。
      • Eclipse Library:使用SWT窗口小部件测试Eclipse RCP应用程序的库。
      • robotframework-faker:一个服务faker的库,faker的测试数据生成器。
      • swinglibrary:用Swing GUI测试java应用程序库
      • remoteswinglibrary:使用swinglibrary库测试和连接一个java进程,尤其是java web start的应用。(Java Web Start 是基于 Java 技术的应用程序的一种部署解决方案,它是连接计算机和 Internet的便捷通道,允许用户在完全脱离 Web 的情况下运行和管理应用程序)

  • 相关阅读:
    Mybatis 原始dao CRUD方法
    JQuery的焦点事件focus() 与按键事件keydown() 及js判断当前页面是否为顶级页面 子页面刷新将顶级页面刷新 window.top.location
    使用actionerror做失败登录验证
    Java项目中的下载 与 上传
    shiro框架 4种授权方式 说明
    javascript 中数组的创建 添加 与将数组转换成字符串 页面三种提交请求的方式
    序列化表单为json对象,datagrid带额外参提交一次查询 后台用Spring data JPA 实现带条件的分页查询 多表关联查询
    Spring data JPA 理解(默认查询 自定义查询 分页查询)及no session 三种处理方法
    orcal 数据库 maven架构 ssh框架 的全注解环境模版 maven中央仓库批量删除lastupdated文件后依然是lastupdated解决方法 mirror aliyun中央仓库
    EasyUI加zTree使用解析 easyui修改操作的表单回显方法 验证框提交表单前验证 datagrid的load方法
  • 原文地址:https://www.cnblogs.com/AiYS/p/10780788.html
Copyright © 2011-2022 走看看