zoukankan      html  css  js  c++  java
  • 安装 RobotFramework 可视化工具 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:Python27libsite-packages
    obotide\__init__.py", line 83, in main
        _run(inpath, not noupdatecheck, debug_console)
      File "C:Python27libsite-packages
    obotide\__init__.py", line 102, in _run
        from robotide.application import RIDE
      File "C:Python27libsite-packages
    obotideapplication\__init__.py", line 16, in <module>
        from .application import RIDE, Project
      File "C:Python27libsite-packages
    obotideapplicationapplication.py", line 22, in <module>
        from robotide.namespace import Namespace
      File "C:Python27libsite-packages
    obotide
    amespace\__init__.py", line 16, in <module>
        from .namespace import Namespace
      File "C:Python27libsite-packages
    obotide
    amespace
    amespace.py", line 31, in <module>
        from robotide.publish import PUBLISHER, RideSettingsChanged, RideLogMessage
      File "C:Python27libsite-packages
    obotidepublish\__init__.py", line 123, in <module>
        from .messages import *
      File "C:Python27libsite-packages
    obotidepublishmessages.py", line 21, in <module>
        from .messages2 import *
      File "C:Python27libsite-packages
    obotidepublishmessages2.py", line 24, in <module>
        from robotide.publish import publisher
      File "C:Python27libsite-packages
    obotidepublishpublisher.py", line 24, in <module>
        from pubsub import pub
      File "C:Python27libsite-packagespubsubpub.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. 感觉不是什么难事, 之前做过的事, 是契合这个思路的
    尽量尝试解释清楚; 自己校对能力有限, 如果有错误欢迎指出
  • 相关阅读:
    完全背包
    01背包
    游戏编程:为什么C++游戏开发比Java更好,其实是因为这两个点!
    VS code搭建 C 和 C++ 环境的完整图文教程!赶紧收藏,这波不亏!
    来自清华计算机系的招聘信息,第一个要求就劝退99%的人!网友:但福利待遇真好!
    C++ 必看书籍清单!从C++ Primer 到 源码剖析,精通真的很难!
    C语言简单编程速成!保姆级入门教程, 目标达成!
    9 名程序员被抓!这次是真的活该.....
    你知道各类开发语言的薪酬差距吗?高薪在于适合,而不在于广度!
    apache common包 CollectionUtils 使用 详解
  • 原文地址:https://www.cnblogs.com/xy14/p/10441061.html
Copyright © 2011-2022 走看看