使用PHP /终端自动执行iOS测试

时间:2015-03-30 16:24:27

标签: php ios bash shell automation

我正在尝试创建一个测试服务,该服务将从网站运行我的iOS JS测试。例如,我访问我的站点,使用PHP为特定文件夹中的每个.js文件创建链接,然后单击链接以启动测试。当我点击链接时,我使用PHP在机器上运行bash .sh文件。然后.sh文件运行测试。

如果我在本地运行.sh文件,那么效果很好。如果我从我的网站运行它,模拟器打开但应用程序永远不会打开。我收到一条错误消息,指出它试图找到模拟器设备超时。

关于为什么我不能让这个工作的任何想法?

我的php文件包含这一行来运行bash脚本:

$output = "<pre>" . shell_exec('sudo ./hello.sh 2>&1') . "</pre>";

我编辑了我的visudo文件,允许这个hello.sh文件也作为sudo运行,在我做之前我根本无法打开模拟器。

1 个答案:

答案 0 :(得分:0)

首先,你需要在你的sudoers文件中允许这个。

www-data ALL = NOPASSWD: /path/to/script/hello.sh

其中www-data是apache运行的用户。 第二。你需要在shell_exec中拥有完整的路径名。

$output = "<pre>" . shell_exec('sudo /path/to/script/hello.sh 2>&1') . "</pre>";

不确定如何在shell中使用$ PATH变量,因此必须将以下内容添加到hello脚本中:

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
相关问题