一、自动化测试框架构建 1.动化测试框架主要是有页面库,数据驱动,测试脚本,测试报告,持续集成这几个部分组成。 2.数据驱动部分主要是测试脚本中使用的数据文件(excel,yaml,txt)以及读取方法类,如果数据涉及到数据库,也会把对应的数据读取方法封装到这个部分。 3.页面对象库对自动化包括工具(selenium,appium)API的二次封装,还有使用二次封装后的自动化工具类实现的页面元素封装(Page Object)然后会给封装好的页面设置一个统一入口类。这些之中会有一个页面元素文件专门存放元素的定位方法。 4.测试脚本主要是通过 pytest 测试框架进行编写的,选择其的原因主要有其支持 assert 语句断言,适合复杂的功能测试,执行过程中可以自定义用例执行顺序和跳过以及预期,支持重复执行,还可兼容 unittest 编写的测试用例,最重要的是支持参数化和方便持续集成工具集成。 5.测试报告主要是通过 pytest 自动生成的 allure 报告,其可读性可生动的数据表图比 pytest 报告更能反应测试结果,也可以集成与 Jenkins 中。 6.持续集成方面主要是通过 Jenkins 进行实现的,目的在于测试脚本的无人值守执行以及自动生成测试报告,方便测试人员能够省出时间进行更多的功能测试和探索性测试。(通过设置几个 git,gitlab,mailer,allure,等功能插件,配置 Allure 报告,默认邮件发送设置。用例脚本主要存放在 gitlab 用例库中,设置好轮询策略之后,配置报告发送的目标邮箱,就可以实现持续集成实践中的测试环节)
二、自动化测试用例设计 1.编写测试脚本之前要编写测试用例,而且测试用例不能直接使用手工测试的用例。 2.自动化的测试用例是一个完整的场景。用户登录系统到用户退出 3.用例之验证一个功能点。不用试图登陆后验证所有的功能在退出 4.测试用例尽量只做正向的逻辑验证。 5.用例之间不要产生关联,相互独立,也要高内聚,低耦合 6.测试用例关注的是功能逻辑的实现,字段无关 7.测试用例的上下文必须有一定的顺序性,前置条件清晰 8.检查点的设置要侧重,全面,灵活 9.测试用例对数据的操作要进行还原 70.测试用例必须是可回归的 11.用例选择遵循成本始终,构建场景,目的冒烟回归,繁琐功能,主体流程 12.用例转型遵循前置配置,抛异常,步骤验证,高内聚
|