python断言函数大全 python 断言

python 的常用内置函数 && 错误

断言

我们提供的服务有:成都网站建设、成都网站设计、微信公众号开发、网站优化、网站认证、潞城ssl等。为千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的潞城网站制作公司

logging:把print()替换为logging是第3种调试程序错误信息方式

pdb :调试器pdb,让程序以单步方式运行,可以随时查看运行状态

pdb.set_trace() :调试常用

IDE

如果要比较爽地设置断点、单步执行,就需要一个支持调试功能的IDE.

【Python】assert断言

assertIsNotNone(testValue, message)

定义: 单元测试库函数,用于单元测试中以检查输入值是否为None。

输入值:

testValue:变量,需要测试的变量。

message:字符串,测试消息失败时显示的消息。

返回值: 根据断言条件返回布尔值,如果输入值满足assertIsNotNone()将返回true,否则返回false。

函数名:

1. 判断是否相等

assertEqual

assertNotEqual

2. 判断真假

assertTrue

assertFalse

3. 判断是否为空

assertIsNone

assertIsNotNone

返回值: 满足断言,返回True;不满足断言,返回False。

Python常用函数三有哪些?这7个函数使用频率最高,总算搞明白了

1.1 例如:print(hex(2))案例

1.2 输出函数:print(hex(2))

1.3 输出结果:0x2

1.4 解析说明:返回16进制的数。

2.1 例如:print(chr(10))案例

2.2 输出函数:print(chr(10))

2.3 输出结果:0o12

2.4 解析说明:返回当前整数对应的ASCll码

3.1 例如:print(ord("b"))案例

3.2 输出函数:print(ord("b"))

3.3 输出结果:98

3.4 解析说明:返回当前ASCll码的10进制数

4.1 例如:print(chr(97))

4.2 输出函数:print(chr(97))

4.3 输出结果:b

4.4 解析说明:返回当前ASCll码的10进制数。

案例一:给你一个字符串,s = 'hello kitty'

1.1 输出函数:print(s.capitalize())

1.2 输出结果:0x2

1.3 解析说明:返回16进制的数。

2.1输出函数:print(s.replace('kitty','kuang'))

2.2 输出结果:hello kuang

2.3 解析说明:替换功能,将kitty换成kuang。

2.4 输出函数:print(s.replace('4','KK'))

2.5 输出结果:12KK12KK

2.6 解析说明:所有的4都替换成KK

2.7 输出函数:print(s.replace('4','KK'))

2.8 输出结果:12KK12KK124

2.9 解析说明:将前两个的4替换成go

案例一:给你一个字符串,ip = '192.168.1.1'

3.1 输出函数:print(ip.split(','))

3.2 输出结果:['192.168.1.1']

3.3 解析说明:将字符串分割成列表

案例一:给你一个字符串,ip = '192.168.1.1'

3.3 输出函数:print(ip.split(',',2))

3.4 输出结果:['192.168.1.1']

3.5 解析说明:从第二个开始分割成列表

python断言assertequals是什么意思

根据老外的解释就是说assertEqual与assertEquals没有区别,可以说是完全一样的函数,而现在assertEquals函数已经被弃用,也就说不建议你使用了,以后可能这个方法就在python中消失了,在python3.0中已经趋向使用不带s的assert方法了,但是现在仍然没有删掉的原因是因为有一些旧代码和项目在使用带s的方法,语言要保持旧代码的兼容性。

至于assert那就很好解释了,就是判断0,1 也就是python中的真假关系

assertAlmostEquals这2个方法存在的原因与上面的相同,建议你不要使用带s的方法了,这个方法是做一个粗略判断,判断的值为你4舍5入后的值,也就是说5.1与5.2是相等的,如果使用这样的assert方法。

python常用的断言方式有哪些

(一)assertEqual 和 assertNotEqual

assertEqual:如两个值相等,则pass

assertNotEqual:如两个值不相等,则pass

下面看下具体使用方法

self.driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.support.v7.app.ActionBar.e[2]").click()#切到超模25tab

sleep(3)

self.assertEqual(self.driver.find_element_by_id('com.boohee.secret:id/tv_title').text,u'超模25','切到超模25tab失败')

(1)这边是通过id(com.boohee.secret:id/tv_title)获取它的text值,与预期“超模25”对比,如相等则pass;不相等则fail。

(2)后面的“切到超模25tab失败”是fail时需要打印的信息,可写可不写。

断言assertNotEqual反着用就可以了。

(二)assertTrue和assertFalse

assertTrue:判断bool值为True,则pass

assertFalse:判断bool值为False,则Pass

下面看下具体使用方法

