-
利用python发送第一个请求关于HTTP请求,建议大家提前了解一下,再来看该篇文章该篇文章以简单的登录接口为例,干货来了:首先利用python发请求就会用到request库,先导入进来import requests1导入该库之后,就开始代码主体部分了#首先我们要把我们要测试接口API写进来url="http://localhost:8080/jwshoplogin/user/login.do"#紧接着把我们需要的参数定义一下userinfo={"username":"大娟", "password":"Aa111111"}#参数定义完成后,就该让这个请求带着这个参数去乖乖的请求服务器了,下面的代码意思为将响应回来的信息以文本格式给到resres=requests.post(url,data=userinfo).text#得到响应信息后,将他打印出来print(res)这个为该接口正常响应回来的信息,作为测试我们当然要写个断言来判断他响应回来的对不对嘛,#.find这个方法是在响应回来的信息里面找登录成功四个字,找不到会返回-1负一的值msg=res.find("登录成功")if msg>0: print("测试通过")else: print("测试失败")一个简单的接口测试就这么完成了。将请求参数进行参数化处理这时候我们用到的是csv文件,现将csv库倒进来,还有我们必要的request库import requestimport csv下面是代码主体,具体解释我会写进代码里url='http://localhost:8080/jwshoplogin/user/login.do'#上面url就不解释了,但是userinfo我要说下,这里为空是因为我一会在文件里读取的内容放到这里面userinfo={}#下面的两个是对文件的操作,r为对文件读(read),w为对文件写(write)file1=open("interfacePara.csv",'r')file2=open("loginResult.csv","w")#这个意思为将读出来的内容放到table里面table=csv.reader(file1)for row in table:#第一次循环#将读到的第一行第一列的值给到username userinfo["username"]=row[0]#将读到的第一行第二列的值给到password userinfo["password"]=row[1]#这时候userinfo拿到的值为username="大娟",password="Aa111111" response=requests.post(url,data=userinfo).text#查看一下响应回来的信息 print(response) print(row[2]) #在响应回来的信息里面找csv文件里的第一行第三列的值,然后做判断,写到文件loginResult.csv里面 r=response.find(row[2]) if r>0: print("测试通过") #因为在csv文件里每个分割是用逗号分割的所以这个要加上逗号,而且是英文格式的大家不要搞错,"\n"是换行的意思 file2.write(row[0]+","+row[1]+","+row[2]+","+"测试通过"+"\n") else: print("测试异常") file2.write(row[0] + "," + row[1] + "," + row[2] + "," + "测试失败" + "\n")
-
利用python发送第一个请求关于HTTP请求,建议大家提前了解一下,再来看该篇文章该篇文章以简单的登录接口为例,干货来了:首先利用python发请求就会用到request库,先导入进来import requests1导入该库之后,就开始代码主体部分了#首先我们要把我们要测试接口API写进来url="http://localhost:8080/jwshoplogin/user/login.do"#紧接着把我们需要的参数定义一下userinfo={"username":"大娟", "password":"Aa111111"}#参数定义完成后,就该让这个请求带着这个参数去乖乖的请求服务器了,下面的代码意思为将响应回来的信息以文本格式给到resres=requests.post(url,data=userinfo).text#得到响应信息后,将他打印出来print(res)这个为该接口正常响应回来的信息,作为测试我们当然要写个断言来判断他响应回来的对不对嘛,#.find这个方法是在响应回来的信息里面找登录成功四个字,找不到会返回-1负一的值msg=res.find("登录成功")if msg>0: print("测试通过")else: print("测试失败")一个简单的接口测试就这么完成了。将请求参数进行参数化处理这时候我们用到的是csv文件,现将csv库倒进来,还有我们必要的request库import requestimport csv下面是代码主体,具体解释我会写进代码里url='http://localhost:8080/jwshoplogin/user/login.do'#上面url就不解释了,但是userinfo我要说下,这里为空是因为我一会在文件里读取的内容放到这里面userinfo={}#下面的两个是对文件的操作,r为对文件读(read),w为对文件写(write)file1=open("interfacePara.csv",'r')file2=open("loginResult.csv","w")#这个意思为将读出来的内容放到table里面table=csv.reader(file1)for row in table:#第一次循环#将读到的第一行第一列的值给到username userinfo["username"]=row[0]#将读到的第一行第二列的值给到password userinfo["password"]=row[1]#这时候userinfo拿到的值为username="大娟",password="Aa111111" response=requests.post(url,data=userinfo).text#查看一下响应回来的信息 print(response) print(row[2]) #在响应回来的信息里面找csv文件里的第一行第三列的值,然后做判断,写到文件loginResult.csv里面 r=response.find(row[2]) if r>0: print("测试通过") #因为在csv文件里每个分割是用逗号分割的所以这个要加上逗号,而且是英文格式的大家不要搞错,"\n"是换行的意思 file2.write(row[0]+","+row[1]+","+row[2]+","+"测试通过"+"\n") else: print("测试异常") file2.write(row[0] + "," + row[1] + "," + row[2] + "," + "测试失败" + "\n")
-
在所有组件都安装和对接完成后,可以运行一次全量的自动化测试任务来检查数据平台的安装和对接结果。使用BO资产的租户用户登录AppCube平台。选择“管理 > 应用管理 > 应用导航”。搜索“AutomationTest”,单击自动化测试应用后面的预览。在“测试任务管理”中单击“全量验收测试”后面的执行按钮。执行完成后,在执行记录里找到“全量验收测试”。单击查看执行记录查看按钮查看详细的用例执行结果。如果有失败的用例,需要根据用例的日志(日志的查看方法请参考自动化用例错误日志检查)解决环境的问题,重新执行4进行检查。在AppCube生产环境上自动化测试工具只能在系统商用前运行,在系统正式商用后请不要再运行自动化测试任务。
-
利用python发送第一个请求关于HTTP请求,建议大家提前了解一下,再来看该篇文章该篇文章以简单的登录接口为例,干货来了:首先利用python发请求就会用到request库,先导入进来import requests1导入该库之后,就开始代码主体部分了#首先我们要把我们要测试接口API写进来url="http://localhost:8080/jwshoplogin/user/login.do"#紧接着把我们需要的参数定义一下userinfo={"username":"大娟", "password":"Aa111111"}#参数定义完成后,就该让这个请求带着这个参数去乖乖的请求服务器了,下面的代码意思为将响应回来的信息以文本格式给到resres=requests.post(url,data=userinfo).text#得到响应信息后,将他打印出来print(res)这个为该接口正常响应回来的信息,作为测试我们当然要写个断言来判断他响应回来的对不对嘛,#.find这个方法是在响应回来的信息里面找登录成功四个字,找不到会返回-1负一的值msg=res.find("登录成功")if msg>0: print("测试通过")else: print("测试失败")一个简单的接口测试就这么完成了。将请求参数进行参数化处理这时候我们用到的是csv文件,现将csv库倒进来,还有我们必要的request库import requestimport csv下面是代码主体,具体解释我会写进代码里url='http://localhost:8080/jwshoplogin/user/login.do'#上面url就不解释了,但是userinfo我要说下,这里为空是因为我一会在文件里读取的内容放到这里面userinfo={}#下面的两个是对文件的操作,r为对文件读(read),w为对文件写(write)file1=open("interfacePara.csv",'r')file2=open("loginResult.csv","w")#这个意思为将读出来的内容放到table里面table=csv.reader(file1)for row in table:#第一次循环#将读到的第一行第一列的值给到username userinfo["username"]=row[0]#将读到的第一行第二列的值给到password userinfo["password"]=row[1]#这时候userinfo拿到的值为username="大娟",password="Aa111111" response=requests.post(url,data=userinfo).text#查看一下响应回来的信息 print(response) print(row[2]) #在响应回来的信息里面找csv文件里的第一行第三列的值,然后做判断,写到文件loginResult.csv里面 r=response.find(row[2]) if r>0: print("测试通过") #因为在csv文件里每个分割是用逗号分割的所以这个要加上逗号,而且是英文格式的大家不要搞错,"\n"是换行的意思 file2.write(row[0]+","+row[1]+","+row[2]+","+"测试通过"+"\n") else: print("测试异常") file2.write(row[0] + "," + row[1] + "," + row[2] + "," + "测试失败" + "\n")
-
利用python发送第一个请求关于HTTP请求,建议大家提前了解一下,再来看该篇文章该篇文章以简单的登录接口为例,干货来了:首先利用python发请求就会用到request库,先导入进来import requests1导入该库之后,就开始代码主体部分了#首先我们要把我们要测试接口API写进来url="http://localhost:8080/jwshoplogin/user/login.do"#紧接着把我们需要的参数定义一下userinfo={"username":"大娟", "password":"Aa111111"}#参数定义完成后,就该让这个请求带着这个参数去乖乖的请求服务器了,下面的代码意思为将响应回来的信息以文本格式给到resres=requests.post(url,data=userinfo).text#得到响应信息后,将他打印出来print(res)这个为该接口正常响应回来的信息,作为测试我们当然要写个断言来判断他响应回来的对不对嘛,#.find这个方法是在响应回来的信息里面找登录成功四个字,找不到会返回-1负一的值msg=res.find("登录成功")if msg>0: print("测试通过")else: print("测试失败")一个简单的接口测试就这么完成了。将请求参数进行参数化处理这时候我们用到的是csv文件,现将csv库倒进来,还有我们必要的request库import requestimport csv下面是代码主体,具体解释我会写进代码里url='http://localhost:8080/jwshoplogin/user/login.do'#上面url就不解释了,但是userinfo我要说下,这里为空是因为我一会在文件里读取的内容放到这里面userinfo={}#下面的两个是对文件的操作,r为对文件读(read),w为对文件写(write)file1=open("interfacePara.csv",'r')file2=open("loginResult.csv","w")#这个意思为将读出来的内容放到table里面table=csv.reader(file1)for row in table:#第一次循环#将读到的第一行第一列的值给到username userinfo["username"]=row[0]#将读到的第一行第二列的值给到password userinfo["password"]=row[1]#这时候userinfo拿到的值为username="大娟",password="Aa111111" response=requests.post(url,data=userinfo).text#查看一下响应回来的信息 print(response) print(row[2]) #在响应回来的信息里面找csv文件里的第一行第三列的值,然后做判断,写到文件loginResult.csv里面 r=response.find(row[2]) if r>0: print("测试通过") #因为在csv文件里每个分割是用逗号分割的所以这个要加上逗号,而且是英文格式的大家不要搞错,"\n"是换行的意思 file2.write(row[0]+","+row[1]+","+row[2]+","+"测试通过"+"\n") else: print("测试异常") file2.write(row[0] + "," + row[1] + "," + row[2] + "," + "测试失败" + "\n")
-
利用python发送第一个请求关于HTTP请求,建议大家提前了解一下,再来看该篇文章该篇文章以简单的登录接口为例,干货来了:首先利用python发请求就会用到request库,先导入进来import requests1导入该库之后,就开始代码主体部分了#首先我们要把我们要测试接口API写进来url="http://localhost:8080/jwshoplogin/user/login.do"#紧接着把我们需要的参数定义一下userinfo={"username":"大娟", "password":"Aa111111"}#参数定义完成后,就该让这个请求带着这个参数去乖乖的请求服务器了,下面的代码意思为将响应回来的信息以文本格式给到resres=requests.post(url,data=userinfo).text#得到响应信息后,将他打印出来print(res)这个为该接口正常响应回来的信息,作为测试我们当然要写个断言来判断他响应回来的对不对嘛,#.find这个方法是在响应回来的信息里面找登录成功四个字,找不到会返回-1负一的值msg=res.find("登录成功")if msg>0: print("测试通过")else: print("测试失败")一个简单的接口测试就这么完成了。将请求参数进行参数化处理这时候我们用到的是csv文件,现将csv库倒进来,还有我们必要的request库import requestimport csv下面是代码主体,具体解释我会写进代码里url='http://localhost:8080/jwshoplogin/user/login.do'#上面url就不解释了,但是userinfo我要说下,这里为空是因为我一会在文件里读取的内容放到这里面userinfo={}#下面的两个是对文件的操作,r为对文件读(read),w为对文件写(write)file1=open("interfacePara.csv",'r')file2=open("loginResult.csv","w")#这个意思为将读出来的内容放到table里面table=csv.reader(file1)for row in table:#第一次循环#将读到的第一行第一列的值给到username userinfo["username"]=row[0]#将读到的第一行第二列的值给到password userinfo["password"]=row[1]#这时候userinfo拿到的值为username="大娟",password="Aa111111" response=requests.post(url,data=userinfo).text#查看一下响应回来的信息 print(response) print(row[2]) #在响应回来的信息里面找csv文件里的第一行第三列的值,然后做判断,写到文件loginResult.csv里面 r=response.find(row[2]) if r>0: print("测试通过") #因为在csv文件里每个分割是用逗号分割的所以这个要加上逗号,而且是英文格式的大家不要搞错,"\n"是换行的意思 file2.write(row[0]+","+row[1]+","+row[2]+","+"测试通过"+"\n") else: print("测试异常") file2.write(row[0] + "," + row[1] + "," + row[2] + "," + "测试失败" + "\n")
-
【功能模块】智慧园区自动化测试【操作步骤&问题现象】1、自动化测试中 自带的测试用例,需要进行配置吗 ?有的可以测试通过,有的不能通过2、【截图信息】【日志信息】(可选,上传日志内容或者附件)============================= test session starts ============================== platform linux -- Python 3.7.5, pytest-6.0.1, py-1.9.0, pluggy-0.13.1 rootdir: /opt/service/pytest-service/apps/Hi-zq2021, configfile: pytest.ini plugins: ordering-0.6 collected 1 item Hi-zq2021/A02_模拟第三方消息上报/test_03_电表状态上报.py [0;32m2021-12-17 10:42:07,371 [INFO] =================== [post] [CommonService] =================== [0;32m2021-12-17 10:42:07,371 [INFO] request_url: https://192.168.9.163:1443/httpconnector/message [0;32m2021-12-17 10:42:07,371 [INFO] request_headers: {'Content-Type': 'application/json', 'X-HW-ID': 'Hi-zq2021__io.basepoint.connectionmax.iot', 'MsgTopic': 'T_IO_DEVICE_DATACHANGED__Hi-zq2021', 'MsgTag': 'tag-pytest', 'MsgBusinessId': 'id-pytest', 'X-HW-APPKEY': 'vCR8hxTblRQgU3nMAK5efw=='} [0;32m2021-12-17 10:42:07,371 [DEBUG] request_body: { "platformId": "basepoint.connectionmax.iot", "notifyType": "deviceDataChanged", "requestId": "287358764596", "eventTime": "20211217104207", "deviceId": "ElectricityMeter001", "gatewayId": "gateway12345678", "messageCode": "1", "data": { "onlineStatus": "1" } } [0;32m2021-12-17 10:42:07,372 [INFO] =================== [get] [获取ROMA登录公钥] =================== [0;32m2021-12-17 10:42:07,372 [INFO] request_url: https://studioroma.e.huawei.com/roma/sso/key [0;32m2021-12-17 10:42:07,373 [INFO] request_headers: {'Content-Type': 'application/json'} [0;32m2021-12-17 10:42:07,489 [INFO] response_cost: 0.116216 s [0;32m2021-12-17 10:42:07,489 [INFO] response_status_code: 200 [0;32m2021-12-17 10:42:07,580 [INFO] =================== [post] [登录ROMA] =================== [0;32m2021-12-17 10:42:07,581 [INFO] request_url: https://studioroma.e.huawei.com/roma/asset-m2mservice/1.0/tokens [0;32m2021-12-17 10:42:07,581 [INFO] request_headers: {'Content-Type': 'application/json'} [0;32m2021-12-17 10:42:07,921 [INFO] response_cost: 0.340611 s [0;32m2021-12-17 10:42:07,922 [INFO] response_status_code: 200 F =================================== FAILURES =================================== ___________________________________ test_run ___________________________________ Hi-zq2021/A02_模拟第三方消息上报/test_03_电表状态上报.py:35: in test_run request.send() /opt/pytest/SmartCampusBVTest/public/core/http_request_impl.py:54: in send ??? /opt/pytest/SmartCampusBVTest/public/core/http_request_impl.py:137: in __send_request ??? /opt/pytest/SmartCampusBVTest/public/core/abc_proxy.py:24: in run ??? /opt/pytest/SmartCampusBVTest/public/service/RomaService.py:335: in get_app_key ??? /opt/pytest/SmartCampusBVTest/public/service/RomaService.py:475: in login ??? E KeyError: 'csrf_token' =========================== short test summary info ============================ FAILED Hi-zq2021/A02_模拟第三方消息上报/test_03_电表状态上报.py::test_run - K... ============================== 1 failed in 0.89s ==================
-
利用python发送第一个请求关于HTTP请求,建议大家提前了解一下,再来看该篇文章该篇文章以简单的登录接口为例,干货来了:首先利用python发请求就会用到request库,先导入进来import requests1导入该库之后,就开始代码主体部分了#首先我们要把我们要测试接口API写进来url="http://localhost:8080/jwshoplogin/user/login.do"#紧接着把我们需要的参数定义一下userinfo={"username":"大娟", "password":"Aa111111"}#参数定义完成后,就该让这个请求带着这个参数去乖乖的请求服务器了,下面的代码意思为将响应回来的信息以文本格式给到resres=requests.post(url,data=userinfo).text#得到响应信息后,将他打印出来print(res)这个为该接口正常响应回来的信息,作为测试我们当然要写个断言来判断他响应回来的对不对嘛,#.find这个方法是在响应回来的信息里面找登录成功四个字,找不到会返回-1负一的值msg=res.find("登录成功")if msg>0: print("测试通过")else: print("测试失败")一个简单的接口测试就这么完成了。将请求参数进行参数化处理这时候我们用到的是csv文件,现将csv库倒进来,还有我们必要的request库import requestimport csv下面是代码主体,具体解释我会写进代码里url='http://localhost:8080/jwshoplogin/user/login.do'#上面url就不解释了,但是userinfo我要说下,这里为空是因为我一会在文件里读取的内容放到这里面userinfo={}#下面的两个是对文件的操作,r为对文件读(read),w为对文件写(write)file1=open("interfacePara.csv",'r')file2=open("loginResult.csv","w")#这个意思为将读出来的内容放到table里面table=csv.reader(file1)for row in table:#第一次循环#将读到的第一行第一列的值给到username userinfo["username"]=row[0]#将读到的第一行第二列的值给到password userinfo["password"]=row[1]#这时候userinfo拿到的值为username="大娟",password="Aa111111" response=requests.post(url,data=userinfo).text#查看一下响应回来的信息 print(response) print(row[2]) #在响应回来的信息里面找csv文件里的第一行第三列的值,然后做判断,写到文件loginResult.csv里面 r=response.find(row[2]) if r>0: print("测试通过") #因为在csv文件里每个分割是用逗号分割的所以这个要加上逗号,而且是英文格式的大家不要搞错,"\n"是换行的意思 file2.write(row[0]+","+row[1]+","+row[2]+","+"测试通过"+"\n") else: print("测试异常") file2.write(row[0] + "," + row[1] + "," + row[2] + "," + "测试失败" + "\n")
-
利用python发送第一个请求关于HTTP请求,建议大家提前了解一下,再来看该篇文章该篇文章以简单的登录接口为例,干货来了:首先利用python发请求就会用到request库,先导入进来import requests1导入该库之后,就开始代码主体部分了#首先我们要把我们要测试接口API写进来url="http://localhost:8080/jwshoplogin/user/login.do"#紧接着把我们需要的参数定义一下userinfo={"username":"大娟", "password":"Aa111111"}#参数定义完成后,就该让这个请求带着这个参数去乖乖的请求服务器了,下面的代码意思为将响应回来的信息以文本格式给到resres=requests.post(url,data=userinfo).text#得到响应信息后,将他打印出来print(res)这个为该接口正常响应回来的信息,作为测试我们当然要写个断言来判断他响应回来的对不对嘛,#.find这个方法是在响应回来的信息里面找登录成功四个字,找不到会返回-1负一的值msg=res.find("登录成功")if msg>0: print("测试通过")else: print("测试失败")一个简单的接口测试就这么完成了。将请求参数进行参数化处理这时候我们用到的是csv文件,现将csv库倒进来,还有我们必要的request库import requestimport csv下面是代码主体,具体解释我会写进代码里url='http://localhost:8080/jwshoplogin/user/login.do'#上面url就不解释了,但是userinfo我要说下,这里为空是因为我一会在文件里读取的内容放到这里面userinfo={}#下面的两个是对文件的操作,r为对文件读(read),w为对文件写(write)file1=open("interfacePara.csv",'r')file2=open("loginResult.csv","w")#这个意思为将读出来的内容放到table里面table=csv.reader(file1)for row in table:#第一次循环#将读到的第一行第一列的值给到username userinfo["username"]=row[0]#将读到的第一行第二列的值给到password userinfo["password"]=row[1]#这时候userinfo拿到的值为username="大娟",password="Aa111111" response=requests.post(url,data=userinfo).text#查看一下响应回来的信息 print(response) print(row[2]) #在响应回来的信息里面找csv文件里的第一行第三列的值,然后做判断,写到文件loginResult.csv里面 r=response.find(row[2]) if r>0: print("测试通过") #因为在csv文件里每个分割是用逗号分割的所以这个要加上逗号,而且是英文格式的大家不要搞错,"\n"是换行的意思 file2.write(row[0]+","+row[1]+","+row[2]+","+"测试通过"+"\n") else: print("测试异常") file2.write(row[0] + "," + row[1] + "," + row[2] + "," + "测试失败" + "\n")
-
问题背景描述使用sysbench对mysql5.7.21进行256并发压测时,x86下TPS为10685,Kunpeng920 下压测结果为4197,性能较原有X86环境下有较大差距。 问题分析过程Top命令查看cpu资源使用情况 执行脚本进行压测时发现,top命令下mysql进程cpu使用率6000%左右,其中系统调用占用较高,为进一步明确mysql进程在执行哪些过程进行perf 热点函数和火焰图分析。perf命令查看热点函数通过在压测过程中执行perf top命令,查看到相关函数调用较高:进一步明确分析函数调用栈关系,使用perf record命令抓取一段时间perf 数据,进行解析后生成相应火焰图:分析发现mysql中调用的热点函数MVCC::view_open和PolycyMutex_在底层调用的是spin_lock相关函数,进而导致系统调用高,大量线程都在进行自旋空转,消耗cpu资源。问题解决措施及结果修改Mysql源码中CacheLine(可选优化项)通过github上mysql相关issue发现,在mysql中存在对cacheLine的硬编码现象,mysql中cachline大小是适配X86平台的为64字节,Kunpeng 920下cacheLine为128字节。可参考以下issue链接cid:link_2对mysql源码进行修改,此措施可获得相应的性能提升。Cacheline机制理解:CPU标识Cache中的数据是否为有效数据不是以内存位宽为单位,而是以Cacheline为单位。这个机制可能会导致伪共享(false sharing)现象,从而使得CPU的Cache命中率变低。出现伪共享的常见原因是高频访问的数据未按照Cacheline大小对齐,而在高并发压测mysql时,其中加锁的全局变量或数据一般是在高频的访问,这就可能导致性能的下降。(对于高频访问的锁变量,实际是对锁变量进行高频的读写操作,容易发生伪共享问题)修改mysql数据库配置参数Mysql中主要影响spin_lock相关性能参数的主要有:innodb_thread_concurrency、innodb_spin_wait_delay、innodb_sync_spin_loops。其中nnodb_thread_concurrency推荐设置为cpu的核心数,通过上调innodb_spin_wait_delay和innodb_sync_spin_loops参数,同时使用perf top命令观测MVCC::view_open和PolycyMutex_热点函数使用率,当使用率下降到合理范围内时,即达到预期效果。由于原子操作在x86和kunpeng 920平台上的实现存在差异,加上kunpeng920的核心数较多,导致在mysql高并发压测时出现了spin_lock相关系统调用较高,通过相应的mysql参数优化即可实现性能提升,结合Mysql下相关自旋锁的代码实现,可更好的理解这两个参数的作用,参考链接如下:cid:link_1优化后测试结论 通过对mysql的相关优化,最终在256并发下,kunpeng 920上TPS达到了11700,优于原X86压测结果(TPS 10685)。
-
利用python发送第一个请求关于HTTP请求,建议大家提前了解一下,再来看该篇文章该篇文章以简单的登录接口为例,干货来了:首先利用python发请求就会用到request库,先导入进来import requests1导入该库之后,就开始代码主体部分了#首先我们要把我们要测试接口API写进来url="http://localhost:8080/jwshoplogin/user/login.do"#紧接着把我们需要的参数定义一下userinfo={"username":"大娟", "password":"Aa111111"}#参数定义完成后,就该让这个请求带着这个参数去乖乖的请求服务器了,下面的代码意思为将响应回来的信息以文本格式给到resres=requests.post(url,data=userinfo).text#得到响应信息后,将他打印出来print(res)这个为该接口正常响应回来的信息,作为测试我们当然要写个断言来判断他响应回来的对不对嘛,#.find这个方法是在响应回来的信息里面找登录成功四个字,找不到会返回-1负一的值msg=res.find("登录成功")if msg>0: print("测试通过")else: print("测试失败")一个简单的接口测试就这么完成了。将请求参数进行参数化处理这时候我们用到的是csv文件,现将csv库倒进来,还有我们必要的request库import requestimport csv下面是代码主体,具体解释我会写进代码里url='http://localhost:8080/jwshoplogin/user/login.do'#上面url就不解释了,但是userinfo我要说下,这里为空是因为我一会在文件里读取的内容放到这里面userinfo={}#下面的两个是对文件的操作,r为对文件读(read),w为对文件写(write)file1=open("interfacePara.csv",'r')file2=open("loginResult.csv","w")#这个意思为将读出来的内容放到table里面table=csv.reader(file1)for row in table:#第一次循环#将读到的第一行第一列的值给到username userinfo["username"]=row[0]#将读到的第一行第二列的值给到password userinfo["password"]=row[1]#这时候userinfo拿到的值为username="大娟",password="Aa111111" response=requests.post(url,data=userinfo).text#查看一下响应回来的信息 print(response) print(row[2]) #在响应回来的信息里面找csv文件里的第一行第三列的值,然后做判断,写到文件loginResult.csv里面 r=response.find(row[2]) if r>0: print("测试通过") #因为在csv文件里每个分割是用逗号分割的所以这个要加上逗号,而且是英文格式的大家不要搞错,"\n"是换行的意思 file2.write(row[0]+","+row[1]+","+row[2]+","+"测试通过"+"\n") else: print("测试异常") file2.write(row[0] + "," + row[1] + "," + row[2] + "," + "测试失败" + "\n")
-
利用python发送第一个请求关于HTTP请求,建议大家提前了解一下,再来看该篇文章该篇文章以简单的登录接口为例,干货来了:首先利用python发请求就会用到request库,先导入进来import requests1导入该库之后,就开始代码主体部分了#首先我们要把我们要测试接口API写进来url="http://localhost:8080/jwshoplogin/user/login.do"#紧接着把我们需要的参数定义一下userinfo={"username":"大娟", "password":"Aa111111"}#参数定义完成后,就该让这个请求带着这个参数去乖乖的请求服务器了,下面的代码意思为将响应回来的信息以文本格式给到resres=requests.post(url,data=userinfo).text#得到响应信息后,将他打印出来print(res)这个为该接口正常响应回来的信息,作为测试我们当然要写个断言来判断他响应回来的对不对嘛,#.find这个方法是在响应回来的信息里面找登录成功四个字,找不到会返回-1负一的值msg=res.find("登录成功")if msg>0: print("测试通过")else: print("测试失败")一个简单的接口测试就这么完成了。将请求参数进行参数化处理这时候我们用到的是csv文件,现将csv库倒进来,还有我们必要的request库import requestimport csv下面是代码主体,具体解释我会写进代码里url='http://localhost:8080/jwshoplogin/user/login.do'#上面url就不解释了,但是userinfo我要说下,这里为空是因为我一会在文件里读取的内容放到这里面userinfo={}#下面的两个是对文件的操作,r为对文件读(read),w为对文件写(write)file1=open("interfacePara.csv",'r')file2=open("loginResult.csv","w")#这个意思为将读出来的内容放到table里面table=csv.reader(file1)for row in table:#第一次循环#将读到的第一行第一列的值给到username userinfo["username"]=row[0]#将读到的第一行第二列的值给到password userinfo["password"]=row[1]#这时候userinfo拿到的值为username="大娟",password="Aa111111" response=requests.post(url,data=userinfo).text#查看一下响应回来的信息 print(response) print(row[2]) #在响应回来的信息里面找csv文件里的第一行第三列的值,然后做判断,写到文件loginResult.csv里面 r=response.find(row[2]) if r>0: print("测试通过") #因为在csv文件里每个分割是用逗号分割的所以这个要加上逗号,而且是英文格式的大家不要搞错,"\n"是换行的意思 file2.write(row[0]+","+row[1]+","+row[2]+","+"测试通过"+"\n") else: print("测试异常") file2.write(row[0] + "," + row[1] + "," + row[2] + "," + "测试失败" + "\n")
-
-
如图,大家快做吧~~巨额码豆
-
有没有大咖能从建实例开始讲讲哈
上滑加载中
推荐直播
-
DTT年度收官盛典:华为开发者空间大咖汇,共探云端开发创新
2025/01/08 周三 16:30-18:00
Yawei 华为云开发工具和效率首席专家 Edwin 华为开发者空间产品总监
数字化转型进程持续加速,驱动着技术革新发展,华为开发者空间如何巧妙整合鸿蒙、昇腾、鲲鹏等核心资源,打破平台间的壁垒,实现跨平台协同?在科技迅猛发展的今天,开发者们如何迅速把握机遇,实现高效、创新的技术突破?DTT 年度收官盛典,将与大家共同探索华为开发者空间的创新奥秘。
回顾中 -
GaussDB应用实战:手把手带你写SQL
2025/01/09 周四 16:00-18:00
Steven 华为云学堂技术讲师
本期直播将围绕数据库中常用的数据类型、数据库对象、系统函数及操作符等内容展开介绍,帮助初学者掌握SQL入门级的基础语法。同时在线手把手教你写好SQL。
回顾中 -
算子工具性能优化新特性演示——MatMulLeakyRelu性能调优实操
2025/01/10 周五 15:30-17:30
MindStudio布道师
算子工具性能优化新特性演示——MatMulLeakyRelu性能调优实操
即将直播
热门标签