首页 > 系统相关 >python-windows命令行启动appium及杀掉对应接口进程

python-windows命令行启动appium及杀掉对应接口进程

时间:2023-08-03 19:31:46浏览次数:36  
标签:appium python cmd pid 4723 windows



文章目录

  • windows命令行启动appium及杀掉对应接口进程
  • 一.环境配置
  • 1.安装命令行版appium
  • 2.安装appium-doctor检测
  • 3.python安装Appium-Python-Client:
  • 4.定位uiautomatorviewer.bat
  • 5.查看主包名主类名Activity
  • 二.python-appium启动app
  • 1.appium启动一加计算器相关参数:
  • 2.windows查看端口
  • 三.windows杀掉对应进程


windows命令行启动appium及杀掉对应接口进程

本人环境前置条件:手机设备为真机一加7 Pro,使用的应用为一加计算器

一.环境配置

1.安装命令行版appium

npm可以使用淘宝镜像下载更快,如下命令为全局安装

npm --registry http://registry.npm.taobao.org install appium -g

2.安装appium-doctor检测

npm --registry http://registry.npm.taobao.org install appium-doctor -g

验证:cmd输入appium-doctor

3.python安装Appium-Python-Client:

pip install Appium-Python-Client

验证:cmd输入 appium -v

4.定位uiautomatorviewer.bat

使用定位工具uiautomatorviewer.bat,如果遇到报错请看我这篇博客编写一个uiautomatorview截屏获取.uix工具_梦无矶的博客-

也可以使用appium的定位,还有weditor。

关于python版uiautomator2中的weditor
python语言实现的一个app自动化测试框架

安装uiautomator2:

pip install -U uiautomator2

初始化命令(往手机上推送apk包):

python -m uiautomator2 init

安装定位工具weditor:

pip install -U weditor

安装完成之后,命令行运行:weditor --help确认是否安装成功。

命令行输入:weditor 会自动打开一个浏览器 进行连接手机设备定位。

init出错的话可以看我这篇博客:

关于uiautomator2-ATX安装失败教程

5.查看主包名主类名Activity

可以查看我这篇博客:

查看主包名主类名Activity

二.python-appium启动app

1.appium启动一加计算器相关参数:

d = {}
d['platformName'] = 'Android'
d['deviceName'] = udid #填写你的设备id,adb devices显示的那个
d['appPackage'] = 'com.oneplus.calculator'
d['appActivity'] = 'com.oneplus.calculator.Calculator'
subprocess.Popen('appium -p 4723 -bp 5723',shell=True)

端口可以根据自己的需求进行更改,-bp自己领悟是啥,这里不教。

import subprocess
from appium import webdriver
subprocess.Popen('appium -p 4723 -bp 5723',shell=True)  
d = {}
d['platformName'] = 'Android'
d['deviceName'] = udid #填写你的设备id,adb devices显示的那个
d['appPackage'] = 'com.oneplus.calculator'
d['appActivity'] = 'com.oneplus.calculator.Calculator'
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',d)

2.windows查看端口

例子

netstat -ano | findstr 4723  #查询端口号1111的进程信息,从中可以获得pid

启动模拟器或手机,访问服务监听的那个端口:

webdriver.Remote('http://127.0.0.1:4723/wd/hub',dic)  #dic是模拟器或手机的设备信息和app信息
#根据pid查询进程信息,第一列就是进程名称
tasklist | findstr 2472
#根据pid杀死进程
taskkill /pid 2472 -t -f  #2472是pid

我们启动一下一加计算器

python-windows命令行启动appium及杀掉对应接口进程_类名

看到200,则是启动成功,这时候我们去查看端口

python-windows命令行启动appium及杀掉对应接口进程_python_02

三.windows杀掉对应进程

杀死上述的4723端口

其实很简单,我们获取控制台输出的第一行,也就是带有LISTENING的这一行显示的PID号,对他进行处理拿到PID号,再进行taskkill即可