self.driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.widget.TextView[1]").click()#点击登录入口

sleep(2)

self.driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.widget.EditText[1]").send_keys("testq1")#输入用户名

sleep(2)

self.assertTrue(self.find_element_by_id('com.boohee.secret:id/btn_login').is_enabled(),'未输密码登录按钮为不可点状态,Fail')

(1)这边是通过id(com.boohee.secret:id/btn_login)获取它的激活状态,如为True则pass;反之则fail。

(2)后面的“未输密码登录按钮为不可点状态”是fail时需要打印的信息,可写可不写。

断言assertFalse反着用就可以了。

(三)assertIsNone和assertIsNotNone

assertIsNone:不存在,则pass

assertIsNotNone:存在,则pass

下面看下具体使用方法

self.driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.widget.TextView[1]").click()#点击登录入口

sleep(2)

self.driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.widget.EditText[1]").send_keys("testq1")#输入用户名

sleep(2)

self.driver.find_element_by_xpath("//android.widget.LinearLayout[2]/android.widget.EditText[1]").send_keys("boohee")#输入密码

sleep(2)

self.driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.widget.Button[1]").click()#点击登录按钮

sleep(10)

self.assertIsNotNone(self.driver.find_element_by_id('com.boohee.secret:id/tv_edit_profile'),'无编辑资料按钮,登录失败,Fail')

(1)这边是通过寻找id(com.boohee.secret:id/tv_edit_profile)的元素是否存在,如存在则pass;不存在则fail。

(2)后面的“无编辑资料按钮,登录失败,Fail”是fail时需要打印的信息,可写可不写。

断言assertIsNone反着用就可以了。

自动化断言搜索结果怎么看

在测试用例中,执行完测试用例后,最后一步是判断测试结果是 pass 还是 fail,自动化测试脚本里面一般把这种生成测试结果的方法称为断言assert。

接口请求断言是指在发起请求之后,对返回的响应内容去做判断,用来查看是否响应内容是否与规定的返回值相符。

在发起请求后,我们使用一个变量 r 存储响应的内容,也就是 Response 对象。

Response 对象有很多功能强大的方法可以调用,比如直接获取响应头,获取 Unicode 编码后的响应内容,获取二进制的响应内容,获取原始的响应内容等等。

接下来我们就详解

对接口服务发起 HTTP 请求信息,获得响应内容之后,对其做断言验证。

一、Python 接口自动化断言

在发起请求后,使用一个变量r存储响应的内容,也就是Response对象。

r = requests.get("")

登录后复制

响应结果:

{

"args": {},

"headers": {

"Accept": "*/*",

"Accept-Encoding": "gzip, deflate",

"Host": "httpbin.ceshiren.com",

"User-Agent": "python-requests/2.25.1",

"X-Forwarded-Host": "httpbin.ceshiren.com",

"X-Scheme": "https"

},

"origin": "119.123.205.82",

"url": ""

}

登录后复制

Response 对象有很多功能强大的方法可以调用,比如直接获取响应头,获取 Unicode 编码后的响应内容,获取二进制的响应内容,获取原始的响应内容等等。

响应断言

响应状态码断言

1、断言成功

import requests

r = requests.get('')

assert r.status_code==200

登录后复制

assert是 python 的内置函数,用来判断表达式,当表达式条件为 False 的时候就会触发异常。r.status_code是 response 对象内的一个方法,用于获得返回值的状态码。assert r.status_code==200 就是在判断状态码是否等于 200,如果不等于 200 则会抛出异常。

2、断言失败

import requests

r = requests.get('')

assert r.status_code==400

Traceback (most recent call last):

File "stdin", line 1, in module

AssertionError

登录后复制

从以上例子可了解到,此响应状态码实际输出与预期结果状态码 400 不相等,所以抛出了异常。

Json 响应断言

data = {

"hogwarts": ["a","b","c"]

}

r = requests.post('',json=data)

print(json.dumps(r.json(),indent=2))

assert r.status_code == 200

assert r.json()["json"]["hogwarts"][0] == "a"

登录后复制

响应结果:

"args": {},

"data": "{"hogwarts": ["a", "b", "c"]}",

"files": {},

"form": {},

"headers": {

...省略...

},

"json": {

"hogwarts": [

"a",

"b",

"c"

]

},

"origin": "113.89.8.68",

"url": ""

}

登录后复制

通过 assert r.json()[“json”][“hogwarts”][0] == “a” 对 json 的内容进行断言,其中 r.json() 是获取相应的内容,r.json()[“json”] 是获取到 json 的内容,r.json()[“json”][“hogwarts”] 是获取到 hogwarts 的内容,r.json()[“json”][“hogwarts”][0] 是 hogwarts 下的第一个数据。

