关键字驱动实现-框架思想

关键字驱动实现-框架思想

import json

from requests import Session


class Base(object):
    host = "https://www.shenzhuohl.com"
    Session = Session()

    def post(self, url, data=None, json=None, **kwargs):
        return self.Session.post(url, verify=False, data=data, json=json, **kwargs)


class ApiClint(Base):

    def inquiry_of_id_card(self, params):
        api_url = "/UserAction"
        response = self.post(url=self.host + api_url, data=params)
        return response.text


class DataHandle(ApiClint):

    def inquiry_of_id_card_pp(self, params):
        return json.loads(self.inquiry_of_id_card(params))


class StepApi(DataHandle):
    def step_inquiry_of_id_card(self, yal_data):
        """TODO:暂时省略获取yaml存取的参数,并返回数据"""
        self.inquiry_of_id_card_pp(params=yal_data)


class TestCase(StepApi):

    def test_inquiry_of_id_card(self):
        self.step_inquiry_of_id_card(
            {"username": "xxx", "password": "xxx", "sessitime": "2022-02-28+17%3A50%3A00",
             "sessiond": "saas", "method": "login"})

        self.step_inquiry_of_id_card({"method": "detailed2", "id": "234266219"})


if __name__ == '__main__':
    a = TestCase()
    a.test_inquiry_of_id_card()

Base类:使用Session类管理会话,管理请求方式

ApiClint类:管理api接口

DataHandle类:进行数据处理

StepApi类:不可出现数据处理,接口返回值需要返回到yaml或其他容器中;如需断言也要写在StepApi类中

TestCase类:组装step,编写用例,不可出现数据处理

posted @   chron  阅读(52)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示