当前位置: 首页 > news >正文

招远网站建设价格宿州百度seo排名软件

招远网站建设价格,宿州百度seo排名软件,做网站公司名字,锦州网站建设最低价开发完接口,接下来我们需要对我们开发的接口进行测试。接口测试的方法比较多,使用接口工具或者Python来测试都可以,工具方面比如之前我们学习过的Postman或者Jmeter ,Python脚本测试可以使用Requests unittest来测试。 测试思路…

开发完接口,接下来我们需要对我们开发的接口进行测试。接口测试的方法比较多,使用接口工具或者Python来测试都可以,工具方面比如之前我们学习过的Postman或者Jmeter ,Python脚本测试可以使用Requests + unittest来测试。

测试思路
功能测试:数据的增删改查
异常测试:未授权,参数异常等
Postman测试
使用测试工具Postman测试结果如下所示:

user接口测试
查询所有用户

创建用户

修改用户

 删除用户

未授权测试

groups接口测试

查询所有groups数据

修改group数据

 删除groups

Requests+Unittest

api目录下面新建一个test_unittest.py,代码实现如下:

tests_unittest.py

 
import requests
import unittestclass UserTest(unittest.TestCase):def setUp(self):self.base_url='http://127.0.0.1:8000/users'self.auth=('51zxw','zxw20182018')def test_get_user(self):r=requests.get(self.base_url+'/1/',auth=self.auth)result=r.json()self.assertEqual(result['username'],'51zxw')self.assertEqual(result['email'],'51zxw@163.com')def test_add_user(self):form_data={'username':'zxw222','email':'zxw668@qq.com','groups':'http://127.0.0.1:8000/groups/2/'}r=requests.post(self.base_url+'/',data=form_data,auth=self.auth)result=r.json()self.assertEqual(result['username'],'zxw222')def test_delete_user(self):r=requests.delete(self.base_url+'/11/',auth=self.auth)self.assertEqual(r.status_code,204)def test_update_user(self):form_data={'email':'2222@163.com'}r=requests.patch(self.base_url+'/2/',auth=self.auth,data=form_data)result=r.json()self.assertEqual(result['email'],'2222@163.com')def test_no_auth(self):r=requests.get(self.base_url)result=r.json()self.assertEqual(result['detail'],'Authentication credentials were not provided.')class GroupTest(unittest.TestCase):def setUp(self):self.base_url='http://127.0.0.1:8000/groups'self.auth=('51zxw','zxw20182018')def test_group_developer(self):r=requests.get(self.base_url+'/7/',auth=self.auth)result=r.json()self.assertEqual(result['name'],'Developer')def test_add_group(self):form_data={'name':'Pm'}r=requests.post(self.base_url+'/',auth=self.auth,data=form_data)result=r.json()self.assertEqual(result['name'],'Pm')def test_update_group(self):form_data={'name':'Boss'}r=requests.patch(self.base_url+'/6/',auth=self.auth,data=form_data)result=r.json()self.assertEqual(result['name'],'Boss')def test_detele_group(self):r=requests.delete(self.base_url+'/6/',auth=self.auth)self.assertEqual(r.status_code,204)if __name__ == '__main__':unittest.main()
Django自带测试模块

打开api目录下面的tests文件,编写如下测试代码

tests.py

 
from django.test import TestCase
import requests# Create your tests here.
class UserTest(TestCase):def setUp(self):self.base_url='http://127.0.0.1:8000/users'self.auth=('51zxw','xxxxx')def test_get_user(self):r=requests.get(self.base_url+'/1/',auth=self.auth)result=r.json()self.assertEqual(result['username'],'51zxw')self.assertEqual(result['email'],'zxw886@qq.com')# @unittest.skip('skip add user')def test_add_user(self):form_data={'username':'zxw222','email':'zxw668@qq.com','groups':'http://127.0.0.1:8000/groups/2/'}r=requests.post(self.base_url+'/',data=form_data,auth=self.auth)result=r.json()self.assertEqual(result['username'],'zxw222')# @unittest.skip('skip test_delete_user')def test_delete_user(self):r=requests.delete(self.base_url+'/11/',auth=self.auth)self.assertEqual(r.status_code,204)def test_update_user(self):form_data={'email':'2222@163.com'}r=requests.patch(self.base_url+'/2/',auth=self.auth,data=form_data)result=r.json()self.assertEqual(result['email'],'2222@163.com')def test_user_already_exists(self):form_data = {'username': 'zxw222', 'email': 'zxw668@qq.com', 'groups': 'http://127.0.0.1:8000/groups/2/'}r = requests.post(self.base_url + '/', data=form_data, auth=self.auth)result = r.json()#预期返回值:{"username":["A user with that username already exists."]}self.assertEqual(result['username'][0], 'A user with that username already exists.')def test_no_auth(self):r=requests.get(self.base_url)result=r.json()self.assertEqual(result['detail'],'Authentication credentials were not provided.')class GroupTest(TestCase):def setUp(self):self.base_url='http://127.0.0.1:8000/groups'self.auth=('51zxw','xxxxxx')def test_group_developer(self):r=requests.get(self.base_url+'/3/',auth=self.auth)result=r.json()self.assertEqual(result['name'],'Pm')# @unittest.skip('skip test_add_group')def test_add_group(self):form_data={'name':'Leader'}r=requests.post(self.base_url+'/',auth=self.auth,data=form_data)result=r.json()self.assertEqual(result['name'],'Leader')def test_update_group(self):form_data={'name':'Boss'}r=requests.patch(self.base_url+'/6/',auth=self.auth,data=form_data)result=r.json()self.assertEqual(result['name'],'Boss')def test_detele_group(self):r=requests.delete(self.base_url+'/6/',auth=self.auth)self.assertEqual(r.status_code,204)

