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

简介: 文章目录windows命令行启动appium及杀掉对应接口进程一.环境配置1.安装命令行版appium2.安装appium-doctor检测3.python安装Appium-Python-Client:4.定位uiautomatorviewer.bat5.查看主包名主类名Activity二.python-appium启动app1.appium启动一加计算器相关参数:2.windows查看端口三.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

3.python安装Appium-Python-Client:

pip install Appium-Python-Client

验证:cmd输入 appium -v

4.定位uiautomatorviewer.bat

使用定位工具uiautomatorviewer.bat,如果遇到报错请看我这篇博客


编写一个uiautomatorview截屏获取.uix工具_梦无矶的博客-CSDN博客


也可以使用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'

端口可以根据自己的需求进行更改,-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

我们启动一下一加计算器

image.png

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

image.png

三.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函数

image.png

image.png

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


相关文章
|
4天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
4天前
|
存储 缓存 JavaScript
python实战篇:利用request库打造自己的翻译接口
python实战篇:利用request库打造自己的翻译接口
39 1
python实战篇:利用request库打造自己的翻译接口
|
4天前
|
Web App开发 监控 Unix
python 通过进程名查状态
【4月更文挑战第2天】
|
4天前
|
SQL API Python
Python DB API下规范下cursor对象常用接口
Python DB API下规范下cursor对象常用接口。
22 4
|
2天前
|
数据采集 Java 开发工具
一文2500字从0到1教你搭建Android自动化python+appium环境
一文2500字从0到1教你搭建Android自动化python+appium环境
一文2500字从0到1教你搭建Android自动化python+appium环境
|
2天前
|
Java 测试技术 Python
Python的多线程允许在同一进程中并发执行任务
【5月更文挑战第17天】Python的多线程允许在同一进程中并发执行任务。示例1展示了创建5个线程打印"Hello World",每个线程调用同一函数并使用`join()`等待所有线程完成。示例2使用`ThreadPoolExecutor`下载网页,创建线程池处理多个URL,打印出每个网页的大小。Python多线程还可用于线程间通信和同步,如使用Queue和Lock。
16 1
|
3天前
|
数据处理 Python
Python并发编程:实现高效的多线程与多进程
Python作为一种高级编程语言,提供了强大的并发编程能力,通过多线程和多进程技术,可以实现程序的并发执行,提升系统的性能和响应速度。本文将介绍Python中多线程和多进程的基本概念,以及如何利用它们实现高效的并发编程,解决实际开发中的并发性问题。
|
4天前
|
监控 PHP Python
1688快速获取整店铺列表 采集接口php Python
在电子商务的浪潮中,1688平台作为中国领先的批发交易平台,为广大商家提供了一个展示和销售商品的广阔舞台;然而,要在众多店铺中脱颖而出,快速获取商品列表并进行有效营销是关键。
|
4天前
|
监控 Python
python过滤指定进程
python过滤指定进程
15 1
|
4天前
|
运维 监控 Ubuntu
Python实现ubuntu系统进程内存监控
Python实现ubuntu系统进程内存监控
17 1