安装 RobotFramework 可视化工具 RIDE

本文详细介绍了在Win10环境下使用pip安装RobotFramework及其可视化工具RIDE的过程,包括解决ride无法运行的问题及组件版本冲突的处理方法。

1. 概述

  1. robot framework 的安装
  2. 可视化工具 ride 的安装

2. 准备

  1. 安装缘由
    1. 来自一本书
      1. 书名: Robot Framework自动化测试修炼宝典
      2. 豆瓣上有好评不少, 坏评也不多, 而且是 为数不多 的 robot framework 的中文书籍
      3. 如果一定要用 robot framework, 可以简单入门
      4. 看到后面, 就会知道这本书有多么的 垃圾, 跟 真香 二字, 完全不沾边
  2. 环境
    1. 虚拟机
      1. win10
        1. 8G 内存
        2. 30G 硬盘
    2. python
      1. python 2.7.15

3. 安装

  1. 概述
    1. 整个安装过程, 极为简单, 我第一次使用 pip, 几乎没有碰到任何问题
    2. pip 基本可以解决一切问题, 没有书上说的那么复杂
    3. 过程很简单, 所以我就写的很略

1. 打开虚拟机

  1. 概述
    1. 后面操作都是在 虚拟机 中进行
    2. 如果直接在 物理机 上操作, 请忽略这一步

2. 安装 python

  1. 从 python 官网下载 安装包, 注意版本是 python 2.7
  2. 下载完毕后, 安装
  3. 配置 python 环境变量, 包括 python 目录, 和 python/script 目录

3. 使用 pip 安装 robot framework

  1. 验证 pip
    1. 打开 cmd
    2. 输入命令 pip --help, 正确的话, 可以看到 python 的帮助信息
  2. 安装 robot framework
    1. 在 cmd 输入命令 pip install robotframework
    2. 等待安装完毕

4. 使用 pip 安装 wxpython

  1. 概述
    1. 这玩意是 python 的一个 图形组件,
    2. 和 微信 没有一点关系
  2. 安装 wxpython
    1. 命令 pip install wxpython

5. 使用 pip 安装 ride

  1. 概述
    1. ride 是 robot framework 的可视化工具
  2. 安装 ride
    1. 命令 pip install robotframework-ride

6. 运行 ride

  1. 输入命令 ride.py, 召唤 ride 窗口
    1. 这里没有 工作目录 的要求

3. 可能遇到的问题

1. 概述

  1. ride 无法运行的提示

2. 异常原文

Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\robotide\__init__.py", line 83, in main
    _run(inpath, not noupdatecheck, debug_console)
  File "C:\Python27\lib\site-packages\robotide\__init__.py", line 102, in _run
    from robotide.application import RIDE
  File "C:\Python27\lib\site-packages\robotide\application\__init__.py", line 16, in <module>
    from .application import RIDE, Project
  File "C:\Python27\lib\site-packages\robotide\application\application.py", line 22, in <module>
    from robotide.namespace import Namespace
  File "C:\Python27\lib\site-packages\robotide\namespace\__init__.py", line 16, in <module>
    from .namespace import Namespace
  File "C:\Python27\lib\site-packages\robotide\namespace\namespace.py", line 31, in <module>
    from robotide.publish import PUBLISHER, RideSettingsChanged, RideLogMessage
  File "C:\Python27\lib\site-packages\robotide\publish\__init__.py", line 123, in <module>
    from .messages import *
  File "C:\Python27\lib\site-packages\robotide\publish\messages.py", line 21, in <module>
    from .messages2 import *
  File "C:\Python27\lib\site-packages\robotide\publish\messages2.py", line 24, in <module>
    from robotide.publish import publisher
  File "C:\Python27\lib\site-packages\robotide\publish\publisher.py", line 24, in <module>
    from pubsub import pub
  File "C:\Python27\lib\site-packages\pubsub\pub.py", line 146
    def getDefaultPublisher() -> Publisher:
                              ^
SyntaxError: invalid syntax

3. 安装过程中的一个提示

  1. 概述
    1. 安装过程中, 出现了一个提示, 被我忽略了
    2. 表示 pypubsub 组件版本不匹配
  2. 异常提示
robotframework-ride 1.7.3.1 has requirement Pypubsub==3.3.0, but you'll have pypubsub 4.0.0 which is incompatible.

4. 问题解决

  1. 概述
    1. 替换组件
  2. 卸载就组件
pip uninstall pypubsub
  1. 安装新组件
pip install pypubsub==3.3.0

5. 结果

  1. 再次尝试运行 ride, 可以正确启动

