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. 获取所有权windows目录所有权

    Takeown /r /f 盘符:\目录\目录 例如: Takeown /r /f C:\Windows\CSC

  2. tree 向上查找(更新删除后页面的数据)

    需求 : 根据选择的id,需要找到一整条tree,id以及id数据的子集都已被删除(向下查找-----上一篇笔记),此时需要更新页面的数据(向上查找) //知道最底层的节点的id,查找满足id的整个t ...

  3. 安装Kali Linux 后需要做的 20 件事 - 51CTO.COM

    我在本文中整理出了安装一份全新的Kali Linux后总是要做的若干件事情.由于我有多台笔记本电脑和工作站,所以尽量扩大下列操作步骤的适用范围,以满足每个人的需求.这是我在安装Kali Linux后做 ...

  4. vs使用libevent

    1.下载最新libevent-2.1.8-stable,并解压 2.使用vs2013 工具这里使用x64,这里更新一下,改为使用x86 进入到libevent目录 运行 nmake /f Makefi ...

  5. tomcat部署web项目方法

    一.tomcat部署web项目之静态配置: 方法一:直接将为web项目放到webapps下: 如图所示:在webapps文件下,存放了一个html文件,启动tomcat,访问http://localh ...

  6. iview(DatePicker)时间转入后台少一天 解决方案

    后台注解 前台: 加个事件 @on-change @on-change="getStartTime" getStartTime(starTime) { this.leaveReco ...

  7. VS2008 工具栏CMFCToolBar的使用总结(转)

    (一)自定义工具栏 自定义工具栏,分两种情况:一是直接添加工具栏,并自己绘制图标:二是,添加工具栏,然后与BMP关联,与VC6.0中的自定义彩色工具栏类似. 1.  自绘工具栏 1)添加Toolbar ...

  8. vue根据:data-属性值绑定控制class变化

    checked的初始值 小bug: v的checked有被修改,但没有被渲染到页面中. 试了子组件修改后的值传回父组件没用. 最后修改数据后调用this.$forceUpdate();即可重新渲染,样 ...

  9. 如何不使用 submit 按钮来提交表单?

      如果我们不想用 submit 按钮来提交表单,我们也可以用超链接来提交,我们可以这样写代码: <a href=”javascript: document.myform.submit ();” ...

  10. String的非空判断、Integer的非空判断、list的大小判断,对象的非空判断

    1.String的非空判断. StringUtils.isNotEmpty(String str); 2.Integer的非空判断. null != Integer ; 3.list的大小判断. li ...