def killAppiumPid():
    #windows写法如下
    appium_port = 4723
    print(appium_port)
    cmd_find = 'netstat -aon | findstr %s' % appium_port
    print(cmd_find)

    result = os.popen(cmd_find)
    text = result.read()
    print("result:", text)
    if text != "":
        pid = text.split("LISTENING")[1].strip()[0:5]
        print(f"--------------{pid}------------------")

        # 执行被占用端口的pid
        cmd_kill = 'taskkill -f -pid %s' % pid
        print(cmd_kill)
        subprocess.call('taskkill /T /F /PID %s' % pid, shell=True)
        print("apppium-server 进程已杀掉")
    else:
        print("appiun-server 端口不存在")

运行killAppiumPid函数

python-windows命令行启动appium及杀掉对应接口进程_python_03

python-windows命令行启动appium及杀掉对应接口进程_命令行_04

如上图所示LISTENING已经被杀掉了。


标签:appium,python,cmd,pid,4723,windows
From: https://blog.51cto.com/u_15800928/6952327

相关文章

  • python面试题
    基础篇1.为什么学习PythonPython语言简单易懂,上手容易,随着AI风潮,越来越火2.解释型和编译型语言的区别编译型语言:把做好的源程序全部编译成二进制的可运行程序。然后,可直接运行这个程序。如:C,C++解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束!如:Python,(Java有些......
  • python中的注释noqa: F401
    在Python中,"noqa:F401"是一个特殊的注释指示。它主要用于在静态代码检查工具(例如Flake8)运行时,告知工具忽略特定的"F401"错误。"F401"是Flake8静态代码检查工具中的一种错误代码。具体来说,它表示"moduleimportedbutunused",即导入了模块但未在代码中使用。通常情况下,代......
  • Python 导出传感器数据到 .csv 文件
    导出传感器的数据一共分为两步:构建数据结构;导出数据到.csv文件。1.构建数据结构一般来说,传感器采集的数据为时间序列数据。需要导出的数据一般为:times=[t1,t2,t3...tn]value_A=[a1,a2,a3...an]value_B=[b1,b2,b3...bn]value_C=[c1,c2,c3...cn......
  • 使用windows访问另一台windows中的vmware虚拟机
    使用windows访问另一台windows中的vmware虚拟机一、场景描述在平常的学习中,当我们的设备较多且都为windows设备时,通常会遇到在一台windows中需要访问另一台windows上的虚拟机,需求如图:二、问题分析首先我们的两台windows之间是可以正常通信的windows与vm是可以正常通信的......
  • 快餐数据分析--Python数据分析实例
    1、读取数据importpandasaspddf=pd.read_csv('快餐数据.tsv',sep='\t')print(df)2、查看基本信息查看前五条数据df.head()查看整体信息df.info()可以看到,一共有4622条数据,只有choice_description列有缺失值,item_price为object类型是因为价格前面有$符号。打印列名......
  • Python绘制多种形式的条形图(柱状图)
    绘图前的准备因为涉及到中文显示,所以需要用两行代码解决中文乱码问题importnumpyasnpfrommatplotlibimportpyplotaspltplt.rcParams['font.sans-serif']=[u'SimHei']#SimHei就是中文字体#因为设置了中文后,负号就乱码了,所以还要设置负号的编码plt.rcParams['axes.......
  • python3.13是否移除了GIL的限制
     近日看到新闻:https://baijiahao.baidu.com/s?id=1773013936355276204&wfr=spider&for=pchttps://www.thepaper.cn/newsDetail_forward_24052522?commTag=true         ==================================================  乍一看好像说的是Pytho......
  • Ubuntu 更新后出现多个 Python 版本
    电脑本来只有一个Python3.10,可能是由于系统升级的原因,发现电脑多了一个Python3.11版本,这带来了好多麻烦,比如我很多软件包都安装在python3.10中,但是命令行输入pip调用的是python3.11的,并且之前创建的虚拟环境感觉也不太正常了。我决定删除旧版本Pythonpython3.10-m......
  • Windows\Linux安装docker
    Docker架构Docker 包括三个基本概念:镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和......
  • 18.python打包win32print时报错,说找不到该模块
    相关插件自己提前安装好。代码:1#encoding:utf-823fromtkinterimport*4fromtkinterimportmessagebox5importwin32print6importtime7fromtkinterimportscrolledtext89#控制输入框只能输入数字且小于8位数10defvalidate_op(in......