RF-01

工作总结:

杭州项目

1.自动化的测试流程:

  • 采用构建不同的业务流程来实现软件功能实现的覆盖。每一个case就是一个业务流程,通过判断业务流程是否跑通来判断业务使用的功能正确性。
  • 注释:在我们项目上具体实施俩套方案:
    • 1)业务流程
    • 2)功能模块

2.自动化环境

  • 注释:杭州环境详细安装参照

  • 基于框架:Robot Framework

    • Robot framework 本质上是基于 Python 语言开发的一个框架,它提供了一套独立的语法。它本身只提供基础的一些功能。比如,它自带的 Builtin 库中提供的关键字告诉你如何定义变量、数组和字典,打印信息,分支语句和循环等。以及框架本身所提供的 “自动化” 功能,如何组织用例,生成测试报告。

    • 优势

      • 使用相对于unittest框架简单
      • 非常丰富的库
      • 可以把excal的测试用例,以代码的形式积累起来
      • 支持开发系统关键字
    • 缺点

      • RF集成了一些关键供我们使用,相较于unittest而言,提高了我们的工作效率,但因此我们测试被限制在RF的框框中,缺失了灵活性。
      • 如果你想实现某一类型的自动化测试,如中接口、UI 或 移动APP的自动化,需要通过第三方Library完成
    • Web 自动化测试:SeleniumLibrary,Selenium2Library,Selenium2Library 等。

      Windows GUI 测试:AutoItLibrary。

    移动测试:Android library、iOS library、AppiumLibrary 等。
    
    数据库测试:Database Library (Java)、Database Library (Python)、MongoDB library 等。
    
    文件对比测试:Diff Library。
    
    HTTP 测试:HTTP library (livetest)、HTTP library (Requests)等。
    
  • Python: 2.7

  • RIDE:就是一个图形化界面,用于创建、组织、运行测试的软件

一、RIDE:使用方法

1.创建项目-创建测试文件夹包-创建测试集合-创建testcase,这里不详细介绍

 project - directory - suit - case

2.导包

3.resource 导入资源

  • 当遇到重复使用多次的事件时应在:resource下新建资源,以便以后多次使用。


    资源的创建.png

    对创建的resource使用,相当于导包,当测试集添加对应资源后,


    资源的存放.png

    在文件夹下的case可以直接直接调用resource中的方法,可以把每个方法的名字,当成关键字使用。下图定义的一个关键字:
    关键字调用.png

    在case中的直接使用

4.变量的设置及引用

  • 参考资料

5.页面元素的定位

  • 参考资料
  • 常用方法
    • id= local # 注意:不能这样使用id="local" 和 name="local"
    • name = local
    • xpath = local #路径(绝对路径,相对路径)
    • css = 名字
  • 非常规
  • 借助模拟tab按键间接定位元素
  • div方法 :一层一层的父子类写 # 需要对代码特别熟悉
  • js # 以上方法除js外都又能定位失败,js百分之百定位元素
    • 例子(1)
    • dom:document.querySelector('button[id="btn_search"]')
      - dom:document.querySelector 是固定的用法
      - button : 定位元素的类型 后面的接上 id ,name 什么,格式如上
    • 例子(2)
    • dom:document.querySelectorAll('input[name="delxq"]')[0]
      • dom:document.querySelectorAll 查找后面元素的每个子类,并把它的子类放到一个列表中
      • [0] 其实是对列表中元素的序列号,(在列表中没单元都有一个地址,可以从零开始(python中,其实大多数语言都是这样,有个别例外),往后一次类推,如[1])
        注释:以上例子(1)(2)只是个人理解,并不专业。

6.RF关1键字

  • 关键字请参考
  • f5在RIDE中查看全部关键字(快捷键)
  • RIDE中关键字提示:ctrl +alt +space

7.对键盘事件的处理

  • 方法一:关键字创建
  • 方法二:使用 robotframework + AutoItLibrary下发键盘事件,键盘命令,组合键
    • 1)需要安装AutoltLibrary 库


      AutoLibrary库的导入.png
    • 2)找到对应的send 方法
      send方法的参考资料

8.对Alert的处理:创建alert资源

9.opencv图像是是技术在自动化测试的应用 (目前不需要掌握)

  • opencv参考资源

10.对异常的处理:当测试用例未能正长运行时,RF只是在会保留错误页面,在测试日志中生成一条fail

  • 自定意异常:添加关键字
  • 对功能的错误验证的处理

10.多线程的应用

11.页面等待的处理

  • 参考资料
  • 例子
  • 1)Wait Until Element Contains local 表格内出现字段完成
    [ locator | text | timeout=None | error=None ]
    Timeout: 设置最多等待时间
    Text : 出现字段 (待推敲)
    等待表格弹出
  • (2)Table Cell Should Contain 验证表单元格包含预期的文本
    [ locator | row | column | expected | loglevel=INFO ]

12.对下拉框操作:使用js

RED插件的使用方法

需要掌握的技巧:

控制浏览器

  • 浏览器的窗口大小
  • 浏览器的前进后退
  • 模拟浏览器的刷新

鼠标事件

键盘事件

获得验证信息

  • title
  • url
  • text

设置元素等待

  • 显示等待
  • 隐式等待
  • sleep休眠方法
    sleep 2s
    sleep 2m

多表单切换

多窗口切换

告警框处理

上传文件

下载文件

操作cookie

调用javascript

处理HTML的视频播放

窗口截图

关闭窗口

验证码的处理

你可能感兴趣的:(RF-01)