• python当中同步接口和异步接口怎么测试【杭州多测师_王sir】【杭州多测师】


    接口测试中可以可以使用httpx进行异步调用,下面对比一下异步调用和同步调用的速度
    异步调用的代码如下

    async ==》发音athink、表示异步

    await ==》饿威特

    # 异步调用
    import httpx
    import asyncio
    import time
    
    async def request(client):
        resp = await client.get('http://httpbin.org/get')
        result = resp.json()
    
    async def main():
        async with httpx.AsyncClient() as client:
            # 100 次调用
            task_list = []
            for _ in range(100):
                req = request(client)
                task = asyncio.create_task(req)
                task_list.append(task)
            await asyncio.gather(*task_list)
    
    
    if __name__ == "__main__":
        #开始
        start = time.time()
        asyncio.run(main())
        # 结束
        end = time.time()
        print(f'异步:发送100次请求,耗时:{end - start}')

    结果:异步:发送100次请求,耗时:1.1421504020690918
    # 同步调用
    import time
    import httpx
    
    
    def make_request(client):
        resp = client.get('http://httpbin.org/get')
        result = resp.json()
    
    def main():
        session = httpx.Client()
    
        # 100 次调用
        for _ in range(100):
            make_request(session)
    
    
    if __name__ == '__main__':
        # 开始
        start = time.time()
        main()
        # 结束
        end = time.time()
        print(f'同步:发送100次请求,耗时:{end - start}')
    
    同步:发送100次请求,耗时:24.393028020858765
  • 相关阅读:
    Java 并发理论简述
    Java 并发之原子性与可见性
    JVM 简述
    【算法导论】第5章,概率分析和随机算法
    【算法导论】第3、4章,增长和递归式
    【python】matplotlib进阶
    【dlbook】实践方法论
    【dlbook】优化
    【dlbook】正则化
    【dlbook】深度网络
  • 原文地址:https://www.cnblogs.com/xiaoshubass/p/16659031.html
Copyright © 2020-2023  润新知