首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Windows上通过eggPlant执行shell命令?

如何在Windows上通过eggPlant执行shell命令?
EN

Stack Overflow用户
提问于 2014-01-29 06:39:58
回答 1查看 2.9K关注 0票数 0

我正在为一个Android应用程序进行自动化测试。我目前正在为安卓系统使用eggPlant。我的现状摘要:

  • 我成功地在一个运行eggOn并连接到eggPlant功能的Android设备上运行测试。
  • eggPlant功能正在Windows7Pro (SP1,64位)机器上运行.
  • 我有大约50个手动功能测试,目前需要自动化;其中许多测试除了eggPlant自动化之外,还需要一些亚行shell脚本。

eggPlant网站上的文档(12)讨论了eggPlant在本地shell上运行命令的能力。示例(在编写本报告时)是针对Mac的。我尝试了对这些示例进行各种修改,以使它们在Windows上运行,例如:

例如1

代码语言:javascript
复制
put shell("dir")

例如2

代码语言:javascript
复制
set the shellCommand to "ShellExecute"
shell "example.bat" //where example.bat contains "dir"

例如3

代码语言:javascript
复制
shell "C:\Windows\system32\cmd.exe /c dir" 

我的最终目标是在Windows上运行亚行命令。但我所面临的问题是:

  • 无声的失败,没有任何“原因”
  • 无法观察命令的输出

我该怎么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-29 07:13:16

我能够将此与TestPlant支持结合使用。

  • Windows + eggPlant没有读取控制台输出的能力。您需要将输出转储到文件中,然后将其读回。
  • 首先使一个处理程序(或简单的词,函数)如下所示。
  • 根据您的Windows系统修改路径sdkPath

在本例中,我希望运行adb shell "df | grep data | awk '{print $4}'",它将基本上打印出我的安卓设备的/data文件夹中的空闲空间。

由于我的代码有引号,所以我必须将代码包含在<<>>中。

代码语言:javascript
复制
to adb
    set command to <<shell "df | grep data  | awk '{print $4}'">>
    put "D:\adt-bundle\sdk\platform-tools" into sdkPath 
    set cmd to " /c " && sdkPath & "\adb.exe" && command && " > C:\adbOutput.txt"
    put cmd
    shell "C:\Windows\system32\cmd.exe", cmd
end adb

变量cmd的值扩展为/c D:\adt-bundle\sdk\platform-tools\adb.exe shell "df | grep data | awk '{print $4}'" > C:\adbOutput.txt

最终执行的内容相当于

代码语言:javascript
复制
cmd /c D:\adt-bundle\sdk\platform-tools\adb.exe shell "df | grep data  | awk '{print $4}'"  > C:\adbOutput.txt

显然,如果我想让adb处理程序接受参数,我会向adb处理程序添加一条Params cmd行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21423866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档