WEB的UI自动化测试框架主要思想

框架文件结构:

框架文件结构

测试用例结构内容:

测试用例结构



框架是以关键字+数据的混合驱动。

封装要用到的各类函数,在excel写入关键词、参数,读取内容传入封装好的构造函数,构造函数组成字符串。

内置函数eval() 返回表达式(字符串)的值过程会驱动运行步骤。

运行过程记录日志,

能完全运行,则证明步骤正常,并将结果写回测试用例。为了防止某些用例确实不可运行,可以添加一个变量控制此条用例需不需要运行。

数据部分:主要通过引入相对变量,读取数据内容转换成变量,在使用脚本运行过程可以索引到。类似Jmeter的变量传递。

流程的关联关系


下面会根据运行过程记录框架的主要过程



关键字驱动:

第一部分:

以for循环读取excel的case薄下的行内容,传入到构造封装函数case_method(),选择了脚本库keyword,实现转变返回字符串(以第一行为例): key_work(excel,login)  ,使用内置函数 eval() 获得函数 key_work(excel,login) 的返回值。 

读取行内容,构造函数

第二部分:

基于封装好的keyword.py--函数 key_work(excel,login) 翻页到 login 薄:

关键列:action

封装的keyword.py中依旧引用了构造封装函数generate_method() ,再次返回字符串,如点击这个动作   click(id,dologin) ,这时候eval() 则返回ActionUtil.py 封装好的click函数结果。

login薄内容

数据驱动过程:

第一部分:

与关键词类似,多传入了一个数据薄:person_data

第二部分:

add_person薄内容


person_data薄内容

在脚本库 add_person.py 相对与keyword,会做一些值得替换,上图红框部分与下图红框部分向对应。

name 读取 person_data 获取( j行, 1 )的值,变量operate_value通过eval() 得到这个值,再通过构造函数组成新的字符串,实现后续运行步骤。

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

推荐阅读更多精彩内容