【Tempest】openstack自动化测试组件tempest及自动化测试工具nose

宝宝心里苦,但是宝宝只能在这穷乡僻壤说,下周又要开组会必须得干点事了。这次是做论文中的实验部分,主要利用到了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
原文地址:https://www.cnblogs.com/puyangsky/p/5492247.html