如何使用ruby以编程方式在mac中启动Appium服务器?

时间:2018-05-25 04:56:26

标签: appium

我有没有办法在代码中启动appium?我正在尝试自动化iOS应用程序,因为appium只需要在我的测试运行时运行它对我保持appium服务器始终没有意义。

现在我正在使用Appium GUI来启动服务器。在将WebDriver连接到它之前,可以在Before方法中添加一些内容来启动appium服务器,然后在After方法中终止它。

请使用Ruby帮我在Mac上完成。

Appium服务器版本:1.8.0 Mac OS:10.13 节点:6.11 Ruby:2.5.1

提前致谢,

2 个答案:

答案 0 :(得分:1)

这是编写Ruby的BDD框架的解决方案。将这两个钩子粘贴到hooks.rb文件

启动服务器:

AfterConfiguration do |config|
pid = spawn ‘appium --address 0.0.0.0 --port 4723’
Process.detach(pid)
sleep(10)
end

配置Cucumber后将运行的AfterConfiguration挂钩。在加载支持之后但在加载功能之前,此挂钩仅运行一次。所以启动Appium服务器很有用。

停止服务器:

at_exit do
exec ‘/usr/bin/killall -KILL node’
end
执行完所有要素文件后,将执行

at_exit。因此,在此挂钩内执行exec '/usr/bin/killall -KILL node'命令会在最后杀死服务器

答案 1 :(得分:0)

从Ruby程序内部调用shell命令。

`/Applications/Appium.app/Contents/Resources/node_modules/appium/bin/appium.js --address 127.0.0.1 --chromedriver-port 9516 --bootstrap-port 4725 --selendroid-port 8082 --no-reset --local-timezone`

相应地更改路径或将appium应用程序复制到“应用程序”文件夹