UI自动化方案

自动化测试方案

1.Python

Pytest 是Python的一种易用、高效和灵活的单元测试框架,可以支持单元和功能测试。

1.1设计思路

C端 (python+selenium+pytest+allure) 实现测试用例代码输入输出执行,

M端(django+rest_framework+vue ) 做用例管理,定时任务分配,测试工具集合。

1.2项目框架设计图

image.png
image.png

1.3测试输出报告

image.png

1.4优点

1)容易上手,入门简单,文档丰富,文档中有很多实例可以参考。

2)能够支持简单的单元测试和复杂的功能测试。

3)能够执行全部测试用例,也可以挑选部分测试用例执行,并能自动重试失败用例

4)支持并发执行,还能运行由nose, unittest编写的测试用例。

5)具有很多第三方插件,并且可以自定义扩展。

1.5缺点

1)由于纯Python编写,需要测试人员具有一定的代码编写与阅读能力

2)Pytest本身没有直观的用例显示与浏览页面,需要借助第三方模块展示用例分布情况(比如Allure)

2.robotframework

Robot Framework是一个基于Python的,可扩展的关键字驱动的自动化测试框架,用于端到端验收测试和验收测试驱动开发(ATDD)。

2.1设计思路

C端(Robot framework-selenium2library):可以看做RF版的selenium 库,selenium (webdriver)可以认为是一套基于web的规范(API),appium 等测试工具都可以基于这套API进行页面的定位与操作。

底层(支持python提供封装工具库)

2.2项目框架设计图

image.png
image.png

2.3测试输出报告

image.png

2.4优点

1)启用易于使用的表格语法,以统一的方式创建测试用例。

2)提供从现有关键字创建可重复使用的更高级别关键字的功能。

3)提供易于阅读的结果报告和HTML格式的日志。

4)提供一个简单的库API,用于创建自定义测试库

5)提供标记以分类和选择要执行的测试用例。

2.5缺点

1)固定的表格编写形式,使很多简单的语法变得复杂化,而且不支持复杂语法,不够灵活,并且不利于提升测试人员的代码编写能力,而且容易编写疲劳。

2)测试数据和测试代码穿插写到同一文件、同一方法中,产生了紧耦合,会导致修改测试数据或测试代码时,可能会相互影响,不利于测试数据和测试脚本的维护。

其他扩展:

Appium XCUITest

Wda XCUITest

Seldom

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容