前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python版Socket.IO接口测试脚本

Python版Socket.IO接口测试脚本

作者头像
FunTester
发布2020-12-14 17:12:38
2.9K2
发布2020-12-14 17:12:38
举报
文章被收录于专栏:FunTester

最近一直在做Socket接口测试的实践,一直用的都是Java或者Groovy语言编写的功能和脚本。由于端上同事有在学习Python的,所以帮忙整理了一个Python版的Socket.IO接口测试脚本。

Java版的内容如下:

Python版没有提供登录功能,因为东西比较多,所以让端上同学用postman或者Charles|Fiddler等工具完成用户登录后的token获取。

首先要安装Socket.IO的包,Python版本是3.7,使用的pip方式进行安装,命令行如下:pip3 install python-socketio。这里网上教程很多,不多赘述。

脚本内容如下:

代码语言:javascript
复制
import socketio
import time


# wiki地址:http://wiki.okjiaoyu.cn/pages/viewpage.action?spaceKey=RJBK&title=ailearn-instruction-svr
def func(token="", uid=0, room=0):
    sio = socketio.Client()
    event = 'my_event'

    @sio.event()
    def my_response(data):
        # handle the message
        # sio.emit('my_event', {"cmd": "joinRoom", "roomId": 8888})
        print(data)

    @sio.event
    def connect():
        print("I'm connected!")

    @sio.event
    def connect_error():
        print("The connection failed!")

    @sio.event
    def disconnect():
        print("I'm disconnected!")

    url = 'http://ailearn-instruction-stress.xk12.cn:38999/?systemId={uid}&loginType=3&token={token}&userType=1'
    # dev环境的URL地址,端口38899
    # url = 'http://ailearn-instruction-dev.xk12.cn:38899/?systemId={uid}&loginType=3&token={token}&userType=1'
    url = url.format(uid=uid, token=token)

    sio.connect(
        url,transports=["websocket"])
    print('my sid is', sio.sid)
    time.sleep(3)
    # 必需进行注册和加入room操作,room等于发布教学活动的activityid
    sio.emit(event, {"cmd": "register", "userId": uid, "role": "T", "deviceVersion": "1.0","s_sid": sio.sid, "token": token})
    sio.emit(event, {"cmd": "joinRoom", "roomId": room})
    time.sleep(3)


if __name__ == '__main__':
    func(token="519594cc8e3a4bd68679b2b613c20536", uid=61951375269, room=43548)

水平有限,只能写个大致的脚本,勉强跑通,仅供参考。


公众号「FunTester」,非著名测试开发,文章记录学习和感悟,欢迎关注,交流成长。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FunTester 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 公众号「FunTester」,非著名测试开发,文章记录学习和感悟,欢迎关注,交流成长。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档