【问题标题】:How to start appium server programmatically in Python如何在 Python 中以编程方式启动 appium 服务器
【发布时间】:2019-01-14 23:49:16
【问题描述】:

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

所以在使用 npm 安装 appium 后,要启动它的服务器,我需要在终端中执行命令“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 服务器?

有什么帮助吗?

【问题讨论】:

  • 我们需要更多关于您到底想要做什么的信息
  • @AlImran 我知道 CoC,您能否澄清这与我的评论有何关系?特别是“期望”框中的第一个链接与我链接到的页面相同?
  • 编辑了问题。

标签: python python-3.x appium appium-android python-appium


【解决方案1】:

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

from appium.webdriver.appium_service import AppiumService

appium_service = AppiumService()

开始,

self.appium_service.start()

停下来,

self.appium_service.stop()

字面意思就是这样,我相信这是一种启动/停止 Appium 服务器的更简洁的方法,而不是在上述解决方案中发出 OS 系统命令。

【讨论】:

  • 谢谢@sohum,如何传递端口号?
  • 像这样:self.appium_service.start(args=['-p 1000']),其中-p 是端口标志,1000 是您的端口号。
【解决方案2】:

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

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

现在回答你的主要问题,下面是我在 Python 脚本中用来在新窗口上启动 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")

【讨论】:

    【解决方案3】:

    要以编程方式(Python 方式)启动 appium 服务器,您所要做的就是执行以下代码

    导入操作系统 os.System("appium")

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

    导入操作系统 os.system(/Path/of/ur/main.js)

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

    【讨论】:

      猜你喜欢
      • 2018-10-07
      • 2021-04-13
      • 2019-07-15
      • 2017-10-22
      • 2018-11-04
      • 2018-10-14
      • 2016-04-17
      • 1970-01-01
      • 2020-01-15
      相关资源
      最近更新 更多