测试向导测试
testwizard.test的Python项目详细描述
测试向导-测试
Python language support for testing different kinds of devices using testwizard
使用
将此软件包与一个(或多个)特定设备软件包结合使用
侧车锉
testwizard管理器允许使用(可选)不同参数集在不同的设备上运行单个脚本。 要从任何IDE启用此功能,将使用sidecar文件(json格式)。 默认情况下,sidecar文件的名称与此脚本相同,但扩展名为.json。 命令行参数(--sidecar或-s)可用于指示不同文件的用法。在
此json文件具有以下属性:
- 检测仪:检测仪的名称(可选)
- 参数:参数数组(可选)
- 名称:参数的名称
- value:参数的值
- 资源:一组资源
- category:测试对象的类别
- name:测试对象的名称
- id:testobject的id
- outputFolder:应该写入日志文件的文件夹(可选)
参数
每个参数都将作为会话对象的字段提供。在
print('param1 = '+session.parameters['param1'])
资源
所有资源将在测试运行开始时获取(并因此锁定),并在脚本结束时释放。 要在testobject上执行命令,必须引用(构造)它,执行此操作时,将使用资源的名称,而id对应于实际的设备。在
^{pr2}$输出文件夹
运行测试时,会记录所有操作(测试运行日志)结果也是如此(结果.log). 默认情况下,这些文件的位置是runs文件夹中基于时间戳的文件夹。 如果首选不同的位置,可以在outputfolder属性中配置。在
会议
当脚本被执行(运行或调试)时,将创建一个新的会话,并且所有资源都将被锁定 如果任何资源都已准备就绪,则无法设置会话,并将引发错误。 脚本结束时,会话将被销毁。此时,资源将被释放,并可用于其他脚本运行。在
有关会话的更多信息可以从info属性中读取:
- 信息
- 脚本文件路径:脚本文件的完整路径
- 脚本文件名:脚本文件的文件名
- storagePath:将写入输出的目录
- 测试人员:测试人员的名称
- 信息环境
- scriptsBasePath:存储所有脚本的根目录
- storageBasePath:写入输出的根目录
- ocr引擎:正在使用的ocr引擎的名称
- 正在使用的向导的TestVersion:TestVersion
- 信息会话(可选:仅当从管理器中运行时)
- id:管理器中会话的唯一标识符
- 名称:会话的名称
- 脚本索引:会话中脚本的索引
结果
脚本运行的结果可以是通过、失败或错误。 在脚本运行期间,可以报告多个结果,这可以通过两种不同的方式完成:
- addPass/addFail:报告通过或失败,但不将其发送到服务器
- setResult:报告一个通过/失败/错误并将其发布到服务器
result=mobile.initDriver()ifresult.success:session.addPass(result.message)else:session.addFail(result.message)
result=mobile.initDriver()ifresult.success:session.setResult(ResultCodes.PASS,result.message)else:session.setResult(ResultCodes.FAIL,result.message)
示例脚本
Python(样品.py)
importsysimporttimefromtestwizard.testimportTestWizardfromtestwizard.testimportResultCodesfromtestwizard.mobileimportMobilefromtestwizard.set_top_boximportSetTopBoxwithTestWizard()asTW:session=TW.sessionprint("Parameters:")print(" param1 = "+session.parameters['param1'])print(" param2 = "+session.parameters['param2'])print("Session info:")print(" scriptFilePath = "+session.info["scriptFilePath"])print(" scriptFileName = "+session.info["scriptFileName"])print(" storagePath = "+session.info["storagePath"])print(" tester = "+session.info["tester"])print(" environment.scriptsBasePath = "+session.info["environment"]["scriptsBasePath"])print(" environment.storageBasePath = "+session.info["environment"]["storageBasePath"])print(" environment.ocrEngine = "+session.info["environment"]["ocrEngine"])print(" environment.testWizardVersion = "+session.info["environment"]["testWizardVersion"])ifsession.info["session"]isnotNone:print("Script was started by the manager:")print(" session.id = "+session.info["session"]["id"])print(" session.name = "+session.info["session"]["name"])print(" session.scriptIndex = "+session.info["session"]["scriptIndex"])mobile=Mobile(session,"Mobile")print("mobile: initDriver")result=mobile.initDriver()print(result.message)ifresult.successisFalse:session.addFail(result.message)setTopBox=SetTopBox(session,"STB")print("stb: sendRCKey")result=setTopBox.sendRCKey("menu")print(result.message)ifresult.successisFalse:session.addFail(result.message)ifnot(session.hasFailsorsession.hasErrors):session.addPass("Test was successful")
侧车锉(示例.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-3.4版兼容
许可证
- 项目
标签: