这个例子主要是对metadata的定义,比较麻烦,可参考:
http://lists.idyll.org/pipermail/testing-in-python/2007-May/000304.html
代码:
from fitLib.DoFixture import DoFixture
from fitLib.ListTree import ListTree, Tree, TreeTypeAdapter
import os
from onshs.ne import NetRing
class LgChssMngDo(DoFixture):
_typeDict={
"slot": "Int",
"create": "String",
"slotCreate.types": [TreeTypeAdapter,"Int", "String"],
"commit.types": [TreeTypeAdapter],
"slotInstallCard.types": [TreeTypeAdapter, "Int", "String"],
}
def __init__(self):
self.ne1 = NetRing()
self.ne1.connect("127.0.0.1",3333,'hokotelne','nerpc2002')
self.ne1.send('$.ne.0.Initial 0')
def CheckRet(self, ret):
if ret.find('success') == -1:
return False
else:
return True
def slotCreate(self, slot, create):
str = '$.ne.lgChss.cfging.0.CreateChss 0,0,%d,%s'%(slot, create)
ret = self.ne1.send(str)
return self.CheckRet( ret )
def commit(self):
ret = self.ne1.send('$.ne.0.TryCommit 0')
return self.CheckRet( ret )
def slotInstallCard(self, slot, card):
ret = self.ne1.send('$.ne.lgChss.valid.0.QueryChssType 0,%d'%(slot))
if False == self.CheckRet(ret):
return False
if ret.find(card) == -1:
return False
return True
测试:
LgChssMngDo | |||||
slot | 7 | create | S64F01 | ||
slot | 11 | create | XC30 | ||
commit | |||||
ensure | slot | 7 | install | S64F01 | card |
小提示:
可以在一个页面上放多个fixture,不管是DoFixture, 还是ActionFixture,比如:
LgChssMngDo |
slot | 7 | create | S64F01 |
slot | 11 | create | XC30 |
commit |
fit.ActionFixture | ||
start | LgChssMngAct | |
enter | slot | 6 |
enter | card_type | S64F01 |
press | CreateChss | |
check | res_info | success |
enter | slot | 2 |
enter | card_type | S64F01 |
press | CreateChss | |
check | res_info | fail |
press | Try | |
check | res_info | success |
LgChssMngDo | |||
slot | 7 | create | S64F01 |
slot | 11 | create | XC30 |
commit |