首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Pytest的基本应用(一)

在Python的编程语言中,单元测试框架主要是pytest,unittest,和nose,其中应用最广泛的是unittest和pytest测试框架,unittest测试框架是内置的模块,安装完Python的解释器后,就可以直接导入使用,但是使用它的时候必须是继承TestCase类,才可以调用里面的方法,但是缺陷也是很明显的,它只能应用于面向对象的编程方式,无法应用于函数式的编程方式,Python语言它的优势的是可以是面向对象的编程方式,也可以是函数式的编程方式。pytest就显得自由,它把每一个以test_开头或者是_test结尾的都看成是一个测试对象,同时它的断言是Python的原生断言assert,这样使用起来更加的自由,只要编写的不管是模块还是类,符合它的要求,都是可以执行的。但是前提是需要安装pytest,它是属于第三方的库,安装的命令为:

02
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    monkeyrunner入门例子(pyt

    #!/usr/bin/env monkeyrunner # -*- coding: utf-8 -*- #导入python中自带的time模块和sys模块,脚本中都要用到它们。 import time import sys #MonkeyRunner自带的三个api from com.android.monkeyrunner import MonkeyRunner ,MonkeyDevice ,MonkeyImage #这个函数时确认年月日时分秒 now=time.strftime("%Y-%m-%d-%H-%M-%S") #指定我们要保存图片的位置和打印log的位置 path='D:\picture\' logpath="D:\log\" #python中获取当前运行的文件的名字 name=sys.argv[0].split("\\") filename=name[len(name)-1] #新建一个log文件 log=open(logpath+filename[0:-3]+"-log"+now+".txt",'w') #连接设备,两个参数分别是等待的时间(这里的时间都是秒为单位),设备的序列号。 device=MonkeyRunner.waitForConnection(5,'022AQQ7N39077347') #安装锤子便签apk。参数是apk文件的位置,因为python不支持中文输入,所以在后面用了.decode('utf-8')这个方法转码。 device.installPackage ('D:\\1.apk'.decode('utf-8')) #打印出操作信息到log文件里 log.write("安装apk……\n") #等待2秒 MonkeyRunner.sleep(2) #启动app,参数里是app的包名/活动名 device.startActivity(component='com.smartisan.notes/.NotesActivity') MonkeyRunner.sleep(2) #打印操作信息 log.write("启动app……\n") #截图 result = device.takeSnapshot() #保存截图  result.writeToFile(path+"主页面".decode('utf-8')+now+'.png','png') #点击搜索款的位置坐标。 device.touch(111,155,'DOWN_AND_UP') MonkeyRunner.sleep(2) #输入smartisan字样 device.type("smartisan") #截图 result1=device.takeSnapshot() #保存截图 result1.writeToFile(path+"搜索框截图".decode('utf-8')+'.png','png') #移动第一个便签的位置到最后面去,参数是:一个起始点坐标,一个终点坐标,移动的时间,移动的步骤 device.drag((232,235),(216,472),3,2) MonkeyRunner.sleep(3) #截图 result2=device.takeSnapshot() #保存截图 result2.writeToFile(path+"移动便签".decode('utf-8')+now+".png",'png') #第一个便签向右滑动 device.drag((109,360),(322,360)) MonkeyRunner.sleep(3) #截图 result3=device.takeSnapshot() #保存截图 result3.writeToFile(path+"右移动便签".decode('utf-8')+now+".png",'png') #点击最后一个便签的位置 device.touch(182,583,'DOWN_AND_UP') MonkeyRunner.sleep(5) #点击发送的位置 device.touch(324,73,'DOWN_AND_UP') MonkeyRunner.sleep(5) #点击发送至长微博的位置 device.touch(227,789,'DOWN_AND_UP') MonkeyRunner.sleep(5) #点击生成长微博的位置 device.touch(228,791,'DOWN_AND_UP') MonkeyRunner.sleep(5) #截图 result4=device.

    01

    python对mysql数据库的操作(一)

    本文章介绍python对mysql数据库的基本操作,以及编写一个模拟用户的注册。在自动化测试中,某些人认为是没有必要操作数据库的,理由是大多数的自动化测试都是UI的,非接口的自动化测试,其实,在一个项目的自动化测试中,这种定义很模糊,或者说很不明确,比如在自动化测试中,怎么来验证用户登录成功,用户注册成功?先来说登录,用户登录成功后,验证点首先是用户的昵称,再有么?是的,有,必须得验证url,这是一个完整的测试用例,再来说注册,注册成功后,验证点再我看来,一是到数据库查看,用户注册的信息是否insert到对应了表了,满足一的基础上,再验证注册的用户可不可以登录。所以说,在自动化测试中,对数据库的操作,具体看得场景,业务,具体问题得具体分析。

    02

    初始python单元测试框架unittest与webdriver的关系(一)

    unittest是属于python的单元测试框架,和java的junit,c#的nunit雷同,unittest的详细说明,具体见官方的地址:https://docs.python.org/2/library/unittest.html。unittest单元测试给我们提供了创建测试用例,测试套件,以及测试固件。unittest在安装pyhton以后,直接自带了,可以直接使用。作为单元测试,是对程序最小模块的一种敏捷化的测试,更多的是开发作为对自己代码质量的一种考核,测试驱动的方法中,测试先行,开发接着来。在自动化测试中,我们虽然没有按照这样的模式来,但是有一个基本的事实的,当我们把selenium2的API全部学习完后,但是作为自动化测试来说,我们不可能把N个测试点,写在一个python的文件里面,即使一个简单的文本输入框,我们要测试它的边界值,敏感字符等,如果写在一个文件中,执行失败后,我们得仔细的查看到底是边界值出问题了还是其他出问题了,导致该部分执行失败,显然,这样的自动化,不是我们想要的,也会给成本增加很多的,也无法达到自动化的要求,更加无法处理几百几千个测试用例的批量执行。那么,就让我们来了解神秘的unittest,unittest的关系图具体见如下截图的层级关系:

    03
    领券