Commit 9070b037 by liangyan10

修正

parent fe32ad74
...@@ -6,7 +6,7 @@ class BaseConfig(): ...@@ -6,7 +6,7 @@ class BaseConfig():
# 请求头 # 请求头
headers = {'Content-Type': 'application/json'} headers = {'Content-Type': 'application/json'}
# 当前运行的产品名 #auto # 当前运行的产品名 #auto
current_name = "sTransport" current_name = "sso"
test_case_dir = "test_case/" test_case_dir = "test_case/"
secs=0.1 # 测试用例间隔运行时间 secs=0.1 # 测试用例间隔运行时间
...@@ -146,13 +146,15 @@ class BmyomsConfig(BaseConfig): ...@@ -146,13 +146,15 @@ class BmyomsConfig(BaseConfig):
class SSOConfig(BaseConfig): class SSOConfig(BaseConfig):
"""SSO配置类""" """SSO配置类"""
name = "sso" name = "sso"
sso_username = 'robot_fanxun' # SSO登录名 test_case_dir = "test_case/sso/"
sso_password = 'fx123456' # sso密码 test_case_data_dir = "test_case_data/sso/"
sso_url = r'http://testtbdzj.hikcreate.com/web/auth/users/login' # sso登录地址 sso_username = 'never1' # SSO登录名
sso_password = 'ly123456' # sso密码
test_host="http://testhdsp.hikcreate.com"
sso_url = "http://testhdsp.hikcreate.com/web/auth/users/login" # sso登录地址
sso_salt = 'hikcreate_xj' # SSO盐值 sso_salt = 'hikcreate_xj' # SSO盐值
sso_token = '' sso_token = ''
headers = {'Content-Type': 'application/json', headers = {'Content-Type': 'application/json'}
'token': sso_token}
class SafeTransportationConfig(BaseConfig): class SafeTransportationConfig(BaseConfig):
"""交委安全运输配置类""" """交委安全运输配置类"""
......
#作者: liangyan
#时间: 2021/8/25 11:43
#编码: -- coding: utf-8 --
#版本: !python3.7
from service.login import SSOLogin
from config import SSOConfig
import pytest
@pytest.fixture(scope='module', autouse=True)
def test_sso_login_fixture():
"""sso登录获取token"""
url = SSOConfig.sso_url
headers=SSOConfig.headers
res = SSOLogin().sso_login(url=url, method='post', headers=headers)
setattr(SSOConfig,'sso_token',res)
headers['token']=SSOConfig.sso_token
from common.utils.getExcelData import get_excelData
import sys,os
import requests,json
import pytest,allure,xlrd,requests,os
from common.utils.getExcelData import *
from service.login import *
from common.tools import request_main
from common.db import MYSQL
from config import *
from common.db import RedisString,MYSQL
@allure.epic("登录模块")
@allure.feature("登录")
class TestMonitor():
workBook = xlrd.open_workbook(f'{SSOConfig.root_path}/test_case_data/sso/sso_testcase_20210513.xlsx')
def setup_class(self): # 每一个类下面所有的方法调用只运行一次
pass
@allure.story("登录测试")
@allure.title("{inData[testPoint]}")
@allure.link("http://yapi.hikcreate.com/")
@allure.description("/web/auth/users/login")
@pytest.mark.parametrize("inData", get_excelData(workBook, '大数据平台系统设置', 'login'))
def test_login(self, inData):
# url = f"{SSOConfig().test_host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
expectData = inData['expectData']
# headers = inData['headers']
# # print(inData['testPoint'])
"""请求"""
# print("-----------0000000000000000---",url, headers, method, req_data)
mysql=MYSQL(*BaseConfig.test_mysql)
mysql.ExecuNonQuery("update db_sso.sso_user set sso_user.lock_status =0 where login_name ='never1'")
RedisString(3).delete_key('sso:user:errorPwd:never1')
res =SSOLogin().new_ssologin(inData,getToken=False)
# print('5555555555555555555555555555555',res)
# print(expectData["code"])
assert res["code"] == expectData["code"]
"""断言"""
def teardown_class(self):
"""清除"""
if __name__ == '__main__':
for one in os.listdir('../../report/tmp'): # 列出对应文件夹的数据
if 'json' in one:
os.remove(f'../../report/tmp/{one}')
pytest.main(['test_login.py', '-s', '--alluredir', '../../report/tmp'])
# # 启动默认浏览器打开报告
os.system('allure serve ../../report/tmp')
# os.system('allure generate ../../report/tmp –o ../../report/tmp1 –-clean')
\ No newline at end of file
from common.utils.getExcelData import get_excelData
import sys,os
import requests,json
import pytest,allure,xlrd,requests,os
from common.utils.getExcelData import *
from service.login import SSOLogin
from common.tools import request_main
from config import *
from common.db import RedisString,MYSQL
class RelayData():
positionId=''
@allure.epic("岗位管理")
@allure.feature("岗位列表")
class TestPosition():
workBook = xlrd.open_workbook(f'{SSOConfig.root_path}/test_case_data/sso/sso_testcase_20210513.xlsx')
def setup_class(self): # 每一个类下面所有的方法调用只运行一次
pass
@allure.story("岗位管理获取列表")
@allure.title("{inData[testPoint]}")
@allure.link("http://yapi.hikcreate.com/")
@allure.description("/web/auth/position/page")
@pytest.mark.parametrize("inData", get_excelData(workBook,'大数据平台系统设置', 'position'))
def test_position_list(self,inData):
url = f"{SSOConfig().test_host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
# print(inData['testPoint'])
"""请求"""
# print("--------------",url, headers, method, req_data)
res = request_main(url, headers, method, req_data)
print(res)
assert res["code"]==expectData["code"]
@allure.story("岗位管理新增岗位")
@allure.title("{inData[testPoint]}")
@allure.link("http://yapi.hikcreate.com/")
@allure.description("/web/auth/position/page")
@pytest.mark.parametrize("inData", get_excelData(workBook, '大数据平台系统设置', 'positionadd'))
def test_position_add(self,inData):
# mysql = MYSQL(*BaseConfig.test_mysql)
# mysql.ExecuNonQuery("DELETE FROM db_sso.sso_position WHERE code='cs001';") # 删除岗位code为cs001的数据
url = f"{SSOConfig().test_host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
# print(inData['testPoint'])
# print("--------------",url, headers, method, req_data)
res = request_main(url, headers, method, req_data)
assert res["code"]==expectData["code"]
if res["code"]=='200':
a=res["data"]["positionId"]
setattr(RelayData, 'positionId', a)
print(RelayData.positionId)
@allure.story("岗位管理删除岗位")
@allure.title("{inData[testPoint]}")
@allure.link("http://yapi.hikcreate.com/")
@allure.description("/web/auth/position/page")
@pytest.mark.parametrize("inData", get_excelData(workBook, '大数据平台系统设置', 'positiondel'))
def test_position_del(self, inData):
url = f"{SSOConfig().test_host}{inData['url']+RelayData.positionId}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
print(RelayData.positionId)
# print(inData['testPoint'])
"""请求"""
# print("--------------",url, headers, method, req_data)
res = request_main(url,headers,method,req_data)
assert res["code"] == expectData["code"]
"""断言"""
def teardown_class(self):
"""清除"""
if __name__ == '__main__':
for one in os.listdir('../../report/tmp'): # 列出对应文件夹的数据
if 'json' in one:
os.remove(f'../../report/tmp/{one}')
pytest.main(['test_position.py', '-s', '--alluredir', '../../report/tmp'])
# # 启动默认浏览器打开报告
os.system('allure serve ../../report/tmp')
# os.system('allure generate ../../report/tmp –o ../../report/tmp1 –-clean')
\ No newline at end of file
import pytest,allure,xlrd,requests,os
from config import *
from common.utils.getExcelData import *
from common.tools import *
from common.db import *
class RelayData():
userId=''
@allure.epic("账号管理")
@allure.feature("账号管理")
class TestUsersManage():
workBook=xlrd.open_workbook(f'{SSOConfig.root_path}/test_case_data/sso/sso_testcase_20210513.xlsx')
@allure.story("账号查询")
@allure.title("{inData[testPoint]}")
@allure.description("/web/auth/users/page")
@pytest.mark.parametrize("inData",get_excelData(workBook,"大数据平台系统设置","userlist"))
def test_userlist(self,inData):
url=f"{SSOConfig.test_host}{inData['url']}"
method=inData['method']
req_data=inData['reqData']
expectData=inData['expectData']
headers=inData['headers']
res=request_main(url,headers,method,req_data)
assert res["code"]==expectData["code"]
@allure.story("账号新增")
@allure.title("{inData[testPoint]}")
@allure.description("/web/auth/users/page")
@pytest.mark.parametrize("inData", get_excelData(workBook, "大数据平台系统设置", "useradd"))
def test_useradd(self, inData):
url = f"{SSOConfig.test_host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
mysql=MYSQL(*BaseConfig.test_mysql)
if mysql.ExecuQuery("select * from db_sso.sso_user where login_name ='zidonghua' or real_name ='zidonghua' "):
mysql.ExecuNonQuery("delete from db_sso.sso_user where login_name ='zidonghua'or real_name='zidonghua'")
res = request_main(url, headers, method, req_data)
if res["message"] == '添加用户成功':
a = res["data"]["userId"]
setattr(RelayData, 'userId', a)
print(RelayData.userId)
assert res["code"] == expectData["code"]
@allure.story("账号编辑")
@allure.title("{inData[testPoint]}")
@allure.description("/web/auth/users/page")
@pytest.mark.parametrize("inData", get_excelData(workBook, "大数据平台系统设置", "userupdate"))
def test_userupdate(self, inData):
url = f"{SSOConfig.test_host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
res = request_main(url, headers, method, req_data)
assert res["code"] == expectData["code"]
if __name__=='__main__':
for one in os.listdir('../../report/tmp'): # 列出对应文件夹的数据
if 'json' in one:
os.remove(f'../../report/tmp/{one}')
pytest.main(['test_user.py','-s','--alluredir', '../../report/tmp'])
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment