Appium并发测试(5)-服务端口自动检测和释放

2024-03-21 01:18

本文主要是介绍Appium并发测试(5)-服务端口自动检测和释放,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

检测端口有三种方法:

  1. 手动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. 自动检测端口是否被占用

脚本实现逻辑:
1.导入socket模块

2.创建socket对象

3.使用connect()连接socket,连接成功后,使用shutdown(2)关闭socket防止被占用

 

 

脚本实现:

执行结果:

第一种情况:端口被占用下:

代码执行结果:

第二种情况:端口未被占用:(关闭端口)

代码执行结果:

释放端口占用的三种方法:

  1. 手动执行cmd命令结束端口占用:taskkill –f –pid  <appium server占用的PID>
  2. 手动在任务管理器上结束进程
  3. 使用python的os模块自动释放端口

实现目标:

释放被占用的端口

脚本实现逻辑:

  1. 导入os模块
  2. 输入查看占用端口的pid命令
  3. 根据命令中核心字段是否存在,判断端口是否被占用

 

  1. 若端口被占用,则获取对应的pid

 

  1. Pid获取成功后,则执行释放命令

完成脚本:

执行结果:

端口未被占用:

端口被占用:

被占用执行释放命令后:

 

 

 

 

 

这篇关于Appium并发测试(5)-服务端口自动检测和释放的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/831348

相关文章

Java并发编程必备之Synchronized关键字深入解析

《Java并发编程必备之Synchronized关键字深入解析》本文我们深入探索了Java中的Synchronized关键字,包括其互斥性和可重入性的特性,文章详细介绍了Synchronized的三种... 目录一、前言二、Synchronized关键字2.1 Synchronized的特性1. 互斥2.

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

SpringCloud之LoadBalancer负载均衡服务调用过程

《SpringCloud之LoadBalancer负载均衡服务调用过程》:本文主要介绍SpringCloud之LoadBalancer负载均衡服务调用过程,具有很好的参考价值,希望对大家有所帮助,... 目录前言一、LoadBalancer是什么?二、使用步骤1、启动consul2、客户端加入依赖3、以服务

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制

Redis中高并发读写性能的深度解析与优化

《Redis中高并发读写性能的深度解析与优化》Redis作为一款高性能的内存数据库,广泛应用于缓存、消息队列、实时统计等场景,本文将深入探讨Redis的读写并发能力,感兴趣的小伙伴可以了解下... 目录引言一、Redis 并发能力概述1.1 Redis 的读写性能1.2 影响 Redis 并发能力的因素二、

Flask解决指定端口无法生效问题

《Flask解决指定端口无法生效问题》文章讲述了在使用PyCharm开发Flask应用时,启动地址与手动指定的IP端口不一致的问题,通过修改PyCharm的运行配置,将Flask项目的运行模式从Fla... 目录android问题重现解决方案问题重现手动指定的IP端口是app.run(host='0.0.

Nginx实现高并发的项目实践

《Nginx实现高并发的项目实践》本文主要介绍了Nginx实现高并发的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录使用最新稳定版本的Nginx合理配置工作进程(workers)配置工作进程连接数(worker_co

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题

nginx配置多域名共用服务器80端口

《nginx配置多域名共用服务器80端口》本文主要介绍了配置Nginx.conf文件,使得同一台服务器上的服务程序能够根据域名分发到相应的端口进行处理,从而实现用户通过abc.com或xyz.com直... 多个域名,比如两个域名,这两个域名其实共用一台服务器(意味着域名解析到同一个IP),一个域名为abc

springboot的调度服务与异步服务使用详解

《springboot的调度服务与异步服务使用详解》本文主要介绍了Java的ScheduledExecutorService接口和SpringBoot中如何使用调度线程池,包括核心参数、创建方式、自定... 目录1.调度服务1.1.JDK之ScheduledExecutorService1.2.spring