测试向导核心

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。 在脚本运行期间,可以报告多个结果,这可以通过两种不同的方式来完成:

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

许可证

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