def ScheduleList(userid): ''' 查询未来28天排期 :param userid: :return: ''' login('00852', '20181205') position_url = 'https://easy.lagou.com/parentPosition/multiChannel/myOnlinePositions.json' position_header = get_code_token( 'https://easy.lagou.com/position/multiChannel/myOnlinePositions.htm') s = form_post(url=position_url, headers=position_header, data={'pageNo': 1}, remark='获取职位id') positionId = s['content']['data']['parentPositionVOs'][1]['positions'][0][ 'positionId'] print(positionId) header = get_app_header(userid) url = "https://gate.lagou.com/v1/zhaopin/topCard/" + str( positionId) + "/scheduleList" object = get_requests(url=url, headers=header, remark="查询未来28天排期") message = object['message'] assert_equal("操作成功", message, "查询未来28天排期接口正确", "查询未来28天排期接口错误") # MySchedule(100014641) # SendBusiness(100014641) # ScheduleList(100014641)
def up_position_ranking(positionId, reqVersion=None, userId=100014641): url = host + "/positions/{}/up_position_ranking".format(positionId) data = { "isConfirm": False } headers = get_app_header(userId, reqVersion) remark = "提升职位排名" return json_put(url=url, data=data, headers=headers, remark=remark)
def refresh_position(positionId, reqVersion=None, userId=100014641): url = host + "/positions/{}/refresh_position".format(positionId) data = { "isConfirm": False } headers = get_app_header(userId, reqVersion) remark = "刷新职位" return json_put(url=url, data=data, headers=headers, remark=remark)
def ruzhi(userid, orderResumeId): header = get_app_header(userid) # orderResumeId=ResumeID(userid) url = "https://gate.lagou.com/v1/zhaopin/orderResumes/" + str( orderResumeId) + "/employed" object = json_put(url=url, headers=header, remark="转移到已入职") message = object['message'] assert_equal("操作成功", message, "转移到已入职成功", "转移到已入职失败") return object
def positions_offline(id, reqVersion=None, userToken=None, H9=False, userId=None, ip_port=None): url = host + '/positions/{}/offline'.format(id) remark = '下线职位' if H9 == True: headers = app_header_999(userToken, DA=False, userId=userId) else: userId = 100014641 headers = get_app_header(userId, reqVersion) return json_put(url=url, data={}, remark=remark, headers=headers, ip_port=ip_port, rd='royliu')
def positions_republish(positionId, userId): url = host + "/positions/{}/republish".format(positionId) data = { # "attachParam":"{\"typeId\":3,\"step\":\"TWO\"}", # "typeId":typeId, } remark = "再发布职位" headers = get_app_header(userId) return json_put(url=url, data=data, headers=headers, remark=remark)
def MySchedule(userid): ''' 查询我的排期,包括共享职位 :return: ''' header = get_app_header(userid) url = "https://gate.lagou.com/v1/zhaopin/topCard/mySchedule?pageNo=1&pageSize=10" object = get_requests(url=url, headers=header, remark="查询我的排期,包括共享职位") message = object['message'] assert_equal("操作成功", message, "查询我的排期,包括共享职位接口正确", "查询我的排期,包括共享职位接口错误")
def apply_privilege_position(userId): ''' Args: userId: int, 没有被分特权职位的有子账号的分账号的userId :return: ''' url = host + "/positions/apply_privilege_position" headers = get_app_header(userId) remark = "申请特权职位权益" return get_requests(url=url, headers=headers, remark=remark)
def OrderResumespage(userid): ''' 查询简历列表 ''' header = get_app_header(userid) url = "https://gate.lagou.com/v1/zhaopin/orderResumes/query" data = "" object = form_post(url=url, data=data, headers=header, remark="查询简历列表") message = object['message'] assert_equal("操作成功", message, "查询简历列表正确", "查询简历列表接口报错")
def NotReadCount(userid): header = get_app_header(userid) url = "https://gate.lagou.com/v1/zhaopin/orderResumes/not_read_resume_count?parentPositionId=0" object = get_requests(url=url, headers=header, remark="未读简历数量") meassage = object['message'] assert_equal("操作成功", meassage, "未读简历数量正确", "未读简历数量报错") # OrderResumespage(100014641) # OrderResumespageStage(100014641) # NotReadCount(100014641)
def SendBusiness(userid): ''' 发送商机线索 :param userid: :return: ''' header = get_app_header(userid) url = "https://gate.lagou.com/v1/zhaopin/topCard/sendBusiness" object = get_requests(url=url, headers=header, remark="发送商机线索") message = object['message'] assert_equal("操作成功", message, "发送商机线索接口正确", "发送商机线索接口错误")
def orderResumes(userid): '''分页查询简历''' header = get_app_header(userid) url = "https://gate.lagou.com/v1/zhaopin/orderResumes/pages?positionId=0&resumeStage=2&onlyUnread=false&catchTag=0&pageSize=20" data = "{'positionId':0,'resumeStage':2,'onlyUnread':false,'catchTag':0,'pageSize':20}" id = get_requests(url=url, headers=header, remark="分页查询简历") message = id['message'] orderId = id['content']['result'][0]['orderId'] orderResumeId = id['content']['result'][0]['orderResumeId'] print(orderId) assert_equal("操作成功", message, "分页查询简历正确", "分页查询接口报错") return orderId, orderResumeId
def TopCard(userid): ''' 使用置顶卡,既添加置顶卡排期 :return: ''' id = PositionId() times = time.strftime('%Y%m%d', time.localtime(time.time() + 90000)) header = get_app_header(userid) url = "https://gate.lagou.com/v1/zhaopin/topCard/addSchedule?positionId=" + str(id) + "&ids=" + str( times) + "-1-1.0" src = put_requests(url=url, remark="使用置顶卡,即添加置顶卡排期", headers=header) message = src['message'] assert_equal("操作成功", message, "使用置顶卡,即添加置顶卡排期正确", "使用置顶卡,即添加置顶卡排期接口报错")
def get_online_positions(ip_port=None, userToken=None, H9=False, userId=None): ''' 获取在线职位列表 :return: ''' if H9 == True: header = app_header_999(userToken, DA=False, userId=userId) else: userId = 100014641 header = get_app_header(userId) url = host + "/positions/online/pages?pageNo=1&pageSize=80" remark = "获取在线职位列表" return get_requests(url=url, headers=header, remark=remark, ip_port=ip_port, rd='royliu')
def OrderResumespageStage(userid): ''' 查询简历阶段 :param userid: :return: ''' header = get_app_header(userid) url = "https://gate.lagou.com/v1/zhaopin/orderResumes/pages?positionId=0&resumeStage=2&onlyUnread=false&catchTag=0&pageSize=20" id = get_requests(url=url, headers=header, remark="分页查询简历") orderResumeId = id['content']['result'][0]['orderResumeId'] url = "https://gate.lagou.com/v1/zhaopin/orderResumes/" + str( orderResumeId) + "/stage" object = get_requests(url=url, headers=header, remark="查询简历阶段") meassage = object['message'] assert_equal("操作成功", meassage, "查询简历阶段", "查询简历阶段接口测试失败")
def OrderResumeState(userid, orderResumeId): ''' 设置为待沟通 :param userid: :return: ''' header = get_app_header(userid) # orderResumeId=ResumeID(100014641) wait(2000) url = "https://gate.lagou.com/v1/zhaopin/orderResumes/" + str( orderResumeId) + "/link" object = json_put(url=url, headers=header, remark="设置为待沟通") meassage = object['message'] assert_equal("操作成功", meassage, "设置为待沟通成功", "设置为待沟通接口报错") return object
def luyong(userid, orderResumeId): ''' 标记为录用 转移到已入职 淘汰 :return: ''' header = get_app_header(userid) # orderResumeId=ResumeID(100014641) url = "https://gate.lagou.com/v1/zhaopin/orderResumes/" + str( orderResumeId) + "/luyong" object = json_put(url=url, headers=header, remark="标记为录用") message = object['message'] assert_equal("操作成功", message, "标记为录用成功", "标记为录用失败") return object
def viewOrderResumeid(userid): list = orderResumes(84) orderResumeId = list[1] orderId = list[0] print(orderResumeId) print(orderId) header = get_app_header(userid) ''' 订单简历ID,"/{id}"查询时必须,orderId,"/getByLGOrderId"查询时必须 ''' url = "https://gate.lagou.com/v1/zhaopin/orderResumes/" + str( orderResumeId) + "?lgOrderId=" + str(orderId) + "&needImg=false" print(url) jsonobject = get_requests(url=url, headers=header, remark="简历详情查询") meassage = jsonobject['message'] assert_equal("操作成功", meassage, "查看简历成功", "查看简历失败")
def taotai(userid, orderResumeId): header = get_app_header(userid) # orderResumeId=ResumeID(userid) url = "https://gate.lagou.com/v1/zhaopin/orderResumes/" + str( orderResumeId) + "/obsolete" object = json_put(url=url, headers=header, remark="淘汰") message = object['message'] assert_equal("操作成功", message, "淘汰成功", "淘汰失败") return object # ResumeID(100014641) # OrderResumeState(100014641) # Interview(100014641) # reviseOrderResumesTime(100014641) # luyong(100014641)
def checkOrderResumes(userid): ''' 生成或获取简历公开查看链接(Alanzhang) :return: ''' login('00852', '20181205') wait(2000) id = get_requests("https://easy.lagou.com/can/new/list.json", headers=None, remark="获得简历id") orderid = id['content']['rows'][0]['id'] print(orderid) header = get_app_header(userid) url = "https://gate.lagou.com/v1/zhaopin/orderResumes/" + orderid + "/public/url?generatesANew=false" jsonobject = get_requests(url=url, headers=header, remark="生成或获取简历公开查看链接") meassage = jsonobject['message'] assert_equal("操作成功", meassage, "生成或获取简历公开查看链接", "生成公开链接错误")
def reviseOrderResumesTime(userid): ''' 修改面试时间 :param userid: :return: ''' now_time = time.time() + 4000 interviewTime = (int(round(now_time * 1000))) orderResumeId = ResumeID(100014641) header = get_app_header(userid) url = "https://gate.lagou.com/v1/zhaopin/orderResumes/" + str( orderResumeId) + "/interview/datetime" data = {'interviewTime': interviewTime, 'orderResumeId': orderResumeId} object = json_put(url=url, remark="修改面试时间", headers=header, data=data) message = object['message'] assert_equal("操作成功", message, "修改面试时间成功", "修改面试时间失败") return object
def viewOrderResume(userid): ''' 简历详情查询 :param userid: :param orderid: :return: ''' # print(str(orderResumes(100014641))) list = orderResumes(84) orderId = list[0] header = get_app_header(userid) url = "https://gate.lagou.com/v1/zhaopin/orderResumes/getByLGOrderId?lgOrderId=" + str( orderId) + "&needImg=false" print(url) jsonobject = get_requests(url=url, headers=header, remark="简历详情查询") meassage = jsonobject['message'] assert_equal("操作成功", meassage, "查看简历成功", "查看简历失败")
def OperateSchedule(userid): ''' 置顶卡操作下线或取消预订 :return: ''' login('00852', '20181205') header = get_code_token('https://easy.lagou.com/userGoodsRecord/toCard/index.htm') sechedule_url = "https://easy.lagou.com/topCard/my-schedule.json?positionId=&city=&location=&status=&pageNo=1&pageSize=10" object = get_requests(url=sechedule_url, remark="获取置顶卡排序id", headers=header) id = object['content']['data']['scheduleList'][0]['id'] print(id) header = get_app_header(userid) url = "https://gate.lagou.com/v1/zhaopin/topCard/" + str(id) + "/operateSchedule?operate=offline" src = put_requests(url=url, remark="置顶卡操作下线或取消预订", headers=header) print(src) message = src['message'] assert_equal("操作成功", message, "置顶卡操作下线或取消预订正确", "置顶卡操作下线或取消预订接口报错")
def parser(data): # case_list = [] if isinstance(data['item'], list): for t in data['item']: url = t['request']['url']['raw'] method = t['request']['method'] header_list = t['request']['header'] content_type = None for h in header_list: if not ("disabled" in h): if h['key'] == "X-L-USER-ID": userId = h['value'] elif h['key'] == "Content-Type": content_type = h['value'] header = get_app_header(userId) body = t['request']['body'] remark = t['name'] try: expect_res = ''.join( re.split( '[// ]', t['event'][0]['script']['exec'][0])) except BaseException: return "缺失期望结果" try: expect_res = eval(expect_res) except NameError: expect_res = expect_res try: actual_res = ''.join( re.split( '[// ]', t['event'][0]['script']['exec'][1])) except BaseException: return "缺失实际结果" # case = (url, method, content_type, header, body, remark, expect_res, actual_res) # case_list.append(case) yield url, method, content_type, header, body, remark, expect_res, actual_res else: return "请检查用例数据"
def ResumeID(userid): ''' 获得简历id :return: ''' header = get_app_header(userid) # url="https://gate.lagou.com/v1/zhaopin/orderResumes/pages?positionId=0&resumeStage=2&onlyUnread=false&catchTag=0&pageSize=20" url = "https://gate.lagou.com/v1/zhaopin/orderResumes/query" id = json_post(url=url, headers=header, data={ 'catchTag': '0', 'channelIds': [0], 'pageSize': '20', 'positionIds': [0], 'resumeStageCode': '1' }, remark="分页查询简历") orderResumeId = id['content']['result'][0]['orderResumeId'] return orderResumeId
def Interview(userid, orderResumeId): ''' 安排面试时间 :return: ''' now_time = time.time() + 1000 interviewTime = (int(round(now_time * 1000))) # orderResumeId=ResumeID(100014641) wait(4000) header = get_app_header(userid) url = "https://gate.lagou.com/v1/zhaopin/orderResumes/" + str( orderResumeId) + "/interview" data = { 'contact': '袁月', 'contactAddress': '中关村', 'contactPhone': '15011220359', 'interviewTime': int(interviewTime), 'orderResumeId': orderResumeId } object = json_post(url=url, data=data, headers=header, remark="安排面试") message = object['message'] assert_equal("操作成功", message, "安排面试成功", "安排面试接口失败") wait(5000) return object
def communityMessage_clearRedSpot(userid): url = host + '/communityMessage/clearRedSpot' headers = get_app_header(userid) remark = '清楚言职社区通知的红点' return json_post(url=url, headers=headers, remark=remark)
def communityMessage_userBasicInfo(start, size, userid): url = host + \ '/communityMessage/userBasicInfo?start={start}&size={size}'.format(start=start, size=size) headers = get_app_header(userid) remark = '获取言职社区通知页列表数据' return get_requests(url=url, headers=headers, remark=remark)
# -*- coding: utf8 -*- __author__ = 'yqzhang' from utils.util import get_app_header, get_requests, json_post import random header = get_app_header(100018375) # alist = random.sample(range(1,10000000),50) def hasDelivered(): url = 'https://gate.lagou.com/v1/entry/order/deliverStatus' data = {'positionIds': 5378018} return get_requests(url=url, headers=header, data=data, remark='职位是否已投递') # print (5378018) # hasDelivered()
# coding:utf-8 # @Time : 2019-03-07 14:19 # @Author: Xiawang from utils.util import get_app_header, json_post, get_requests host = "https://gate.lagou.com/v1/entry" headers = get_app_header(100014641) def positionCategories(type=None): ''' :param type: int, 职位分类级别 1-互联网 2-其他 不传则为全部 :return: ''' if not (type == None): url = host + "/config/positionCategories/get?type={}".format(type) else: url = host + "/config/positionCategories/get" remark = "查询职位分类配置信息" return get_requests(url=url, headers=headers, remark=remark)