测试向导核心
testwizard.core的Python项目详细描述
测试向导-核心
Python language support for testing different kinds of devices using testwizard
用法
将此软件包与一个(或多个)特定设备软件包结合使用
Sidecar文件
testwizard管理器允许使用(可选)不同的参数集在不同的设备上运行单个脚本。 要从任何ide启用此功能,需要使用一个sidecar文件(json格式)。 默认情况下,sidecar文件的名称与此脚本相同,但扩展名为.json。 命令行参数(--sidecar或-s)可用于指示不同文件的使用。
此json文件具有以下属性:
- 检测仪:检测仪的名称(可选)
- 参数:参数数组(可选)
- name:参数的名称
- value:参数的值
- 资源:一组资源
- category:测试对象的类别
- name:测试对象的名称
- id:testobject的id
- outputfolder:应该写入日志文件的文件夹(可选)
参数
每个参数都将作为会话对象的字段提供。
print('param1 = '+session.args['param1'])
资源
所有资源将在测试运行开始时获取(并因此锁定),并在脚本结束时释放。 要在必须引用(构造)的testobject上执行命令,在执行此操作时,将使用资源的名称,而id对应于实际设备。
mobile=Mobile(session,"Mobile")result=mobile.initDriver()
输出文件夹
运行测试时,所有操作都会被记录下来(testrun.log),结果也会被记录下来(result.log)。 默认情况下,这些文件的位置是runs文件夹中基于时间戳的文件夹。 如果首选其他位置,则可以在outputfolder属性中配置。
会话
执行脚本(运行或调试)时,将创建一个新会话,并锁定所有资源 如果任何资源都已准备就绪,则无法设置会话,并将引发错误。 脚本结束时会话将被销毁。此时,资源将被释放,并可用于其他脚本运行。
结果
脚本运行的结果可以是pass、fail或error。 在脚本运行期间,可以报告多个结果,这可以通过两种不同的方式来完成:
- addpass/addfail:报告通过或失败,但不将其发送到服务器
- setresult:报告通过/失败/错误并将其发送到服务器
result=mobile.initDriver()if(result.success):session.addPass(result.message)else:session.addFail(result.message)
result=mobile.initDriver()if(result.success):session.setResult(ResultCodes.PASS,result.message)else:session.setResult(ResultCodes.FAIL,result.message)
示例脚本
Python(sample.py)
importsysimporttimefromtestwizard.coreimportTestWizardfromtestwizard.coreimportResultCodesfromtestwizard.mobileimportMobilefromtestwizard.set_top_boximportSetTopBoxwithTestWizard()asTW:session=TW.sessionprint('param1 = '+session.args['param1'])print('param2 = '+session.args['param2'])mobile=Mobile(session,"Mobile")print("mobile: initDriver")result=mobile.initDriver()print(result.message)if(notresult.success):session.addFail(result.message)setTopBox=SetTopBox(session,"STB")print("stb: sendRCKey")result=setTopBox.sendRCKey("menu")print(result.message)if(notresult.success):session.addFail(result.message)if(not(session.hasFails()orsession.hasErrors())):session.addPass("Test was successful")
sidecar文件(sample.json)
{"tester":"Some tester","parameters":[{"name":"param1","value":"value1"},{"name":"param2","value":"value2"}],"resources":[{"category":"MOBILE","name":"Mobile","id":"Mobile 1"},{"category":"STB","name":"STB","id":"SetTopBox 1"}],"outputFolder":"c:\\temp"}
兼容性
该版本与TestWizard 3.1版兼容