1. 程式人生 > >安裝 RobotFramework 可視化工具 RIDE

安裝 RobotFramework 可視化工具 RIDE

多個 虛擬 圖形 就是 出書 ole 存在 服務器 號稱

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 窗口

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. 我以為ganjiao
  2. robotframework
    1. ride
      1. 全書主要在講這個東西
        1. 最後 30 頁講了講 代碼
    2. 圖形工具
      1. 直觀簡單
      2. 效率低下
      3. 我不信 robotframework 是完全基於這麽一套 ui 界面來做的
      4. Jmeter 也有類似的模式
      1. ui 界面用於調試
      2. 產生腳本後, 可以用 命令行 來執行
      3. 甚至可以跑 分布式
  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