1. 概述
- robot framework 的安装
- 可视化工具 ride 的安装
2. 准备
-
安装缘由
- 来自一本书
- 书名: Robot Framework自动化测试修炼宝典
- 豆瓣上有好评不少, 坏评也不多, 而且是 为数不多 的 robot framework 的中文书籍
- 如果一定要用 robot framework, 可以简单入门
- 看到后面, 就会知道这本书有多么的 垃圾, 跟 真香 二字, 完全不沾边
- 来自一本书
-
环境
- 虚拟机
- win10
- 8G 内存
- 30G 硬盘
- win10
- python
- python 2.7.15
- 虚拟机
3. 安装
- 概述
- 整个安装过程, 极为简单, 我第一次使用 pip, 几乎没有碰到任何问题
- pip 基本可以解决一切问题, 没有书上说的那么复杂
- 过程很简单, 所以我就写的很略
1. 打开虚拟机
- 概述
- 后面操作都是在 虚拟机 中进行
- 如果直接在 物理机 上操作, 请忽略这一步
2. 安装 python
- 从 python 官网下载 安装包, 注意版本是 python 2.7
- 下载完毕后, 安装
- 配置 python 环境变量, 包括 python 目录, 和 python/script 目录
3. 使用 pip 安装 robot framework
-
验证 pip
- 打开 cmd
- 输入命令
pip --help
, 正确的话, 可以看到 python 的帮助信息
-
安装 robot framework
- 在 cmd 输入命令
pip install robotframework
- 等待安装完毕
- 在 cmd 输入命令
4. 使用 pip 安装 wxpython
- 概述
- 这玩意是 python 的一个 图形组件,
- 和 微信 没有一点关系
- 安装 wxpython
- 命令
pip install wxpython
- 命令
5. 使用 pip 安装 ride
- 概述
- ride 是 robot framework 的可视化工具
- 安装 ride
- 命令
pip install robotframework-ride
- 命令
6. 运行 ride
- 输入命令
ride.py
, 召唤 ride 窗口- 这里没有 工作目录 的要求
3. 可能遇到的问题
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. 安装过程中的一个提示
-
概述
- 安装过程中, 出现了一个提示, 被我忽略了
- 表示 pypubsub 组件版本不匹配
-
异常提示
robotframework-ride 1.7.3.1 has requirement Pypubsub==3.3.0, but you'll have pypubsub 4.0.0 which is incompatible.
4. 问题解决
-
概述
- 替换组件
-
卸载就组件
pip uninstall pypubsub
- 安装新组件
pip install pypubsub==3.3.0
5. 结果
- 再次尝试运行 ride, 可以正确启动
4. 事后的一些想法
-
关于那本书
- 出书的门槛, 真是低啊, 写序的那些人, 看过书吗?
-
robotframework
- ride
- 全书主要在讲这个东西
- 最后 30 页 讲了讲代码, 也没细看
- 全书主要在讲这个东西
- 图形工具
- 直观简单
- 效率低下
- 我不信 robotframework 是完全基于这么一套 ui 界面来做的
- Jmeter 也有类似的模式
- ui 界面用于调试
- 产生脚本后, 可以用 命令行 来执行
- 甚至可以跑 分布式
- jmeter 也可以做拓展的开发
- ride
-
关于 组件版本
- 场景
- 同一台服务器
- 运行多个 python 应用
- 其中有若干应用使用同一组件
- 但是对组件的版本, 要求不一样
- 解决方案
- 使用 virtualenv 可以解决这个问题
- ref: https://www.cnblogs.com/yangliheng/p/6214507.html
- 场景
-
关于 关键字驱动 测试工具
- robot 是关键字驱动的测试工具, 系统自带常用关键字
- 新引入的关键字, 可以支持新功能
- 但是给我直观的感觉, 就是把常见行为封装好, 然后传递参数; 比如 打开页面, 封装一个 打开的方法, 传参 url, 就可以号称是关键字驱动了
- 关键字驱动的好处, 可能是用例编写起来比较接近参数化
- 比如, 我把用例存在 文件 或者 数据库 里
- 对读取的行, 依次执行, 就可以把用例执行完
- 用例的解析, 可能需要一个 解析关键字 的方法, 然后一个把后面的参数传给解析好的方法就行了
- 感觉不是什么难事, 之前做过的事, 是契合这个思路的