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. 感觉不是什么难事, 之前做过的事, 是契合这个思路的

安装 RobotFramework 可视化工具 RIDE的更多相关文章

  1. ubuntu安装mysql可视化工具MySQL-workbench及简单操作

    一.使用命令行在ubuntu下安装mysql可视化工具MySQL-workbench Step1:安装MySQL-workbench 方案一:如果你已经装好mysql的相关服务,那么直接使用如下命令即 ...

  2. MongoDB 安装和可视化工具

    MongoDB 是一款非常热门的NoSQL,面向文档的数据库管理系统,官方下载地址是:MongoDB,博主选择的是 Enterprise Server (MongoDB 3.2.9)版本,安装在Win ...

  3. MYSQL系列1_MySQL的安装,可视化工具的使用,以及建库建表等

    大家都知道MYSQL是开源的数据库,现在MYSQL在企业中的使用也越来越多,本人之前用过SQL SERVER数据库,因业务需要和自己的兴趣想要学习MYSQL,对于MYSQL,本人还是新手,请大家多多指 ...

  4. Ubuntu安装mongo可视化工具

    一.robo 3T 是mongodb的一个非常好用的可视化管理工具,曾经名为robomongo,现在被收购后改名为robo 3T.且现在robo 3T 1.1版本能支持mongodb3.4.现在在Ub ...

  5. NoSql非关系型数据库之MongoDB应用(二):安装MongoDB可视化工具

    业精于勤,荒于嬉:行成于思,毁于随. 我们上次说到NoSql非关系型数据库之MongoDB应用(一):安装MongoDB服务 这次我们介绍安装  NoSQL Manager for MongoDB 可 ...

  6. 循序渐进redis(一) —— redis的安装及可视化工具的使用

    1.安装 注意事项: 1.安装gcc 2.编译带参数: make MALLOC=libc 2.可视化客户端工具 推荐使用RedisClient,提供了基本的CRUD以及过期设置等操作的图形化接口,在项 ...

  7. mac安装Redis可视化工具-Redis Desktop Manager

    Redis是一个超精简的基于内存的键值对数据库(key-value),一般对并发有一定要求的应用都用其储存session,乃至整个数据库.不过它公自带一个最小化的命令行式的数据库管理工具,有时侯使用起 ...

  8. MacOS安装kafka可视化工具Kafka Tool

    1 下载地址 http://www.kafkatool.com/download.html 2 下载dmg包,选择对应版本,我的kafka是2.1的版本,所以选择了Kafka Tool 2.0.4 3 ...

  9. .net core 与ELK(2)安装Elasticsearch可视化工具

    elasticsearch-head是els的界面插件,地址https://github.com/mobz/elasticsearch-head 1.进入github并下载 wget https:// ...

随机推荐

  1. 沉淀,再出发——在Hadoop集群之上安装hbase

    在Hadoop集群之上安装hbase 一.安装准备 首先我们确保在ubuntu16.04上安装了以下的产品,java1.8及其以上,ssh,hadoop集群,其次,我们需要从hbase的官网上下载并安 ...

  2. Task执行内幕与结果处理解密

    本课主题 Task执行内幕与结果处理解密 引言 这一章我们主要关心的是 Task 是怎样被计算的以及结果是怎么被处理的 了解 Task 是怎样被计算的以及结果是怎么被处理的 Task 执行原理流程图 ...

  3. 475. Heaters (start binary search, appplication for binary search)

    Winter is coming! Your first job during the contest is to design a standard heater with fixed warm r ...

  4. ListView实现分页加载(二)实现底布局

    上一篇中,我们搭建好了一个Demo.没有阅读的可以点击下面的链接: http://www.cnblogs.com/fuly550871915/p/4866929.html 在这一篇中,我们将实现Lis ...

  5. BIND简易教程(3):DNSSec配置

    目录:BIND简易教程(1):安装及基本配置BIND简易教程(2):BIND视图配置BIND简易教程(3):DNSSec配置 (本篇) DNSSec,有个半英半中的名字叫DNS安全扩展.说的好听一点, ...

  6. Unix shell输入输出重定向

    敲代码的时候,适当地打印出一些进度或者日志信息经常能帮助我们跟踪程序的执行结果.可是,这些结果或者日志打印信息到屏幕上并不能作为以后检查问题的根据.这就是重定向的作用,敲代码的时候,我们能够方便的将相 ...

  7. ParameterDirection中的参数(Input,Output,InputOutput,ReturnValue)

    ParameterDirection中的参数类型定义,首先看ParameterDirection定义 // 摘要: // 指定查询内的有关 System.Data.DataSet 的参数的类型. pu ...

  8. Spring data JPA先排序再分页。

    //工具类,增删改查等等package com.yunqing.service.impl; import java.util.Map; import org.springframework.beans ...

  9. python-装饰器的简单使用

    一.介绍 首先我们先来看一个简单的例子,在基础平台中有一个home()和tv()函数,在业务平台中调用此函数时,给出了响应的打印内容: 基础平台: def home(): print('welcome ...

  10. [转] 有关java中两个整数的交换问题

    转载申明:本文主要是用于自己学习使用,为了完善自己的只是框架,没有任何的商业目的. 原文来源:有关Java中两个整数的交换问题 如果侵权,麻烦告之,立刻删除. 在程序开发的过程,要交换两个变量的内容, ...