Robot Framework - 1 - 测试用例与测试库
01- 关于测试库(Test libraries)
- Standard: Builtin, OperatingSystem, String, Dialogs, Remote, Telnet, XML, etc.
- External: Selenium2Library, SSHLibrary, HTTP library, etc.
- Other: Creating test libraries, etc.
- robotframework.org:http://robotframework.org/#test-libraries
- PyPI:https://pypi.org/search/?q=robotframework
- pip install decorator
- pip install selenium
- pip install robotframework-selenium2library
02- 测试用例的组织层次结构
•测试集(Test Case Suite)
•测试用例(Test Case)
•自定义关键字(User Keyword )
•变量(Variables)
•资源文件(Resource files)
•变量文件(Variable files)
•测试库(Test libraries)
03- 创建简单自定义的test library
•确认要实现的内容
•编写test library
# -*- coding: utf-8 -*- import re ## re 模块提供了一系列功能强大的正则表达式 (regular expression) 工具
import hashlib ## Secure hashes and message digests
import random ## random 模块包含许多随机数生成器
import string ## string 模块提供了一些用于处理字符串类型的函数, class CreatNewLibrary():
def ABA(self,a,b):
'''
公式:(a+b)的a次方,a,b是正整数
Example:
| ${c} | aba | 2 | 3 |
结果${c}=25
'''
return (int(a)+int(b))**int(a) def Find_IP(self,url):
'''
从网址获取IP地址
Example:
| ${ip} | Find IP | http://www.example.com?ip=192.187.111.198&code=12345&name=cat |
结果${ip}=192.187.111.198
'''
ip = re.findall('ip=(.*?)&',url,re.I)
if(ip and ip[0]!=''):
return ip[0]
else:
return "没有匹配到IP" def MD5_RandStr(self,username,key='UYTYUT-65HGj-IYR8760-YRJKKL9'):
'''
(用户名+一个key)进行MD5加密,key有默认的,也可以执行设定
Example :
| ${string} | MD5 RandStr | tester |
| ${string} | MD5 RandStr | tester | UYTYUT-65HGj-IYR8760-YRJKKL9
'''
return hashlib.md5(username+key).hexdigest()
•编译调试test library

•导入及确认test library
正常的情况下,导入完成test library文件名称在settings中应显示为黑色。

按F5键,选择对应的Source名称,正常情况下,可以看到自定义库和说定义的关键字信息。

•应用test library
*** Settings ***
Force Tags CreatNewBasicLibrary
Library CreatNewLibrary.py *** Test Cases ***
CreatNewBasicLibrary
${c}ABA 2 3
Log${c}
${ip}Find IPhttp://www.example.com?ip=192.187.111.198&code=12345&name=cat
Log${ip}
${string1} MD5 RandStr tester
Log${string1}
${string2} MD5 RandStr tester123456-654321-98765-56789
Log${string2}


Robot Framework - 1 - 测试用例与测试库的更多相关文章
- Robot Framework: 自定义自己的python库
利用Robot Framework编写测试用例,往往需要开发自己的关键字,有的关键字需要通过自己编写python代码来实现.这在rf中,就需要自己定义python库.这个过程其实不复杂,本文来介绍下. ...
- Robot Framework(4)- 测试套件的基本使用
如果你还想从头学起Robot Framework,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1770899.html 前言 因为是基于 ...
- Robot Framework之测试用例分层实战
1.1 测试用例的第一层(交互层) 1. 创建项目资源(Resource). 操作步骤: 点”项目名称”->右键,选New Resource,在弹窗Name 输入框输入资源名称 mykeywo ...
- 执行robot framework 的测试用例 命令行pybot使用方式
1.执行整个项目下的所有用例: pybot 项目路径.例如: pybot D:\robot 2.执行某个suit中的所有用例: pybot 项目路径\suit文件名称. 例如:pybot D:\rob ...
- Robot Framework - 2 - 创建测试库
04- 创建测试库--基础概念 Robot Framework 实际的测试能力是由测试库提供的. ***** 支持的编程语言 Robot Framework 自身是用 Python 编写的,能使用 P ...
- Robot Framework(十四) 扩展RobotFramework框架——创建测试库
4.1创建测试库 Robot Framework的实际测试功能由测试库提供.有许多现有的库,其中一些甚至与核心框架捆绑在一起,但仍然经常需要创建新的库.这个任务并不复杂,因为正如本章所示,Robot ...
- Robot Framework - 4 - 创建和扩展测试库的示例
创建和扩展Library的示例 示例:Check status on Linux OS 创建与使用library的基本步骤: 1--- library实现的内容和实现的方式 ...
- Robot Framework - 3 - 测试库API
08- 创建测试库--发布测试库 ***** 测试库文档 为了便于维护,测试库文档应该从源代码中生成. Robot Framework 有自己的文档工具 libdoc.py生成 API 文档. 一个 ...
- Robot Framework自动化测试框架初探
Robot Framework是一款python语言编写,通用的功能自动化测试框架.它使用了比较易用的表格数据语法,基于关键字驱动测试,主要用来验收测试和验收测试驱动开发(ATDD). 本文主要介绍R ...
随机推荐
- 初学html,任务1:一个简单html页面,要求:内容页面装一篇文章 用html来分段
这是主要内容部分,用html实现版块分布. 接下来是样式部分. 让页面所有元素的padding和margin都设置为0 : 否则加入一张大的覆盖的背景图片后,会由于浏览器的缘故,图片周边有白边: 设置 ...
- python3 第二十九章 - 内置函数之tuple相关
Python元组包含了以下内置函数 序号 方法及描述 实例 1 len(tuple)计算元组元素个数. >>> tuple1 = ('Google', 'Baidu', 'Taoba ...
- 1123. Is It a Complete AVL Tree (30)
An AVL tree is a self-balancing binary search tree. In an AVL tree, the heights of the two child sub ...
- sql语句创建数据表
unsigned 数值类型 无符号化 AUTO_INCREMENT 自增长 PRIMARY KEY 唯一主键 COMMENT 备注信息 BIT 类型只有1和0两个值 enum 枚举数值类型 UNIQU ...
- css样式表的知识点总结
css总的来说有三种css样式可供选择: 1,行内样式表 行内样式表,直接写在了html文件的元素中,例如: <div style="color:red;"></ ...
- 我的Unity学习笔记之——Unity中从网站下载ab资源+下载存储一条龙
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Net ...
- Notes on Distributed System -- Distributed Hash Table Based On Chord
task: 基于Chord实现一个Hash Table 我负责写Node,队友写SuperNode和Client.总体参考paper[Stoica et al., 2001]上的伪代码 FindSuc ...
- python for data analysis 2nd 读书笔记(一)
第一章相对简单,也么有什么需要记录的内容,主要用到的工具的简介及环境配置,粗略的过一下就行了.下面我们开始第二章的学习 CHAPTER 22.2Python Language Basics, IPyt ...
- Java的this关键字在继承时的作用
1.this.属性 class A{ int a = 10; public void play(){ System.out.println(this.a); } } class B extends A ...
- one-to-one 一对一映射关系(转 wq群)
2.配置对应的xml配置文件 person的配置文件 idCard的配置文件 idCard的配置文件 3.测试 运行测试程序后,控制台输出两条语句