框架文件结构:
测试用例结构内容:
框架是以关键字+数据的混合驱动。
封装要用到的各类函数,在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函数结果。
数据驱动过程:
第一部分:
与关键词类似,多传入了一个数据薄:person_data
第二部分:
在脚本库 add_person.py 相对与keyword,会做一些值得替换,上图红框部分与下图红框部分向对应。
name 读取 person_data 获取( j行, 1 )的值,变量operate_value通过eval() 得到这个值,再通过构造函数组成新的字符串,实现后续运行步骤。