上海市建设工程安全质量监督总站网站,网站建设投票系统设计,昆明网站建站公司,小程序健康码一个自动化测试框架就是一个集成体系#xff0c;在这一体系中包含测试功能的函数库#xff0c;测试数据源#xff0c;测试对象标准#xff0c;以及各种可重用的模块。自动化测试在发展过程中经历了以下几个阶段#xff0c;模块驱动测试#xff0c;数据驱动测试及对象驱动…一个自动化测试框架就是一个集成体系在这一体系中包含测试功能的函数库测试数据源测试对象标准以及各种可重用的模块。自动化测试在发展过程中经历了以下几个阶段模块驱动测试数据驱动测试及对象驱动测试。一、自动化测试模型介绍线性测试通过录制或编写脚本一个脚本完成一个场景(一组完整功能操作)通过对脚本的回放进行自动化测试。之前介绍的webdriver API所编写的脚本也是这种方式。从上图可以看出可以看出线性测试的优势就是每一个脚本都是独立的任何一个脚本文件拿出来就能单独运行当然缺点也很明显用例的开发与维护成本很高一个用例对应一个脚本假如登陆发生变化用户名的属性发生改变不得不需要对每一个脚本进行修改测试用例形成一种规模我们可能将大量的工作用于脚本的维护从而失去自动化的意义。这种模式下数据和脚本是混在一起的如果数据发生变也需要对脚本进行修改。这种模式下脚本没有可重复使用的概念。1、模块化与类库将脚本中重复可复用的部分拿出来写成一个公共的模块需要的时候就调用它可以大大提高测试人员编写脚本的效率。通过阅读上面的代码发现我们可以把脚本中相同的部分代码独立出来形成模块或库这样做有两方面的优点一方面提高了开发效率不用重复的编写相同的脚本假如我已经写好一个登录模块我后续需要做的就是在需要的地方调用不同重复造轮子。另一方面方便了代码的维护假如登录模块发生了变化我只用修改login.py 文件中登录模块的代码即可那么所有调用登录模块的脚本不用做任何修改。2、数据驱动数据驱动应该是自动化的一个进步从它的本意来讲数据的改变(更新)驱动自动化的执行从而引起测试结果的改变。这显然是一个非常高级的概念和想法。其实我们可直白的理解成参数化输入数据的不同从而引起输出结果的变化。不管我们读取的是数组还是字典、函数又或者是csv、txt 文件。我们实现了数据与脚本的分离换句话说我们实现了参数化。我们传一千条数据通过脚本的执行可以返回一千条结果出来。3、关键字驱动通过关键字的改变引起测试结果的改变。QTP、robot framework 等都是以关键字驱动为主的自动化工具因为这类工具主打的易用性“填表格”式的关键字驱动帮我们封装了很多底层的东西我们只要考虑三个问题就可以了我要做什么 对谁做怎么做我们可以把selenium IDE 看做是一种关键字驱动的自动化工具。Selenium IDE 脚本分命令(command)、对象(target)、值(value)通过这样的格式去描述不同的对象从而引起最终结果的改变。也就是说一切以对象为出发点。当然这样的脚本显然对于不懂代码的同学非常直观我要做什么(命令)对谁做(对象)怎么做(值)更高级的关键字驱动可以自己定义keyword 然后“注册”到框架从而实现更强大的功能和扩展性。