本文主要是介绍Appium并发测试(5)-服务端口自动检测和释放,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
检测端口有三种方法:
- 手动cmd命令结束任务:netstat –ano |findstr 端口号
2.手动使用任务管理器查看进程
3.使用python的socket模块自动检测端口占用【下面详细解释】
名词解释:
Socket:两个程序之间相互通信的链接端口叫做socket,所以相互通信需要一对socket。
Socket的本质是一个编程接口(API),对TCP/IP的封装,TCP/IP也提供可以供其他程序开发调用的接口;HTTP则是提供了封装或者显示数据的具体形式,也就是http是封装传输的信息,socket则是封装接口用来接收和发送信息,在socket通信的时候,每个socket都会被绑定到一个特定的ip和端口
shutdown():shutdown()的调用是需要一个参数:0代表禁止下次的数据读取;1代表禁止下次的数据写入;2代表禁止下次的数据读取和写入
实现目标:
- 自动检测端口是否被占用
脚本实现逻辑:
1.导入socket模块
2.创建socket对象
3.使用connect()连接socket,连接成功后,使用shutdown(2)关闭socket防止被占用
脚本实现:
执行结果:
第一种情况:端口被占用下:
代码执行结果:
第二种情况:端口未被占用:(关闭端口)
代码执行结果:
释放端口占用的三种方法:
- 手动执行cmd命令结束端口占用:taskkill –f –pid <appium server占用的PID>
- 手动在任务管理器上结束进程
- 使用python的os模块自动释放端口
实现目标:
释放被占用的端口
脚本实现逻辑:
- 导入os模块
- 输入查看占用端口的pid命令
- 根据命令中核心字段是否存在,判断端口是否被占用
- 若端口被占用,则获取对应的pid
- Pid获取成功后,则执行释放命令
完成脚本:
执行结果:
端口未被占用:
端口被占用:
被占用执行释放命令后:
这篇关于Appium并发测试(5)-服务端口自动检测和释放的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!