4. 事后的一些想法

  1. 关于那本书
    1. 出书的门槛, 真是低啊, 写序的那些人, 看过书吗?
  2. robotframework
    1. ride
      1. 全书主要在讲这个东西
        1. 最后 30 页 讲了讲代码, 也没细看
    2. 图形工具
      1. 直观简单
      2. 效率低下
      3. 我不信 robotframework 是完全基于这么一套 ui 界面来做的
      4. Jmeter 也有类似的模式
        1. ui 界面用于调试
        2. 产生脚本后, 可以用 命令行 来执行
        3. 甚至可以跑 分布式
        4. jmeter 也可以做拓展的开发
  3. 关于 组件版本
    1. 场景
      1. 同一台服务器
      2. 运行多个 python 应用
      3. 其中有若干应用使用同一组件
      4. 但是对组件的版本, 要求不一样
    2. 解决方案
      1. 使用 virtualenv 可以解决这个问题
      2. ref: https://www.cnblogs.com/yangliheng/p/6214507.html
  4. 关于 关键字驱动 测试工具
    1. robot 是关键字驱动的测试工具, 系统自带常用关键字
    2. 新引入的关键字, 可以支持新功能
    3. 但是给我直观的感觉, 就是把常见行为封装好, 然后传递参数; 比如 打开页面, 封装一个 打开的方法, 传参 url, 就可以号称是关键字驱动了
    4. 关键字驱动的好处, 可能是用例编写起来比较接近参数化
      1. 比如, 我把用例存在 文件 或者 数据库 里
      2. 对读取的行, 依次执行, 就可以把用例执行完
      3. 用例的解析, 可能需要一个 解析关键字 的方法, 然后一个把后面的参数传给解析好的方法就行了
      4. 感觉不是什么难事, 之前做过的事, 是契合这个思路的

转载于:https://www.cnblogs.com/xy14/p/10441061.html

robotframework_接⼝⾃动化 接⼝⾃动化 我们在使⽤rebotframework的时候,不只是能做UI⾃动化,接⼝⾃动化也是可以的。 那么这⾥就整理⼀下rebotframework_接⼝⾃动化的应⽤: ⼀、编写接⼝测试 由上图可知,该接⼝如下信息: 接⼝功能描述:预诊模版检索API,以及接⼝请求的地址 接⼝请求参数:详细介绍接⼝的参数名称,参数说明,参数的类型,参数的描述,参数在请求的时候是否为空,以及对应的范例 接⼝返回说明:   1)接⼝返回的格式,包含默认返回的字段,字段的说明,以及字段的类型   2)接⼝基本返回⽰例,接⼝返回默认的字段信息   3)接⼝响应码状态说明   4)接⼝返回字段属性说明   5)接⼝排序参数 接⼝请求URL实例 :请求说明,以及对应的URL 接⼝返回结果⽰例:根据接⼝实际返回的数据为例进⾏展⽰,这⾥返回的格式都是以json格式进⾏返回的 2、设计接⼝⽤例 常规接⼝在设计⽤例时,⾄少需包括两类,常规值⽤例、异常值⽤例。 接⼝的设计规范,主要包含三点:   1)要做到流程和数据的分离,通过不断抽象,消除冗余   2)测试⽤例应尽量简单易读,避免复杂逻辑   3)建⽴测试⽤例分层架构,并坚守,⾃动化测试⽤例必须⾮常健壮,避免误报 3、编写接⼝⽤例 调⽤操作流程关键字,传⼊测试数据 编写接⼝测试时,⾸先需要进⾏数据准备,设置参数,然后构造请求,最后对结果进⾏断⾔,最后删除session 在针对接⼝返回的结果进⾏断⾔,校验接⼝返回是否正常,是否符合预期值 接⼝⽤例设计好之后,如何能让⽤例能发挥价值主要取决于断⾔如何来写,接⼝⾃动化⽤例的最终⽬的是通过接⼊研发体系的CI持续集成中,通过接⼝每⽇构建中校验接⼝的稳 定性,是否由于环境因素影响,或者每次迭代接⼝时对现有接⼝的影响。那么如何发现异常 ,简单来说,就是期望接⼝返回的数据与接⼝实际返回的数据不⼀致。⽽这个过程就 需要通过合理地在接⼝⽤例中使⽤断⾔来实现。 那么有⼈会问,接⼝断⾔我加了啊?不就是校验接⼝返回的code值是否是成功的吗?我相信⾄少有⼀部分⼈在设计接⼝⽤例断⾔时,只有且仅有校验接⼝的返回code值,虽然 code值的断⾔是需要的,但不能仅仅只通过这⼀种断⾔⽅式来做为接⼝是否有异常的判断依据。 那么接⼝断⾔,需要有⼏种呢,从上⾯接⼝⽤例设计的截图中⼤家也能看出,⼀般来说⾄少需要有三种: 正常code断⾔(正常返回的code值)、 异常断⾔(异常的code值和异常的message错误信息)、 接⼝关键数据断⾔(校验具体返回的数据字段值) 1、正常code断⾔ 2、异常code,message断⾔ 3、接⼝数据断⾔ 4、接⼝断⾔常⽤关键字 BuiltIn中包含的断⾔关键字,平时在对接⼝返回结果进⾏断⾔时也能使⽤以下关键字 Should Be Empty Should Be Equal Should Not Be Empty Should Be Equal As Integers Should Be Equal As Numbers Should Be Equal As Strings Should Be True Should Contain Should Contain Any Should Contain X Times Should End With Should Match Should Match Regexp Should Not Be Equal Should Not Be Equal As Integers Should Not Be Equal As Numbers Should Not Be Equal As Strings Should Not Be True Should Not Contain Should Not Contain Any Should Not End With Should Not Match Should Not Match Regexp Should Not Start With Should Start With Collections中包含的断⾔关键字,平时在对接⼝返回结果进⾏断⾔时也能使⽤以下关键字 Dictionaries Should Be Equal Dictionary Should Contain Item Dictionary Should Contain Key Dictionary Should Contain Sub Dictionary Dictionary Should Contain Value Dictionary Should Not Contain Key Dictionary Should Not Contain Value List Should
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值