宝宝心里苦,但是宝宝只能在这穷乡僻壤说,下周又要开组会必须得干点事了。这次是做论文中的实验部分,主要利用到了openstack中的自动化测试组件Tempest,具体原因不细说了。

安装

分两种安装方法,一是直接使用devstack来安装openstack,这样的话tempest会自动由脚本安装,直接使用非常方便,但是问题是你要能成功运行devstack,反正我是花了一两天解决了无数遇到的问题才成功安装成功并且马上拍摄快照(机智如我)。第二种就是自己去搭(伪)分布式openstack并且自己安装tempest,这个比较麻烦了,需要手动去下载tempest的git仓库并且执行python setup.py,这里有一个写的很好的文档:http://www.ibm.com/developerworks/cn/cloud/library/1403_liuyu_openstacktempest/ IBM出品,必属精品。

nose模块

首先你需要安装nose模块,安装过程如下:

pip install nose
或
easy_install nose
或
python setup.py install

我们假设你已经成功安装了nose,那么建一个test文件夹,新建test.py,内容入下:

def Testfunc():
a=0
b=2
assert a==b

然后在目录下执行nosetests,结果如下:

为什么只输入nosetests会自动执行改目录下的test.py并且执行里面的Testfunc函数,是因为nose会自动识别目录中的测试用例,任何符合正则表达式(?:^|[b_.-])[Tt]est的类、函数、文件或目录,以及TestCase的之类都会被识别并执行。

Tempest

运行及测试报告:

执行 tempest 所有测试用例

nosetests tempest

执行 tempest 某一个包下的所有测试用例,比如 identity 包下的所有测试用例

nosetests tempest/tests/identity

重启devstack服务时,需要使用到screen -x命令,可能会遇到下面这个错误:

Cannot open your terminal '/dev/pts/0' - please check.

解决方法:

script /dev/null

然后就可以screen -x,接下来Ctr+a + 服务的编号,选择想要重启的服务,Ctr+c关闭服务,按一下↑键,执行这条命令,就完成了该服务的重启。

执行 tempest 某一个测试用例,比如 identity 包下的 test_tenants.py

nosetests tempest/api/identity/admin/test_tenants.py

【Tempest】openstack自动化测试组件tempest及自动化测试工具nose的更多相关文章

  1. TIB自动化测试快讯 - Appium手机自动化测试学习资料精选

    TIB自动化测试快讯 - Appium手机自动化测试学习资料精选   Appium+Android+Javahttp://automationqa.com/forum.php?mod=viewthre ...

  2. 老李分享:qtp自动化测试框架赏析-关键字自动化测试框架

    老李分享:qtp自动化测试框架赏析-关键字自动化测试框架   QTP从2005年继winrunner,robot逐渐退出历史舞台之后,占领主流自动化测试工具市场已经10年之久.当初为了提高在自动化测试 ...

  3. RobotFramework自动化测试框架-移动手机自动化测试AppiumLibrary介绍

    在使用AppiumLibrary库时,需要预先安装好Appium自动化工具,Appium官网地址为:http://appium.io/ Appium的GitHub地址为:https://github. ...

  4. OpenStack各组件逻辑关系、通信部署关系及工作流程

    一. OpenStack组件之间的逻辑关系 OpenStack 是一个不断发展的系统,所以 OpenStack 的架构是演进的,举个例子: E 版本有5个组件  Compute 是 Nova:Imag ...

  5. Selenium 与自动化测试 —— 《Selenium 2 自动化测试实战》读书笔记

    背景 最近在弄 appium,然后顺便发现了 Selenium 框架和这本书,恰好这本书也介绍了一些软件测试&自动化测试的理论知识,遂拿过来学习学习.所以本文几乎没有实践内容,大多都是概念和工 ...

  6. Openstack Sahara组件和架构简介

    1.简介 Apache Hadoop是目前被广泛使用的主流大数据处理计算框架,Sahara项目旨在使用用户能够在Openstack平台上便于创建和管理Hadoop以及其他计算框架集群,实现类似AWS的 ...

  7. OpenStack基础组件安装keystone身份认证服务

    域名解析 vim /etc/hosts 192.168.245.172 controller01 192.168.245.171 controller02 192.168.245.173 contro ...

  8. 八、OpenStack—Cinder组件安装

    一.安装和配置控制器节点 1.先决条件 1)创建数据库 # mysql -u root -p 2)创建cinder数据库 MariaDB [(none)]> CREATE DATABASE ci ...

  9. 二、OpenStack—keystone组件介绍与安装

    一.Keystone介绍 keystone 是OpenStack的组件之一,用于为OpenStack家族中的其它组件成员提供统一的认证服务,包括身份验证.令牌的发放和校验.服务列表.用户权限的定义等等 ...

随机推荐

  1. Sass 条件-循环语句

    学习Sass中 @if...@else @for @while @each 一.条件判断 - @if @else 示例: @mixin blockOrHidden($boolean:true){ @i ...

  2. 【NOIP】提高组2015 子串

    [题意]求从字符串A中取出k个互不重叠的非空子串顺序拼接形成B的方案数.n<=1000,m<=100,k<=m. [算法]动态规划 [题解]这题主要是将从i-l转移变成从i-1转移, ...

  3. Linux 中使用 dd 测试磁盘性能

    翻译自 : Linux I/O Performance Tests using dd 基本说明 dd 可以用来做简单的低级别复制文件. 这样做, 一般都是可一直直接访问设备文件. 需要说明的是, 错误 ...

  4. js 合并多个对象 Object.assign

    Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象.它将返回目标对象. var o1 = { a: 1 };var o2 = { b: 2 };var o3 ...

  5. (十九)git版本管理软件——搭建git服务器

    创建管理员git 为管理员用户添加sudo权限 生成管理员秘钥 设置管理员git提交账号和邮箱 下载安装gitolite 启动gitolite 添加项目版本库 添加项目成员 项目成员下载项目 gito ...

  6. 在LINUX平台上手动创建多个实例(oracle11g)

    在LINUX平台上手动创建多个实例(oracle11g) http://blog.csdn.net/sunchenglu7/article/details/39676659 ORACLE linux ...

  7. golang锁记

    golang中有两个锁实现 atomic的CAS实现锁 首先是inter cpu,熟悉汇编的人都知道,inter指令集有个lock,如果某个指令集前面加个lock,那么在多核状态下,某个核执行到这个前 ...

  8. 【2017 Multi-University Training Contest - Team 1】小结

    啊人生第一次打多校被虐 紧随yql的脚步做题. 1001: 可以发现我们平时表示的数都是$x*log_{10}{10}$,所以类似于做一个换底公式就可以了. -1是一个烟雾弹,因为小学生都知道2^n不 ...

  9. mongodb循环

     var rds = db.REGIPATIENTREC.find({mzh:{$lt:"0"},usrOrg:"石景山中西医结合医院"}); var show ...

  10. (转)函数后面加const--C++ const成员函数

    类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变. 在设计类的时候,一个原则就是对于不改变数据成员的成员函数都要在后面加 const,而对于 ...