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

2022-06-30 18:53:23 浏览数 (1)

目录

掉进游戏进程appium及杀掉进程

一.环境配置

1.安装书签appium

2.安装appium-doctor检测

3.python安装Appium-Python-Client:

4.定位uiautomatorviewer.bat

5.查看主包名主类名Activity

二.python-appium启动app

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

2.windows查看端口

三.windows杀掉进程

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

一.环境配置

1.安装命令行版appium

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

代码语言:javascript复制
 npm --registry http://registry.npm.taobao.org install appium -g

2.安装appium-doctor检测

代码语言:javascript复制
 npm --registry http://registry.npm.taobao.org install appium-doctor -g

验证:cmd输入appium-doctor

3.python安装Appium-Python-Client:

代码语言:javascript复制
 pip install Appium-Python-Client

验证:cmd输入 appium -v

4.定位uiautomatorviewer.bat

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

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

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

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

安装uiautomator2:

代码语言:javascript复制
 pip install -U uiautomator2

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

代码语言:javascript复制
 python -m uiautomator2 init

安装定位工具weditor:

代码语言:javascript复制
 pip install -U weditor

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

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

init出错的话可以看我这篇博客:博客名:梦无矶

https://blog.csdn.net/qq_46158060/article/details/110239364

python uiautomator2编译平板语言工具并切换打包exe可执行文件

5.查看主包名主类名Activity

可以查看我这篇博客:博客名:梦无矶

https://blog.csdn.net/qq_46158060/article/details/114821060

移动端测试获取主包名主类名Activity

二.python-appium启动app

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

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

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

代码语言:javascript复制
 import subprocess
 from appium import webdriver
 subprocess.Popen('appium -p 4723 -bp 5723',shell=True)  
 d = {}
 d['platformName'] = 'Android'
 d['deviceName'] = udid
 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查看端口

例子

代码语言:javascript复制
 netstat -ano | findstr 4723  #查询端口号1111的进程信息,从中可以获得pid

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

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

我们启动一下一加计算器

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

三.windows杀掉对应进程

杀死上述的4723端口

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

代码语言:javascript复制
 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函数

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

0 人点赞