例子TQL解决方案
在本章的例子说明如何使用TQL典型问题得到解决和示例应用程序车辆保险计算器。TestCase和模块被选择在下面的例子中为了寻找它们的属性。
下面的插图显示了搜索查询,返回结果第四层每一个层面。
源对象相关的搜索查询
![]() |
任意数量的个人搜索查询可以任意加在一起,总和。 |
在下面的例子中,源对象的搜索查询测试点文件夹,如果没有显式声明的。
TestCase的名字
现状
例子——现状
任务
搜索所有测试点测试点文件夹的名字数据源Excel。
解决方案
= >部分:TestCase (Name = =“数据源Excel”)
层级
现状
例子——现状
任务
搜索所有与测试点的名字数据源Excel,位于3水平以下测试点文件夹中。
解决方案
- > - > - >部分部分部分:TestCase (Name = =“数据源Excel”)
可以用简单的显式地选择的水平arrowOperator- >。使用的数量决定了水平。
排除
现状
例子——现状
任务
搜索所有自我不包含这个名字数据源Excel。
解决方案
= >部分:TestCase(名字!= "数据源Excel ")
TestStepValue
现状
例子——现状
任务
搜索所有包含的TestStepValue测试点值摩托车。
解决方案
首先,所有TestStepValues寻找相应的价值。正在搜索测试点以来,父对象必须解决所有使用水平= > SUPERPART。
= = = >部分:TestStepValue[价值“摩托车”]= > SUPERPART: TestCase
替代
与回报,您可以指定哪些对象应该返回。
= >返回部分:TestCase = >部分:TestStepValue(值= =“摩托车”)
![]() |
的返回命令是不会显示在自动完成。因此需要后续的空间。 |
类型的模板
现状
例子——现状
任务
搜索模板的所有测试。查询不需要区分大小写。
解决方案
= >部分:TestCase (IsTemplate =我= " true ")
所需的元素被发现通过TestCase的财产。
操作员=我=代表一个比较不区分大小写的。
相关搜索
现状
例子——现状
任务
搜索所有的模板和测试点的TestCase的名字卡车01。
解决方案
= >部分:TestCase (IsTemplate = = " True ")和(Name = =“卡车01”))
LockedBy
任务
OwnedItem撤销签出(ExecutionLists ExecutionLogs)的一个特定的用户。
解决方案
= >返回部分:OwnedItem CheckOutState = = " CheckedOut "] - > LockedBy [Name = =“samuel_smith”]
子字符串
现状
例子——现状
任务
搜索所有测试点卡车在他们的名字。
解决方案
= = >部分:TestCase(名字?“卡车”)
正则表达式
现状
例子——现状
任务
搜索所有与测试点的名字开始汽车。
解决方案
= >部分:TestCase (Name = ~ ^汽车”)
搜索所有的测试,使用一个特定的模块
现状
例子——现状(测试用)
例子——现状(模块)
任务
使用该模块的搜索所有测试点车辆数据。
解决方案
搜索的起始点是模块文件夹中。
= >部分:模块(Name = =“车辆数据”)
= > AllReferences = > SUPERPART: TestCase
解决方案-描述
首先,所有模块的名字车辆数据搜索。第二个ArrowOperator指出,所有引用的对象(ModuleAttributes TestSteps, ObjectMap,文件夹和用户)。只有TestSteps有关这个任务,因为它们与明确搜索测试用。这些优越的元素访问“= > SUPERPART: TestCase”。
可选择的解决方案
搜索的起始点是模块文件夹中。
= >部分:模块[Name = = "车辆数据"]- > TestSteps= >SUPERPART: TestCase
请注意
一组联盟可以用来搜索所有用例使用至少一个搜索查询中指定的模块。
任务
搜索所有使用Module1的测试点和/或Module2。
解决方案
搜索的起始点是测试点文件夹中。
- >联盟(= >返回部分:TestCase = >部分:TestStep - >模块[Name = = " Module1的"]= >返回部分:TestCase = >部分:TestStep - >模块[Name = = " Module2 "])
搜索所有XModules
任务
搜索所有XModules。
解决方案
= >部分:XModules
![]() |
188金宝搏app苹果下载软件托斯卡使用模块和XModules。有关更多信息,见“创建和管理模块”章。 |
搜索对象的属性
现状
例子——现状
任务
一个用户定义的TestCase属性的名称TestProp1。搜索所有的测试,该属性的值Test-01。查询不需要区分大小写。
解决方案
这个搜索的起点测试点文件夹中。
= >部分:TestCase (TestProp1 =我=“test-01”)
现状
例子——现状
任务
一个用户定义的属性命名为TestCase文件夹TestProp2。搜索所有TestCase文件夹,这个属性的值Test-02。查询不需要区分大小写。
解决方案
这个搜索的起始点是项目根元素。
= >部分:TCFolder TestProp2 =我=“test-02”)
现状
例子——现状
任务
一个用户定义的模块属性的名称TestProp3。搜索所有模块,该属性的值Test-03。查询不需要区分大小写。
解决方案
这个搜索的起点模块文件夹中。
= >部分:模块(TestProp3 =我=“test-03”)
寻找TechnicalIDs
现状
例子——现状
例子——现状
任务
寻找TechnicalIDTechnicalID = YearOfConstruction。
解决方案
这个搜索的起点模块文件夹中。
= >部分(TechnicalId = = " ID = YearOfConstruction ")
额外的任务
父模块应该发现。
解决方案
这个搜索的起点模块文件夹中。完成表达= > SUPERPART:模块
最终的解决方案
= >部分(TechnicalId = = " ID = select_YearOfConstruction ")= >SUPERPART:模块
请注意
TechnicalID几个,不同的对象有属性。因此,TechnicalIDs是独立于对象的位置,可能是不同的。
现状
例子——现状
任务
寻找TechnicalIDs模块。这TechnicalID坐落在ObjectMap中。
解决方案
这个搜索的起点模块文件夹中。
= >部分:ObjectMap TechnicalId = =“标题= TRICENT188金宝搏app苹果下载软件IS车辆保险计算器*”)
现状
例子——现状
任务
寻找TechnicalIDs ModuleAttributes。这TechnicalID位于ObjectControl下。
解决方案
这个搜索的起点模块文件夹中。
= >部分:ObjectControl TechnicalId = = " ID = edit_price "]
搜索模块在测试点不习惯
现状
例子——现状(模块)
例子——现状(测试用)
任务
搜索所有模块尚未用于测试。
解决方案
这个搜索的起点模块文件夹中。
= >补充(= >部分:模块,= >返回部分:模块- >TestSteps)
解决方案-描述
补充允许搜索一组互补。第一个查询搜索所有的模块,而第二个搜索中使用的所有模块用例。互补的两个查询包含所有模块,还没有用于TestCase。
寻找不与测试点要求
现状
例子——现状(需求)
例子——现状(测试用)
任务
搜索所有测试点,还没有与需求。(托斯卡需求管理外接程序所需的搜索)。
解决方案
这个搜索的起点项目的根元素。
= >补充(= >部分:TestCase, = >部分:RequirementTestCaseLink- >TestedBy)
解决方案-描述
补充允许搜索一组互补。第一个查询搜索所有测试点,而第二个搜索所有包含RequirementTestCaseLink测试点。互补的两个查询包含所有测试点,还没有相关的要求。TestedBy用于直接引用的测试。
寻找自我,没有分配给任何ExecutionList
现状
例子——现状
任务
搜索所有测试点,这还没有被分配给一个ExecutionList。
解决方案
这个搜索的起点测试点文件夹中。
= >补充(= >部分:TestCase, = >返回部分:TestCase- >ExecutionEntries)
解决方案-描述
补充允许搜索一组互补。第一个查询搜索所有测试点,而第二个搜索所有测试点与一个ExecutionEntry。互补的两个查询包含所有测试点,还没有任何ExecutionEntry定义。
搜索所有ExecutionEntries的最近结果相比改变了另一个执行
任务
搜索所有ExecutionEntries的执行状态发生了变化通过了来失败的在两个测试执行。
解决方案
这个搜索的起点ExecutionLists文件夹中。
= >返回部分:ExecutionEntry - >十字路口(
- > TestCase,
= > SUPERPART: ExecutionList - > ExecutionLogs [Name = = " ActualLog "] - > TestCaseLogs(结果= =“失败”)- > ExecutedTestCase,= > SUPERPART: ExecutionList - > ExecutionLogs [Name = = " Run1 "] - > TestCaseLogs[结果= = "通过"]- > ExecutedTestCase
)
解决方案-描述
搜索返回所有的子元素ExecutionEntry,点被定义为一个元素十字路口。
十字路口意味着三部分结果的交集:
所有测试点
所有用例,标记为失败的在ActualLog
所有用例,标记为通过了在ExecutionLogRun1
表达式= > SUPERPART用于从吗ExecutionEntries来ExecutionLists。
搜索返回所有用例,标记为失败的在ActualLog,但是以前通过了当Run1被处决。反向搜索可能是有用的在一个不同的上下文。
一个类似的搜索允许搜索的测试点ActualLog尚未执行,但有一个日志Run1。
= >返回部分:ExecutionEntry - >十字路口(
- > TestCase,
= > SUPERPART: ExecutionList - > ExecutionLogs [Name = =“ActualLog”]
- > TestCaseLogs[(结果! =“失败”)和(结果! =“传递”)]- > ExecutedTestCase,
= > SUPERPART: ExecutionList - > ExecutionLogs [Name = =“Run1”]
- > TestCaseLogs[(结果= =“传递”)或(结果= =“失败”)]- > ExecutedTestCase
)
搜索测试点与需求,但在ExecutionList尚不存在
任务
搜索测试点与需求,但是还没有一个ExecutionEntry ExecutionList。
解决方案
这个搜索的起始点是项目根元素
项目- > - >补充(= >部分:RequirementSet [NodePath = = " /要求/ RS "] = >部分:RequirementTestCaseLink - > TestedBy,
= >部分:RequirementSet NodePath = = " /要求/ RS "] - > UnconfiguredExecutionListLinks - > ExecutedBy = >部分:ExecutionEntry - > TestCase)
解决方案-描述
命令补充是用来寻找一套互补。
第一个查询从项目根元素和RequirementSet递归搜索需求的存在RS并与测试点。
第二个查询也开始从项目根元素和搜索ExecutionLists RequirementSet联系RS。搜索返回的所有测试点与一个ExecutionEntry ExecutionList有关。
测试点不与ExecutionEntries有关
搜索出现的特定的值
任务
搜索对象与一个特定的价值在他们的价值。
解决方案
- >部分:OwnedItem(“<一>”= =“信”或“任何> <”= =“数字”)
解决方案-描述
这个查询搜索一个级别低于所选元素包含所有对象的价值信,数量或两个值。
搜索测试配置参数的具体值
任务
搜索所有测试点的测试配置参数包含一个特定值。继承的值应考虑在搜索。
解决方案
= >部分:TestCase (EVALCP(“浏览器”)= =“InternetExplorer”]
解决方案-描述
下面这个查询搜索所有级别的所选元素包含一个测试点测试配置参数浏览器有价值InternetExplorer。
任务
搜索所有包含一个最初创建测试点测试一个特定值的配置参数。继承的值不应被视为在搜索。
解决方案
= >部分:TestCase(浏览器= =“InternetExplorer”)
解决方案-描述
下面这个查询搜索所有级别的所选元素包含一个最初创建测试点测试配置参数浏览器有价值InternetExplorer。
搜索模块不分配给一个TestCase
任务
找出是否有模块没有分配给任何TestCase。
解决方案
= >部分:模块(计数(TestSteps) = = 0]
解决方案-描述
所有的模块通过使用搜索所选元素= >部分:模块
。
表达式[COUNT (“TestSteps”) = = 0]
用于搜索所有模块不与任何TestSteps。