- 博客(32)
- 收藏
- 关注
原创 python修改unittestreport中的用例条数
背景: 自动化框架中使用yaml文件作为数据配置,使用ddt作为数据驱动来运行测试用例,由于测试用例都是基于场景去编写,目前都是一个测试类算是一条测试用例,但基于测试报告里面一个类运行的测试方法有多个,因此统计的测试用例数算的是test方法执行的次数,统计为多条。修改addFailure方法,添加self.fail_case.append(self.fields['testClass'])3.修改unittestreport中的源码,主要是testResult.py文件。
2023-10-05 17:28:32
235
原创 python装饰器学习
装饰器本质上是一个Python函数(其实就是闭包),它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。装饰器用于有以下场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。简单使用:def 函数名(func):def 内部函数名():func() #执行函数 return 内部函数名func()print("一共花费了{0}秒时间".format(t_end - t_start, ))@outter。
2023-06-15 19:49:51
102
原创 python从入门到精通(1)
单元测试在python有很多,但最基础的还是unittest,参考链接 https://docs.python.org/3/library/unittest.html1.
2023-06-15 19:22:07
88
原创 python操作配制文件
在开发或者测试中,我们经常用到配制文件,这里我们讲一下配制文件ini和conf文件,操作所用到的模块为configparser查看帮助源码c:\python35\lib\configparser.py这里我们用到test.ini文件作为示例[section1] #这是一个sectionname=sailor #option=value
2017-11-08 21:52:01
329
1
原创 python操作excel表格
1.python读取excel表格所用到的模块是xlrdimport xlrddata=xlrd.open_workbook('a.xlsx') #获取一个表格对象,表格格式为xlsx或者xlstable=data.sheets()[0] #通过索引获取sheet工作表table=data.sheet_by_index(0) #通过索引获取sheet工作表
2017-10-29 15:56:12
1400
原创 python 装饰器学习
python的装饰器语法以@开头,讲讲类装饰器class test:def demo(fun):def wrapper(self,*args,**kwargs):print("%s function strt"%func.__name__)return func(self,*args,**kwargs) #这个地方一定要加上self和参数return wra
2017-10-26 20:56:50
222
原创 python unittest简单总结
1.作为单元测试最基本的模块,源码在lib/unittest/init.py参考文档 https://docs.python.org/2.7/library/unittest.htmlimport unittestclass UiTest(unittest.TestCase): #新建一个类继承TestCasedef setUp(self):
2017-10-22 12:36:02
800
原创 selenium自动化之简单报告生成
我们测试结果需要用到报告输出,那么我们如何定义一个简单的报告呢?这里我们借助HTMLTestRunner,下载地址 点击打开链接关于这个模块python 2和python 3有点区别,目前网上下载的点击打开链接只有2,这里我们如果用到的是python3则需要将下载的2里面的文件修改一下需要修改的地方1.第94行,将import StringIO修改成import io2.第5
2017-10-21 15:48:59
2334
1
原创 selenium自动化之鼠标事件
当网页上有些地方需要鼠标悬停才能看到菜单时,我们需要模拟鼠标的事件,可查看action_chains这个模块这个我们以小米手机为例 ,鼠标悬停在小米手机上会出现菜单from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsfrom
2017-10-15 18:42:49
1397
原创 selenium自动化之radio,select,checkbox
当我们浏览网页时,经常会看到radio和select,那么我们如何获取他的状态呢?以百度搜索设置为例查看radio的属性 for i in driver.find_elements_by_name("s1"): #获取所有name相同的元素print (i.is_selected()) ->True,False #查
2017-10-15 16:06:35
4051
原创 selenium自动化学习之弹出框
当我们在浏览器进行操作的时候可能会弹出一些提示框,那么我们如何处理这些提示框呢?这里我们以百度为例,先点击设置->搜索设置->保存设置->弹出框->点击确定from selenium import webdriverfrom time import sleepdriver=webdriver.Chrome()driver.get("http://www.baid
2017-10-15 12:39:25
1477
原创 selenium自动化学习之基本键盘事件
上节我们讲到通过几种方法获取网页上的元素,那么获取到的元素我们可以进行基本的键盘操作,这里我们要用到keys这个模块from selenium import webdriverfrom selenium.webdriver.common.keys import Keysfrom time import sleep这里是百度搜索框的元素信息driver=webdr
2017-10-15 11:58:28
382
原创 selenium自动化学习之元素查看
上节我们讲了打开各种浏览器,打开网页后我们如何查看网页上的元素呢?这里我们以谷歌浏览器百度为例,按下F12可以看到右面的元素信息,点击红色区域,要查看什么元素只需要把鼠标放在相应位置即可from selenium import webdriverfrom time import sleepdriver=webdriver.Chrome()driver.get("
2017-10-14 18:19:24
671
原创 selenium自动化学习之各种浏览器打开
查看API后,我们可以进行简单的Demo了脚本第一步我们导入selenium这个包from selenium import webdriver #这个时候我们可以查看selenium/webdriver/__init__文件 第二步,指定浏览器driver=webdriver.Firefox() #指定火狐浏览器driver=web
2017-10-14 17:52:04
586
原创 selenium自动化学习之查看API
安装好selenium后,我们如何快速学习selenium,根据源码查看API是最好的学习方式那么如何查看API呢?我们可以使用python自带的模块去查看打开服务后,我们在浏览器中输入: localhost:5566 进入到下图的界面选择selenium,位于site packages的目录下这样我们就可以看到各个driver的api了
2017-10-14 17:31:07
277
原创 selenium自动化学习一环境搭建
1.安装python 2.7或者python 3.52.利用Pip安装pip install selenium或者下载selenium.tar.gz的压缩包进行解压,运行setup.py文件 下载地址:https://pypi.python.org/pypi/seleniumpython setup.py install3.进行测试 进入python交互模式下输入fro
2017-09-07 21:06:03
257
原创 安卓自动化之uiautomator(python篇)常用adb及图片对比
学完前面的几节知识后,发觉uiautomator里面的方法并不能完全满足我们的要求,因此我们需要其他的东西来帮助我们解决问题1.图片对比(当有些控件不能识别的时候,比如设置两次壁纸是否一样,我们就可以截图对比设置前后的图片是否一样来判断)图片对比需要的库为aircv和cv2使用pip install aircv 将cv2.pyd拷贝至site packages目录下使用方法
2017-08-27 20:06:48
2835
原创 安卓自动化测试之uiautomator(Python篇)四 Uisecltor
Uiautomator选择器,需要用到的类是UiSelector,对应的文件在init.py这个类用于构造一个组合,传入一个字典参数需要用到的工具是uiautomatorviewer.bat文件 双击打开工具,进入到下图界面点击截图图标来获取当前页面的信息常用的API如下:1.利用text来定位一个Selectord(text='Settings
2017-08-20 14:46:10
1146
原创 安卓自动化之uiautomator(Python篇)三 Uiobject
uiautomator对象篇UiObjectfrom uiautomator import Deviced=Device('serial_number'')uiobject为所有对象类父类,UiCollection和UiScriollable都继承于该类,对应的源码位于init.py常用的API有下面的几种:d().exists
2017-08-19 09:58:30
2046
原创 安卓自动化之uiautomator(python篇)二 UiDevice
安装环境后,我们首先学习最简单的Device这个类,这个类主要关于设备的旋转、点击、长按等操作,可查看init.py文件中的源码1.返回设备的信息d.info2.点击坐标d.click(300,500) 点击横坐标为300,纵坐标为500的地方3.长按坐标d.long_click(300,500) 长按横坐标为300,纵坐标为500的地方4.滑动点d.swipe(
2017-08-15 20:39:46
5866
原创 安卓自动化之uiautomator(python篇)一 环境搭建
参考文档:https://github.com/xiaocong/uiautomator1.所需的环境 :JDK 配置环境变量SDK 设置adb的环境变量python 设置环境变量2.uiautomator的安装利用pip安装,如果未将pip目录添加到path中,切换到python/scripts目录下,使用命令:pip install uiautomator
2017-08-13 14:00:49
3287
原创 lua语言学习十文件io
lua语言I/O用于读取和处理文件 file=io.open(filename[,mode])mode的值有r --以只读方式打开,该文件必须存在w --打开可写文件,若文件不存在会创建文件,若文件存在会先将文件内容清除a --打开可写文件,若文件不存在会创建文件,若文件存在会将内容追加到末尾r+ --可读可写,该文件必须存在w+ --打开可读写文件,若文件不存
2017-08-05 10:29:13
379
原创 lua语言学习九table
个人感觉lua语言的table有点像字典1.table的构造tab={} -->构造一个空的tabletab1={[1]="tab1",[2]="tab2"}tab2={"tab1","tab2"}
2017-07-30 11:36:56
278
原创 lua语言学习八数组
数组就是相同的数据按一定的元素排列,可以是一维数组和多维数组1.array={"tab1","tab2",3}for i=0,3 doprint (array[i]) -->nil,tab1,tab2,3end也可使用下列方法遍历for k,v in ipairs(array)doprint (v) -->tab1,tab2,3end2.多维数组arra
2017-07-30 10:17:23
413
原创 lua语言学习七字符串
字符串是由字母,数字或下划线组成的一串字符1.单引号间的字符'Helloworld'2.双引号间的字符"Monday"3.[[]]间的字符[[Everyone like you]]字符串常用的方法-----------------------------------------------------1.string.upper(args) 将字符全部转化为大
2017-07-25 20:48:45
267
原创 lua语言学习六运算符
运算符是一个特殊的符号,用于解释器执行逻辑和算术运算,lua语言包括了几种运算符1.逻辑运算符2.算术运算符3.关系运算符4其他运算符逻辑运算符包括 (and or not)a,b=1,2print (a==1 and atrueprint (a==2 and a -->falseprint (a==2 or a -->trueprint (not a) -->fals
2017-07-24 20:08:39
237
原创 lua语言学习五函数
1.函数对于大家并不陌生,既可以用来处理一些特殊的工作,也可以用来计算一些值,除了内建函数外,我们可以自定义一些函数来完成我们需要完成的任务函数的定义,optional_function_scope为可选的,可定义为local函数,arg1也为可选的参数optional_function_scope function_function_name (arg1,arg2)function_
2017-07-23 19:28:21
304
原创 lua语言学习四循环和流程控制
1.Lua语言的循环包括(while,for,repeat ..until,控制语句break,循环间可以互相嵌套while(true)doprint ("hello")endfor init,int max/min value,incrementdo statementsend常用于输出table里面的值,ipairs是lua中用于迭代器函数day
2017-07-23 18:15:44
306
原创 lua语言学习三变量
1.lua语言的变量分为全局变量和本地变量和表中的域,lua中的变量全为全局变量,除非前面加上local,局部变量的作用域从声明位置开始到语句结束-- test..lua 脚本a= 5 --这是个全局变量local b=10 --这是个局部变量function joke()c=4local d=3endjoke()print (c,d) --输出4,nil
2017-07-23 09:39:57
322
原创 lua语言的学习二
和其他编程语言一样,lua语言学习起来更简单简单的helloworld的输出,使用命令lua 进入交互模式,print ("helloworld")1.常用的数据类型有8种,利用type可查看类型string,number,boolean,bil,function,table,userdata,threada="hello"b=3.2c=falsed=bilt
2017-07-22 21:47:03
222
转载 lua语言的学习一安装
最近想学习游戏脚本的编写,于是看到了Lua语言,总体来说还是感觉比较简单易学的。1.简单的环境安装,可参考以下方式安装:Window 系统上安装 Luawindow下你可以使用一个叫"SciTE"的IDE环境来执行lua程序,下载地址为:本站下载地址:LuaForWindows_v5.1.4-46.exeGithub 下载地址:https://github.
2017-07-22 21:39:06
264
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人