class LaGou(unittest.TestCase): def setUp(self): self.obj = Method() self.p = IsContent() self.excel = OperationExcel() self.operation = OperationJson() def statusCode(self, r): self.assertEqual(r.status_code, 200) self.assertEqual(r.json()['code'], 0) def isContent(self, r, row): self.statusCode(r) self.assertTrue(self.p.isContent(row=row, str2=r.text)) def test_laGou_001(self): r = self.obj.post(row=1, data=self.operation.getRequestsData(1)) self.isContent(r=r, row=1) self.excel.writeResult(1, 'pass') def test_laGou_002(self): r = self.obj.post(row=1, data=setSo('性能测试工程师')) list1 = [] for i in range(0, 15): positionId = r.json()['content']['positionResult']['result'][i]['positionId'] list1.append(positionId) writePositionId(json.dumps(list1)) def test_laGou_003(self): """访问搜索到的每个职位的详情信息""" for i in range(15): r = self.obj.get(url=getUrl(getPositionId())[i]) self.assertTrue(self.p.isContent(row=2, str2=r.text))
class Method(object): def __init__(self): self.operationJson = OperationJson() self.excel = OperationExcel() # def post(self, row): # try: # r = requests.post(url=self.excel.get_url(row=row), # data=self.operationJson.getRequestsData(row=row), # headers= getHeadersValue(), # timeout=5, # verify=False) # return r # except Exception as e: # raise RuntimeError('接口请求发生未知错误') def post(self, row, data): try: r = requests.post(url=self.excel.get_url(row=row), data=data, headers= getHeadersValue(), timeout=5, verify=False) return r except Exception as e: raise RuntimeError('接口请求发生未知错误') def get(self, url, params=None): r = requests.get(url=url, params=params, headers=getHeadersValue(), timeout=6) return r
class IsContent: def __init__(self): self.excel = OperationExcel() def isContent(self, row, str2): flag = None if self.excel.getExpect(row=row) in str2: flag = True else: flag = False return flag
class OperationJson(object): def __init__(self): self.excel = OperationExcel() def getReadJson(self): with open(get_dir(filename='requestData.json'), 'r', encoding='utf-8') as f: return json.load(f) def getRequestsData(self, row): """获取请求参数""" return json.dumps(self.getReadJson()[self.excel.get_request_data(row)])
from pn1.utils.operationExcel import OperationExcel from pn1.utils.OperationJson import OperationJson import json from pn1.utils.public import * operationJson = OperationJson() operationExcel = OperationExcel() def setSo(kd='自动化测试工程师'): """对搜索的数据重新赋值""" dict1 = json.loads(operationJson.getRequestsData(1)) dict1['kd'] = kd return dict1 def writePositionId(content): """把职位的ID写到文件中""" with open(get_dir(filename='positionId'), 'w') as f: f.write(content) def getPositionId(): """获取职位招聘的ID""" with open(get_dir(filename='positionId'), 'r') as f: return json.loads(f.read()) def setpositionInfo(row): dict1 = json.loads(operationJson.getRequestsData(row=row)) dict1['positionId'] = getPositionId()[0]
def __init__(self): self.excel = OperationExcel()
def __init__(self): self.operationJson = OperationJson() self.excel = OperationExcel()
def setUp(self): self.obj = Method() self.p = IsContent() self.excel = OperationExcel() self.operation = OperationJson()