二、Java 接口自动化断言

Java 通过 then 进行断言验证,then() 方法可以对多种不同类型的响应信息进行验证。

断言响应状态码成功

import static io.restassured.RestAssured.*;

public class Requests {

public static void main(String[] args) {

given().when().get("").

//通常通过 then 进行断言验证

then().statusCode(200);

}

}

登录后复制

通过 then() 方法提供的 statusCode() 方法即可实现对于响应状态码的验证,statusCode() 方法通常接收的是 int 类型的参数。statusCode(200) 表示判断响应状态码是否等于 200,如果不等于 200 则会抛出异常。

如果将以上代码中断言验证的代码改成 statusCode(300),那么控制台则会输出异常信息。

Exception in thread "main" java.lang.AssertionError: 1 expectation failed.

Expected status code 300 but was 200.

登录后复制

json 响应断言

import static io.restassured.RestAssured.*;

import static org.hamcrest.core.IsEqual.equalTo;

public class Requests {

public static void main(String[] args) {

given().when().get("").

then().body("headers.Host", equalTo("httpbin.ceshiren.com")).log().all();

}

}

登录后复制

通过 then().body(“headers.Host”, equalTo(“httpbin.ceshiren.com”)) 对 json 的内容进行断言,其中 then().body() 是获取相应的内容。

第一个参数是从响应内容中提取实际的字段值。

第二个参数调用了 equalTo() 方法,并在其中传入了期望结果。

三、总结

不是所有的拼搏都会成功,我们不能盲目的拼搏,必须带上我们的智慧,将属于我们的机会牢牢抓住,才会多一份成功。

青春是短暂的,而这短暂的时间里我们的任务很重。让花儿尽情的开吧,只要它不是落了一个虚度年华的罪名,那么,我都乐意。

这世界从来不会跟你过不去,你得到的任何好与坏,都是自己做的。根本没有正确的选择,我们只不过是要努力奋斗,使当初的选择变得正确。

1024程序员节

自动化测试

软件测试工程师

软件测试

测试开发

全国股民的福音来了!

诊断涨停板

广告

python自动化断言封装

1289阅读·0评论·0点赞

2022年4月25日

自动化脚本测试代码参考

400阅读·0评论·1点赞

2022年6月29日

python-web自动化测试-断言

3069阅读·0评论·1点赞

2021年11月18日

pytthon自动化代码大全

1445阅读·0评论·2点赞

2022年1月17日

pythonui自动化断言,python UI自动化13- 断言方法

2353阅读·0评论·2点赞

2021年4月27日

python 接口断言的方法_python接口自动化—unittest 常用的断言方法

1798阅读·0评论·0点赞

2021年2月9日

沧州全屋定制仅需1.68万,输入面积,算算你家需要多少钱?

00:34

全友全屋定制

查看详情

全友全屋定制

广告

python requests接口自动化测试 (数据库断言)

2277阅读·0评论·6点赞

2022年5月16日

python unittest断言_python接口自动化(二十三)--unittest断言——上(详解)

196阅读·0评论·0点赞

2020年11月29日

Python自动化之结果断言篇

2143阅读·0评论·3点赞

2021年7月16日

接口自动化框架之python pytest断言assert(一)

763阅读·0评论·0点赞

2022年5月18日

python自动化测试常用断言的使用方法

2522阅读·0评论·1点赞

2018年9月12日

Web自动化测试:测试用例断言

1180阅读·0评论·0点赞

2022年5月12日

python写测试脚本语言_python测试学习-自动化测试的执行步骤

335阅读·0评论·0点赞

2020年12月13日

做python自动化得时候怎么添加断言_python接口自动化 - 断言(上)

2019阅读·0评论·0点赞

2020年12月11日

全网最详细的Python自动化测试

1755阅读·0评论·0点赞

2022年10月15日

Python自动化测试项目的代码编写规范

1269阅读·0评论·4点赞

2021年5月8日

用Python实现自动化测试

4326阅读·2评论·1点赞

2022年7月8日

Selenium自动化测试(断言 / fame框架处理)------实例

781阅读·0评论·0点赞

2021年11月29日

7个实用的Python自动化代码,别再重复造轮子了

1966阅读·0评论·0点赞

2022年4月23日

去首页

看看更多热门内容

评论16

Passerby_Wang

写得也太详细了吧,学到了好多 也欢迎博主来我这里指点一二呀

2022.10.25

测试内卷


当前名称:python断言函数大全 python 断言
当前网址:http://scyanting.com/article/hhdpic.html