测试向导测试

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:管理器中会话的唯一标识符
    • 名称:会话的名称
    • 脚本索引:会话中脚本的索引

结果

脚本运行的结果可以是通过、失败或错误。 在脚本运行期间,可以报告多个结果,这可以通过两种不同的方式完成:

  1. addPass/addFail:报告通过或失败,但不将其发送到服务器
  2. 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版兼容

许可证

Testwizard licensing

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用精灵表快速设置精灵运动的动画?   为什么我的Python帖子可以工作,但我的Java帖子给出了CSRF错误?   java有没有从Maven POM生成Ant构建脚本的简单方法?   排序Java维护对象集合的顺序   java在安卓中使用edittext作为html编辑器   Java Swing float左侧面板,带竖条   java在执行Collatz contejure时无法打印1   java如何使用“文件”读取而不修改实际文件?   java如何创建基于Spring4注释的通道?   java错误:范围中没有BPN类型的封闭实例{   java如何在另一个类中使用方法   java创建字符串到接口的映射,接口/函数参数和返回类型不同   清单中的Java类路径未启动库   AbstractRequestContext上的google应用程序引擎NullPointerException。doFire(AbstractRequestContext.java:1102)   JSON对象中的java JSON数组返回null   java如何在每次将数据字段(如电子邮件)插入数据库时发现其唯一性?   当我调用类的异步类时,java在Android中不是一个封闭类   java Bat文件在退出时打开空白命令提示符   java链接jQuery文件与SpringMVC