运行方式:打开cmd使用如下命令来运行即可:

D:\django_restful>python manage.py test

上面命令是默认测试全部的用例,如果想测试部分用例则可以使用如下命令:

测试指定的测试类

D:\django_restful>python manage.py test api.tests.UserTest

测试具体的某一条具体用例

D:\django_restful>python manage.py test api.tests.UserTest.test_get_user

报错相关

1.迁移数据库时没有权限写入

File "C:\Users\jli75\AppData\Local\Programs\Python\Python37\lib\site-packages\MySQLdb\connections.py", line 280, in query_mysql.connection.query(self, query)
django.db.utils.InternalError: (7, "Error on rename of '.\\httprunnermanager\\#sql-1178_7.frm' to '.\\httprunnermanager\\djcelery_taskstate.frm' (Errcode: 13 - Permission denied)")

原因:可能是杀毒软件通过阻止修改frm文件来解决此问题。通过在杀毒软件威胁防护高级选项中禁用按访问扫描,并杀毒软件设置为忽略这些扩展名来解决此问题

  1. 迁移数据库时没有清除之前的迁移文件migrations
  File "C:\Users\jli75\AppData\Local\Programs\Python\Python37\lib\site-packages\MySQLdb\connections.py", line 280, in query_mysql.connection.query(self, query)
_mysql_exceptions.OperationalError: (1050, "Table 'djcelery_crontabschedule' already exists")

解决方案:删除migrations文件夹即可。

  1. setting配置错误
raise MigrationSchemaMissing("Unable to create the django_migrations table (%s)" % exc)
django.db.migrations.exceptions.MigrationSchemaMissing: Unable to create the django_migrations table ((1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL)' at line 1"))

解决方案:Django2.1不再支持MySQL5.5,必须5.6版本以上 可以使用如下命令 查看当前Mysql版本

mysql -V
mysql  Ver 8.0.1-dmr for Win64 on x86_64 (MySQL Community Server (GPL))

【软件测试行业现状】2023年干测试,约等于49年入国军。未来已寄..测试人该何去何从?【自动化测试、软件测试面试、性能测试】

http://www.mmbaike.com/news/50686.html

相关文章:

  • 做网站首页图片什么是全网营销推广
  • 自己做动漫 哪个网站赚钱全球搜索网站排名
  • 个人网站开发技术要求百度竞价怎么排名第一
  • 产品设计专业百度搜索引擎优化的方法
  • 番禺网站排名优化公司江门网站建设
  • 赤峰做企业网站公司百度网站推广排名优化
  • 网页设计跟做网站一样吗深圳seo优化公司哪家好
  • 网站开发adobe电子商务营销策略
  • frontpage怎么制作网页seo主要优化哪些
  • 家具网站建设需求临汾网络推广
  • wordpress pc站m站关键词seo排名优化如何
  • 连云港做网站企业百度搜索关键词排名
  • 招聘网站建设的目的培训课程设计
  • 外链是不是把自己的网站信息发布到别人的网站上?今天的国内新闻
  • 试用网站建设成都本地推广平台
  • 网页制作基础教程教案购买seo关键词排名优化官网
  • 如果做好招聘网站建设seo工程师是做什么的
  • 定制旅游网站建设方案seo综合查询中的具体内容有哪些
  • 徐州最好网站建设贺贵江seo教程
  • 代做网站的公司免费seo提交工具
  • wordpress管理员登陆不上二十条优化
  • 网站后台管理系统使用手册免费建站免费网站
  • 中山网站制作公司优化流程
  • 企业网站管理系统论文广州百度推广客服电话
  • 网站开发技术介绍全球中文网站排名
  • 安徽建设住房建设厅网站百度快照怎么打开
  • 杭州互助盘网站开发如何查看百度搜索指数
  • 上海网站建设-中国互联成都优化网站哪家公司好
  • 广告在什么网站做正规seo大概多少钱
  • 免费可以绑定域名网站空间百度首页广告多少钱