自动化测试之:关键字驱动
目录
一、关键字驱动的表达式:
二、好处
三、实例
一、关键字驱动的表达式:
学习链接:【Python测试开发】零基础到大神,2021全网最新版,限时免费!_哔哩哔哩_bilibili
【Python测试开发】零基础到大神,2021全网最新版,限时免费!_哔哩哔哩_bilibili
action.objection(paramemeters)
用例脚本:动作.项目.参数(范围)
用例验证:验证.项目.参数(范围)
二、好处
主打易用性,将测试代码、测试业务和测试数据分离,灵活性最高
三、实例
创建如下几个文件
data.txt:用来放测试脚本
startAPP,r"E:\testpairroad\Pir.exe"动作:运行软件,项目:缺省,参数:Pir软件地址
singleclick,button_open# 动作:单击,项目:open按钮,参数:缺省
input,id=loadpath,path #动作:输入,项目:路径加载框,参数:路径
#singleclick,button_ok #动作:单击,项目:ok按钮,参数:缺省
Keywords:编写测试动作方法类keywords,如【启动】/【单击】动作,调用UItest里的函数,约束输入参数
import UItest
class Keywords:@classmethod#*args,不定向参数def singleclick(cls,*args):if args and len(args)>=2:UItest.mouse_click(args[1]) #args[0]是singleclick这个操作参数return Trueelse:print('singleclick命令参数不正确,请检查')return Falsedef START_APP(cls,*args):if args and len(args) >= 2:UItest.START_APP(args[1])return Trueelse:print('START_APP命令参数不正确,请检查')return False
run.py:用来执行脚本
from Util import Util
from keywords import Keywords
def run_case_from_txt():test_data = Util.get_test_data_from_txt('data.txt')for line in test_data:print('当前执行:{}'.format(line))keywords = line.split(',')#将文本中测试脚本分离if hasattr(keywords,keywords[0]):action = getattr(keywords,keywords[0])result = action(*keywords)if not result:print('命令执行错误,测试终止....')breakelse:print('命令执行成功')
if __name__ == '__main__':UItest =
然仔20211207
参考文章关键字驱动框架入门教程https://blog.csdn.net/u011541946/category_6854930.html
class Data_managerCase:def __init__(self):passdef read_datamancsv(self):with open(r'D:\pythonProject\pythonProject\data\test2.csv', encoding='utf-8')as file:dataman_list = file.readlines()testdataman_list = []for Tdata in dataman_list:T =Tdata.strip().split(',')#T代表行,Tdata代表整个测试表单,T【0】~T【6】分割每一列属性# TestCase,TestScenarioID,decripion,keywords,obj,args1,args2 = T[0],T[1],T[2],T[3],T[4],T[5],T[6]# TestCase = Tdata.strip().split(',')[0]dict = {}dict['TestCase'],dict['TestScenarioID'],dict['decripion'],dict['keywords'],dict['obj'],dict['args1'],dict['args2'] = T[0],T[1],T[2],T[3],T[4],T[5],T[6]testdataman_list.append(dict)print('测试表单:','\n',testdataman_list)return testdataman_list
def dataman_test(self):test_list = self.read_datamancsv()#读取csv文件for testcase in test_list :TestCase,TestScenarioID,decripion,key,obj,args1,args2 = testcase['TestCase'],testcase['TestScenarioID'],testcase['decripion'],testcase['keywords'],testcase['obj'],testcase['args1'],testcase['args2']print('************',testcase['TestCase'],'步骤:', testcase['TestScenarioID'],testcase['decripion'],':','\n')if key =='click':click_picture(obj,args1)print(key,obj,args1,args2,"执行ok")else:print('haha')# testcase['keywords']=='clear_txt':
更新版1210
def read_datamancsv(self):with open(r'D:\pythonProject\pythonProject\data\test2.csv', encoding='utf-8')as file:data_list = file.readlines()testdataman_list = []for Tdata in data_list:#预处理T =Tdata.strip().split(',')#T代表行,Tdata代表整个测试表单,T【0】~T【6】分割每一列属性dict = {}dict['TestCase'],dict['TestScenarioID'],dict['decripion'],dict['keywords'],dict['obj'],dict['args1'],dict['args2'] = T[0],T[1],T[2],T[3],T[4],T[5],T[6]testdataman_list.append(dict)print('测试表单:','\n',testdataman_list)return testdataman_listdef dataman_test(self):test_list = self.read_datamancsv()#读取csv文件for testcase in test_list :TestCase,TestScenarioID,decripion,key,obj,args1,args2 = testcase['TestCase'],testcase['TestScenarioID'],testcase['decripion'],testcase['keywords'],testcase['obj'],testcase['args1'],testcase['args2']print('************',testcase['TestCase'],'步骤:', testcase['TestScenarioID'],testcase['decripion'],':','\n')if key =='click':click_picture(obj,args1)#obj:图像;args1:left/right;args2:次数print("执行ok")elif key =='input':input_obj_text(obj,args1)#obj:文本框图像;args1:字符串;args2:nullprint("执行ok")elif key =='shot':#obj:null;args1:null;args2:nullsshot()elif key =='shot':sshot()# elif key == 'vedict':else:print("无法识别当前操作,请检查格式")
自动化测试之:关键字驱动相关推荐
- Selenium自动化框架:数据驱动、关键字驱动和混合
什么是Selenium框架? 这个 Selenium框架 是一种代码结构,它使代码维护变得简单而高效.如果没有框架,用户可以将"c"框架产生了一些有益的结果,比如增加了代码可重用性 ...
- 关键字驱动实现web自动化
接口自动化测试步骤几乎是一样的,可以用excel写测试用例,通过ddt实现数据驱动,而web自动化不符合测试步骤一致的要求,用ddt实现数据驱动并不理想,这时候可以使用关键字驱动实现web自动化. 一 ...
- 自动化测试里的数据驱动和关键字驱动思路的理解
初次接触自动化测试时,对数据驱动和关键字驱动不甚理解,觉得有点故弄玄须,不就是参数和函数嘛!其实其也体现了测试所不同与开发的一些特点(主要指系统测试),以及和对技术发展的脉络的展现. 1.录制/回放的 ...
- java反射机制关键字驱动_搭建关键字驱动自动化测试框架
本文是根据吴晓华编著的<Selenium WebDriver 实战宝典>的16.3节:关键字框架搭建及实战. 放在这里是为了以后有需要的时候,能够快速的搭建关键字驱动自动化框架. 实现功能 ...
- 什么是关键字驱动框架(自动化测试)
什么是关键字驱动框架? 关键字驱动框架是一种功能自动化测试框架,它也被称为表格驱动测试或者基于动作字的测试.关键字驱动的框架的基本工作是将测试用例分成四个不同的部分.首先是测试步骤(Test ...
- 十年测开如何理解自动化测试里的数据驱动、关键字驱动思路
初次接触自动化测试时,对数据驱动和关键字驱动不甚理解,觉得有点故弄玄须,不就是参数和函数其嘛!其实其也体现了测试所不同与开发的一些特点(主要指系统测试),以及和对技术发展的脉络的展现. 01.录制/回 ...
- python中什么是数据驱动_携程大牛谈自动化测试里的数据驱动和关键字驱动思路的理解...
对于初次接触自动化测试时,对数据驱动和关键字驱动不甚理解,觉得有点故弄玄虚,不就是参数和函数嘛!其中也体现了测试所不同与开发的一些特点(主要指系统测试),以及和对技术发展的脉络的展现. 一.录制/回放 ...
- RobotFrameWork Web自动化测试之测试环境搭建
前言 Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行.主要用于轮次很多的验收 ...
- QTP数据驱动和关键字驱动
原文地址:[转]QTP数据驱动和关键字驱动作者:Cheers_Lee 原文地址:http://blog.sina.com.cn/s/blog_4d54c07a0100gk41.html 关键字驱动: ...
- 关键字驱动和数据驱动
首先有一点大家自己要知道,一个简单的东西非得说来别人听不懂,来显得自己的高大上,不管哪个行业多是如此.只要自己搞懂了,自己也变成了那部分人. 什么叫做数据驱动? 答:所谓数据驱动就是同一段代码,参数一 ...
最新文章
- UML类图与类的关系详解
- GCC跟NASM联合编译
- which和whereis
- hdu5373(整除11)
- python在txt中的替换数据清洗_数据清洗过程中常见的排序和去重操作
- 利用深度学习方法进行情感分析以及在海航舆情云平台的实践
- python实时获取子进程输出_Python 从subprocess运行的子进程中实时获取输出的例子...
- java泛型不是计算运行时的数据类型
- REST资源何时应获得其自己的地址?
- java语言概述、java语言特性、java语言发展史、java语言作用
- 装水体积c语言,C语言基础之--sizeof()运算符的使用以及注意
- Pandas Index 属性
- 开源jeecms,jeebbs学习笔记4——从jo_user表看持久层设计
- redis+tomcat实现session共享
- python清理浏览器文件_URL可以在浏览器或wget中正常工作,但是从Python或cURL中清空...
- 微信开发者工具下载及APPID获取
- 51单片机-矩阵键盘
- php微信开发之微信卡券
- 总结:linux运维常用命令
- Verilog语言注意事项