【问题标题】:How to kill process in robotframework如何杀死机器人框架中的进程
【发布时间】:2018-04-15 22:13:35
【问题描述】:

我正在尝试杀死机器人框架中的进程,虽然日志说进程已被杀死,但我仍然能够看到进程库调用的命令提示符。

有没有办法在 Suite Teardown 中杀死调用的命令提示符?

*** Settings ***
Library    Process
Suite Setup    Generic Suite Setup
Suite TearDown    Terminate All Processes    kill=True
*** Test Cases ***
login
*** Keywords ***
Generic Suite Setup
    #This is invoking cmd 

    #when i run this , got error as mentioned below 
    Run Process    appium    -p     4723

    Run Process    appium    -p     4750

    #I tried to include cmd , no error but can't see the cmd getting invoked 
    Run Process    cmd    appium    -p     4750

我的python版本:2.7.14 pybot 版本:3.0.2

删除 start"cmd" 后我得到错误

父套件设置失败: WindowsError: [错误2] 系统找不到指定的文件

Appium 路径在环境变量中设置

【问题讨论】:

  • 您是否通过Process Library启动了这些过程?
  • 是的,我正在使用进程库。
  • 对,对不起。我想念你的代码在做什么。你试过Terminate Process这个关键字吗? robotframework.org/robotframework/latest/libraries/… - 好像你有,在Terminate All Processes 下,你能告诉我们吗?
  • 抱歉我没听懂你的问题?我使用了终止进程,它没有工作。
  • 你为什么要启动 cmd 并让 cmd 启动 appium?为什么不直接启动 appium?

标签: python process robotframework


【解决方案1】:

当您使用Start Process 时,您将在命令行中使用的每个参数都必须是机器人中的一个参数。例如,如果你在命令行输入appium -p 4723,那么在机器人中你会这样做:

Start process  appium  -p  4723

(注意:“process”、“appium”、“-p”、“4723”之间有两个空格)

当您执行此操作时,robot 将查看您的 PATH 环境变量中的文件夹,以找到名为“appium”(或 Windows 上的“appium.exe”)的程序。如果您收到错误“找不到指定的文件”,这通常意味着您尝试运行的程序不在 PATH 中的文件夹中。这也可能意味着未安装该程序,或者您拼错了应用名称,但我假设在这种情况下这些都不正确。

最简单的解决方案是找到appium可执行文件的位置,然后使用完整完整的路径作为Run Process的第一个参数(例如:Run Process C:/the/path/to/appium.exe -p 4723

【讨论】:

    猜你喜欢
    • 2014-08-06
    • 1970-01-01
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多