对第一个脚本进行找茬—为什么需要框架
前面一篇,我们一气呵成地完成了第一个 Selenium 自动化脚本的编写过程。当然是我完全
给你灌输了这些代码和代码的解释,也许你还没有掌握。因为,我没有教你如何元素定位
如何写精确的 xpath 表达式,如何高效写测试断言。这些东西,有些你可以去我博客看看
对应文章,有些是无法教会你,需要你多多练习,自己思考和总结。本篇,我们来找找上
一篇自动化用例的不合理之处有哪些。
面向过程
上面一篇脚本,其实就是面向过程的思维下写的结果。我们把完成用户登录这个场景看过
一个过程,这个过程细分很多步骤,每个步骤都利用我们知道的方法去实现了相关操作,
最终实现了效果,这个就是典型的面向过程的思维。
面向对象
我们知道 Java 主要是面向对象编程。其实 WebDriver driver = new ChromeDriver()就体现了面
向对象的特性。我们利用面向对象中类和对象来看这个登录过程。浏览器是一个对象,因
为具体到了 ChromeDriver,然后登录页面是一个对象,页面元素是页面的属性。而元素本
身也看着是一个对象,元素有各种操作方法。业务功能登录,可以看做是页面的一个方法
这个登录场景,其实我们完全可以用面向对象的做法来实现。
框架
框架就是很多程序片段组合而成的程序。Selenium 本身就是一个框架,提供了很多 API 供
我们调用。这里说的框架是关于我们写脚本,或者如何合理,高效组织这个自动化测试项
目。下面几个针对前面一篇写脚本方法的问题,来告诉你为什么要写框架。
问题 1:如何测试 50 个用户登录
前面我们完成了一个用户登录,那么如何测试登录 50 个用户呢?按期前面方式写 50 个这
样的脚本吗?显然不合理
问题 2:代码阅读性太差
我们把各种数据,例如浏览器地址,用户名和密码和业务功能代码都写同一个类文件。现
在代码行不多,看起来还好,如果代码多了,数据多了,简直无法读下去。
问题 3:如何写几百个测试用例
我们一个用例写到了 main 方法,如果 100 个用例,我们怎么写,如何管理用例,如何执行
用例?
问题 4:运行结果缺少跟踪
上面我们把结果打印到了控制台,我们能不能添加运行日志,记录每行代码的运行记录,
方便出了问题进行调试。而且发送了错误,能不能截图。如果有测试结果报告更好。
问题 5:不支持多人同时写脚本
一个组肯定不只是一个人去写自动化测试脚本,如果多人加入,如何管理冲突。如何减少
代码的重复。
评论0
最新资源