56

经典干货分享:自动化测试平台方案可行性探索

 6 years ago
source link: http://www.10tiao.com/html/326/201806/2651237404/2.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
为了祖国的未来,快来关注我们吧 一.需求分析

随着产品规模不断完善,功能模块逐渐增加,传统的人工测试逐步变得低效。为了提高测试效率,可以将简单的功能测试点交由自动化执行,让测试人员可以空出更多的时间去关注业务,流程。而传统的自动化测试脚本由于维护性差,成本高,收益低等因素导致难以有效的推行。而测试平台化规划好的话能将业务与代码的耦合度降低,有利于后期维护与可持续集成。

二.方案设想


所有数据均保存在数据库中,提供Web页面进行操作,其中:

1.页面数据:源自PageObject设计模式,具体表现形式为一个页面一项数据,以米多来发管理后台登录页为例:


2.自定义方法:平台提供浏览器基础操作并提供功能用以保存测试人员自定义的方法,例如:

平台提供基础的点击元素以及向元素输入信息基础功能。结合页面数据保存登录页的自定义方法向用户名输入框中输入用户名,向密码输入框中输入密码,向验证码输入框中输入验证码,点击登录按钮等。后续通过关键字驱动进行调用。

3.自定义类方法:自定义方法并不能解决所有的需求,有些复杂的逻辑时,上述的方式并不适用,所以需要通过类中实现逻辑方法并提供给外界调用。例如需求:在一个table中需要通过判断某元素的内容,符合预期后再进行操作。

以上三种结合起来生成测试用例。并与测试数据形成测试用例集(关键字驱动以及数据驱动相结合的混合驱动模式)再通过所选用配置最终形成自动化执行的测试脚本。(配置:解决测试用例运行环境,浏览器等相关问题)然后交给执行引擎执行并且输出测试报告。


三.核心代码

1.基础父类


2.PageObject具体实现类

3.自定义方法

4.测试用例以及测试数据

5.执行引擎

代码仅作为可行性分析使用,并非最终版本。

测试代码

再通过一个配置文件或者数据库存储PageObject类的路径,即可通过纯数据进行驱动测试运行,后续再持续完善用户,任务,结果等相关模块即可打造较为完善的自动化测试平台,如此一来,测试人员仅需在平台中编辑测试用例与测试数据并新建相关测试任务即可。测试用例以及测试数据的格式为:


-END-


(上文内容不用于商业目的,如涉及知识产权问题,请权利人联系小编,我们将立即处理。)

点击阅读原文,了解更多精彩内容

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK