首先,由于ECT为Tricentis出品的产品(实际上ECT等于Tricentis Tosca),在学习时我们可以更多借鉴Tricentis官网的教程
首先进入Tricentis Support Hub,在这里可以搜索到各种文档和技术FAQ,我们首先点击右上角的Register,填写好必要信息之后点击Submit即可提交,
进入下载软件页面,我这里选择的是Tricentis Tosca 16.0 LTS Patch 5(产品为Tosca而非Tosca Server,tosca server为实际部署时的中控台部件)
下载好的Zip文件解压缩后根目录有一个exe文件,执行该文件即可开始安装,我这里全程Next保持默认设置完成的安装
安装完成后,首次打开时会需要激活软件,由于我申请的是On Premise版本,所以选择Acticvate 方式为Local Machine(其他方式为连接到云或本地的License服务器来完成激活,Local Machine方式只能激活本机一次, 但是足够完成入门练习了)
来到激活的最后一步,需要填入Key,这个时候就可以回到之前申请练习License的地方查看进展,如果State显示为Deployed,则可以进入Admin Space ,点击My Entitlements下方的Training License即可获取到Key,回到激活步骤中填入Key即可。
激活后,可以先创建一个自己的Project,这里命名为Tosca_Tutorial_en, 未来创建的工程文件将存储在这个Project内
当环境搭建完成,就可以开始进行入门练习了,本练习内容搬运自Tricentis官方文档,在练习之前先简单描述一下一些入门概念:
要测试各种页面,首先得让ECT认识页面,能够从计算机打开的多个页面中确认唯一的页面以及页面内的各个元素,这就需要一套标准,而这个标准在ECT中就叫做Module,创建好的每一个Module就对应了一个页面及其内部元素。
ECT认识到元素之后,下一步就是在测试流程中对不同元素执行有序的操作,一套操作可能涉及多个页面及多个元素,而这样一套操作在ECT中就叫做Test Case,一般针对一个完整的待测试场景,会引用到Module中的页面元素,并加上对元素的不同操作,组成完整的Test Case。
最后,ECT认识了页面,存储了完整的测试场景,但我们在真实测试时可能涉及到需要顺序执行的不同场景,以及对单个场景的多次重复测试(可能切换数据),所以我们需要将测试场景组合为我们需要的执行计划,在ECT中这就叫做Execution。
本练习使用Tricentis提供的一个公开网页 作为待测试系统,该网页需要用户填入自己持有的车辆信息,来为该车辆进行保险报价,涉及5个页面,所以我们接下来会新建5个Module代表5个页面,新建的方式为右键Module Folder即可,为了方便管理,我们先右键原始的Module Folder来新建两层子Folder
接下来先新建一个浏览器Window,打开Tricentis Vehicle Insurance ,回到ECT页面,右键最底层的Vehicle Insurance,点击Scan, 选择Application,即可打开扫描器,该扫描器会列出计算机当前打开的所有应用,选择我们的目标应用后,点击Scan即可
(如果你使用的是IE浏览器,则不需要安装拓展即可开始扫描,我使用的是Edge浏览器,扫描器会自动提示安装浏览器拓展,安装好后需要在浏览器内启用,如果没有自动弹出安装提示也可手动安装,安装Chrome浏览器拓展时需要外网访问所以会比较麻烦)
完成后,默认会打开扫描器的Basic View和目标应用,此时对目标应用的点击不会生效,而是会被扫描器抓取到,并将你点击的元素记录进扫描器。
点击一下左上方的Automobile按键元素之后就会发现,页面没有跳转,而扫描器在这个页面下记录了该按键元素,在首页我们只需要该按键元素,所以点击扫描器内的Finish Screen即可完成本页面的扫描,扫描器也会回归等待状态。(如果扫描器不显示Finish Screen按钮,请放大扫描器的页面)
接下来就可以再点击一下Automobile按键来真正进入下一个页面,来输入车辆信息
进入页面后点击扫描器内的Scan Screen即可回到扫描状态,此时分别点击所有右侧标星号的必填项,以及最下方的Next按钮即可完成元素的记录,
由于我们现在是要往空格处填值或者从下拉框选值,所以需要记录的是星号左侧的空白框,而不是更左侧的待填内容名称,扫描器会自动根据你点选的元素类型进行识别,识别出来的元素可能有不同类型,可以看到下拉框选值的元素就会识别为 ,直接填值的输入框元素就会识别为 ,识别成下图所示即为正确,如果识别了不需要的元素,也可以在Finish Screen之前,取消该元素左侧的勾选来取消识别。
识别完成后,点击Finish Screen即可结束本页面的扫描,接下来在页面内填入数据后点击Next即可:
重复以上步骤,下一个页面则是输入当前的保险信息,识别成下图即为正确
再回到页面填入数据,点击Next,来到输入产品信息的页面
产品信息页面正确的识别结果如下图
Finish Screen后回到页面,填入下图数据(此处的Start Date应为未来时间,我填写的是11/12/2023),进入最后一个页面
最后一个页面会根据先前输入的内容来给出一份报价,我这里显示的最高档保险的报价为722.00,这里的元素扫描其实也可以通过Basic方式点击来完成,但是原教程给出了Advanced的方式,我理解是在这里初步接触一下不同的识别方式。
在扫描器内点击View内的Advanced来切换View,此时我们就可以看到页面背后的庐山真面目:一组树状结构,勾选我们需要的元素左侧的空白框即可,我们这里需要Home和PriceTable元素,勾选结果如下图
最后Finish Screen后,点击扫描器内的Close即可完成声明,我这里将第一个页面的Module重命名为了Home,并将Module内元素的名字修改为了其待填内容名称,其他Module的名字都维持了不变,无论是修改Module名还是Module内元素名,都只需要双击该名字即可开始修改,修改完后回车即可。
修改完后记得Ctrl+S进行保存,在保存之前可以用Ctrl+Z即Ctrl+Y来回滚修改
到这里,ECT就认识了我们要操作的页面及其元素,接下来就可以将这些元素利用起来,将各种操作编制组合为Test Case
4.入门练习:创建测试流程
要接下来进入TestCases的Tab,在默认的根文件夹TestCases下创建两层TestCase Folder,再在最下层Folder创建一个TestCase,命名为Automobile
TestCase执行的第一步应该是点击应用首页的Automobile按钮(实际测试时ECT应该先打开应用再开始操作,但这里仅为了练习),只需要将之前扫描器创建的首页Module 拖到该TestCase内即可
拖拽成功后,本TestCase的第一个页面就引用完成了,这个页面内只有一个预先识别过的元素,需要执行的操作也只是点击,
所以只需要为该元素匹配上Click操作即可,双击该元素右侧Value列的空白栏,可以直接键盘输入“{Click}”,也可以点击右侧下拉框选择{Click}, 选择完毕后ActionMode会自动设置为Input
接下来需要操作下一个页面,将该页面拖进本TestCase即可,页面内的具体操作包括填写车辆信息和点击Next按钮,下图即正确结果(部分module及元素的名字已经被我重命名了)
(最后输入对保险的要求时,Start Date就是申请者期望的保险生效时间,要求必须是超出当前时间一个月以上的,我现在是9/13/2023,所以填写11/12/2023即可)
这三个页面的操作都是输入内容+点击Next,最后一个页面则是需要检查报价,我之前显示的最高档报价为722.00,所以测试时的最高档报价结果也应该是722.00,这里的操作就会是获取最高档报价并与722.00进行比较
而最高档报价的信息藏在priceTable内的第一行最后一个元素,所以我们需要先展开priceTable,
再将<Row>的Name设置为$1(此处意思是要对该table第一行的元素进行操作),回车确认后,会发现$1下出现了一个<Cell>,
再将该<Cell>元素Name设置为$last(此处意思是,不对整行操作,而是对该行中最后一个元素进行操作),并回车
最后将$last右侧的Value设置为722.00(此处的意思是,验证该元素的值是否为722.00,如果是的话则说明测试成功)
此时会发现<Row>和<Col>依然存在,因为我们可以对这个table内的多个元素执行多次操作,只是看以什么逻辑来定位元素,
例如我们也可以检测该table的第1列第1个元素的值是否为65.00,先将<Col>设置为$2(由于第一列是列名Price per year等,第二列才是Silver,所以此处是2而不是1),再将其下的<Row>设置为&1(由于表格包含表头,所以$1代表价格这一行),右侧的Value置为65.00,ActionMode选择Verify,同样可以达到教程的效果
5.入门练习:执行测试
最后就比较简单了,TestCases已经包含了要测试的页面,元素,及操作的组合,现在只需要直接执行即可,但由于实际测试时可能要测多个连续的场景,亦或者不同部分场景需要测试不同次数,所以需要去新建Execution来真正承担测试的执行,这里我们只有一个场景,所以在Execution的页签内创建两层Folder后,再将对应的Testcase拖到Execution Folder内即可:
此时只需要右键Execution或者其母Execution Folder即可Run该测试,但是由于本教程中流程的第一步是点击Automobile按键,而非打开对应应用页面,所以我们需要先将该页面打开,放置在不同window,用来让ECT发现并执行操作
Run起来之后,ECT会按顺序完成操作,并将每次执行的结果都记录在Execution内
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
24 | |
11 | |
10 | |
8 | |
8 | |
7 | |
6 | |
6 | |
5 | |
5 |