如何在 Python 中以编程方式启动 appium 服务器

How to start appium server programmatically in Python

我想使用 Appium 和 python 编写一个 android 测试框架。 Appium link: http://appium.io/

所以在用 npm 安装 appium 之后,要启动它的服务器,我需要在 terminal.It 中执行命令 "appium" 来启动服务器。 启动后看起来像这样:

    ranits-MacBook-Pro:$ appium
[Appium] Welcome to Appium v1.8.1
[Appium] Appium REST http interface listener started on 0.0.0.0:4723

但是我需要使用 python?

从我的代码启动 appium 服务器

有什么帮助吗?

要以编程方式启动 appium 服务器(Python 方式),您只需执行以下代码

import OS
os.System("appium")

这将在后端启动 appium 服务器。启动 appium 服务器的其他方法是

import os
os.system(/Path/of/ur/main.js)

在py文件中输入这些代码并执行..服务器将启动

首先,最好手动检查 shell 上的 "appium" 命令是否启动了 appium 服务器(在您的情况下似乎工作正常)。在我的例子中,它不是安装 Appium 桌面版本。发布我为解决此问题所做的详细信息,以防对某人有所帮助:

  1. 已安装 npm(作为 node 安装的一部分,MSI 在 nodejs.org 可用)
  2. npm install -g appium

现在回答你的主要问题,下面是我在我的 Python 脚本中用来在新的 window 上启动 appium 服务器的内容,以便它与脚本执行的其余部分分开运行:

import os
os.system("start /B start cmd.exe @cmd /k appium") 

如果您想更改 appium 服务器的端口(例如更改为 4728)(可能是当您有多个服务器用于多个设备时),您可以使用以下内容:

os.system("start /B start cmd.exe @cmd /k appium -a 127.0.0.1 -p 4728")

Python 客户端实际上带有一个名为 AppiumService 的方便模块,您可以使用它以编程方式 start/stop Appium 服务器。

from appium.webdriver.appium_service import AppiumService

appium_service = AppiumService()

开始,

self.appium_service.start()

停止,

self.appium_service.stop()

字面上就是这样,我相信这是 start/stop Appium 服务器的一种比在上述解决方案中发出 OS 系统命令更简洁的方法。