AutoRunner(简称AR)是泽众软件自主研发的自动化测试工具,也是一个自动测试框架,加载不同的测试组件,能够实现面向不同应用的测试。通过录制和编写测试脚本,实现功能测试、回归测试的自动化,自动化执行测试用例取代人工执行测试用例,提高测试执行效率,降低测试人工成本。而在脚本录制过程中最重要的就是捕获所需的对象,下面我们就来讲一下AR的进阶功能:如何修改录制对象的权重。

每一个录制对象都有很多的属性,每个属性后都附带了一个权重,对于一些很重要的属性默认的权重是100,而对于不是太重要的属性默认权重是0。当我们回放某个对象动作时首先会在窗口中找到这一对象,之后再将其与各项属性进行比较,如果属性权重大于0,就会比较属性值,如果权重相等则继续与下一个属性比较,如果不相等也不会马上认为这不是要找的对象(模糊识别),而是会将权重值累加,当不相等属性值的累加权重大于100时才认为对象不匹配。所以,如果一个对象的某项属性值变动了,而它的权重又是100的话,就可以通过降低权重使回放得以通过。

下面我们以录制记事本程序为例,介绍一下权重的修改。新建一个名为test.txt的文本文档,双击打开,录制一段在记事本中输入文本的动作(比如输入文本spasvo),脚本如下:

自动化测试工具

在回放之前先改变记事本窗口的大小,比如拉宽或缩小窗口,回放时会有如下错误:

自动化测试工具

因为此时Edit对象的宽度已经改变,而宽度的权重是100,所以回放失败。要使得回放通过,可以修改宽度属性的权重。打开对象库,在右边的树中找到名为Edit的节点并单击打开属性面版,将其中的width属性权重设为0,关闭对象库后回放就可以成功。

自动化测试工具

在实际使用当中,也可以根据情况修改其他参数的权重,如果修改的权重项越多,回放时查找到的目标对象的准确度会越低,所以一般的回放不建议手动修改,只有在极其特殊的情况下,比如对象的某项属性会经常性动态变动而它的权重又是100时才适合使用;当然如果觉得某项属性很重要,而在对象库中的权重又是0,你也可以手动将它的权重设为100,这样在回放时此项属性也会进行匹配判断,以提高准确度。通常情况下不建议使用者手工修改权重,一是修改权重后可能会导致查找的对象有误,另一个原因是软件在回放时内部做了一些智能判断,如果第一次查找对象失败,会自动的将某一些权重设为零,再重新查找。