CIM 事件统一自动化测试框架
2009-12-18 00:00:00 来源:WEB开发网实例 A:
假设对于产品 A 的 SNIA_StorageConfigurationService 存在一个方法 CreateOrModifyStoragePool,该方法可以产生出一个 Instance,从而产生一个 CIM_InstCreation 的事件,此方法的参数有 BlockSize,ElementName,Size。用户只要轻松的填写配置文件然后运行本框架就可以达到测试的效果,如下:
首先填写配置文件
第一部分信息用于订阅监听以及建立连接:
CIMServer=http://127.0.0.1:port_number //CIM Server 地址
Namespace=root // 命名空间
UserName=username // 用户名
Password=password // 密码
Filter=CIM_InstCreation CIM_InstDeletion // 监测的事件类型,多个用空格隔开
Timeout=10000 // 最长等待时间
第二部分信息主要用于触发事件:
Operation=2
// 触发事件的操作个数,有几个操作写几个 Parameter 和 Output
// 第一个操作的参数,中间用空格隔开,第一个参数表示提供服务的类名,
// 第二个参数表示服务的 key 属性,
// 第三个参数表示该操作触发的方法名,
// 第四个参数固定为”-t”表示接下来是方法中用到的参数,后面是方法中用到的参数名及参数 key 值
Parameter1=SNIA_StorageConfigurationService 000000000001
CreateOrModifyStoragePool -t -BlockSize 64 -ElementName Winnie -Size 0
// 第一个操作的返回值
Output1=CIM_InstCreation Pool
// 第二个操作的参数
Parameter2=SNIA_StorageConfigurationService 000000000001
DeleteStoragePool -t -Pool 8 -Force true
// 第二个操作的返回值
Output2=CIM_InstDeletion Pool
然后运行测试框架
如果成功,框架会打出“Success”的字样,标注成功。
如果不成功,框架会给出“Fail”的字样,并将错误信息存入日志文件。
日志文件可能出现的格式有以下三种:
SUCCESS : An indication backs after Create cop // 此处 cop 表示当前对某个 cop 做操作,Create 表示当前是 Create 操作
FAIL : An indication doesn ’ t back after Delete cop // 表示没有收到期望的 Indication
FAIL : An indication backs when there is no Modify cop // 表示收到了不该有的 Indication
实例 B:
假设对于产品 B 的 SNIA_StorageConfigurationService 也存在一个方法 CreateOrModifyStoragePool,但它的方法的参数只有 BlockSize, Size。用户只要轻松对配置文件做少量的修改就可以完成测试。
首先填写配置文件
只要修改 Paramter1,其他部分与实例 A 相同即可 :
Parameter1=SNIA_StorageConfigurationService 000000000001
CreateOrModifyStoragePool -t -BlockSize 64 -Size 0
然后运行测试框架
运行结果与实例 A 相同,此处实现了统一的结果分析,用户不需要为不同的产品有不同的输出烦忧,不管什么产品对于 CIM Indication 的测试结果在格式上都是统一的。
结束语
通过本文,您应该很好地理解了本框架如何实现自动化,以及如何把本框架应用到不同的 CIM 产品。希望本框架能够帮助您轻松地进行 CIM Indication 的测试,显著提高工作效率!
更多精彩
赞助商链接