美文网首页软件测试程序员
Selenium Web Driver自动化测试(java版)系

Selenium Web Driver自动化测试(java版)系

作者: 马可吃菠萝 | 来源:发表于2018-08-03 07:59 被阅读0次

    一个方法里可以调用另一个方法,就像这样:

    但如果这个方法里调用的是它自己,我们管这样的方法叫做递归方法:

    递归方法在编程中也经常会碰到。有人说方法里干嘛要调用自己呢?我们举个例子体会一下,看下面的程序:

    进入countDown()方法一开始i值为100,执行i-=10这步后i变成了90,发现满足i>0这个条件,这时会重新调用countDown(),这时意味着又要重新执行i-=10,然后i又变成了80,发现还是满足条件,再调用自己本身,i又变成了70。这就像是一环到一环,有些朋友就有点晕了,感觉似乎永远就陷在这儿出不来了。没关系,我们把程序的整个执行过程画张图,用实际值替换i值来模拟一下:

    配合图看解释。你看,i值在逐步递减,在到达0之前一直不停地调用方法本身,总共执行了10次。直到i=0时,不再执行countDown()里的条件语句,而是直接打印“第10次递归结束后的i值为0”。注意,关键点就在这儿,第10次完成了,可这时第9次的countDown()执行结束了么?是不是还没结束呢?还落一句System.out.println("第" + j + "次递归结束后的i值为" + i)才结束呢。执行完这句后第9次执行结束,可第8次结束了么?是不是也是落同一句话?同理,第7次第6次第5次也需要按顺序完成最后一句话的执行。整个过程好像逐步递进,之后又按步回归。这就是递归:

    我们打印一下最后的结果:

    递归方法在自动化测试代码中有时也会遇到,以后我们会介绍selenium关键字驱动,里面的案例就有递归这一步在里面。

    这篇文章的源代码是Recursion项目。

    相关文章

      网友评论

        本文标题:Selenium Web Driver自动化测试(java版)系

        本文链接:https://www.haomeiwen.com/subject/pknevftx.html