Php 如何从Yii网页和Python执行MonkeyRunner
我已经安装了LAMP,Yii框架2,定义了Android SDK路径。调用Python脚本的CallTest.php(使用Yii)代码如下:Php 如何从Yii网页和Python执行MonkeyRunner,php,android,python,yii2,monkeyrunner,Php,Android,Python,Yii2,Monkeyrunner,我已经安装了LAMP,Yii框架2,定义了Android SDK路径。调用Python脚本的CallTest.php(使用Yii)代码如下: $EmuListOnline = Yii::app()->params['pathfilesscript']."ListAVDs-Online.txt"; $UserList = Yii::app()->params['pathfilesscript'].'UserListAVDs.txt'; $ScriptStartTest = Yii::a
$EmuListOnline = Yii::app()->params['pathfilesscript']."ListAVDs-Online.txt";
$UserList = Yii::app()->params['pathfilesscript'].'UserListAVDs.txt';
$ScriptStartTest = Yii::app()->params['pathfilesscript'].'TestAVDs.py';
$DebugLog = Yii::app()->params['pathfilesscript'].'debug.log';
$cmd = 'python '.$ScriptStartTest.' '.$EmuListOnline.' '.$UserList.' > '.$DebugLog.' 2>&1';
$output1 = shell_exec($cmd);
if ($output1) {
echo "Starting<br>";
echo $output1;
} else {
echo "Not Executed";
var_dump($output1); }
下面是TestAVDs.py的代码。我一个接一个地更改shell_exec;在代码上编写路径,但不起作用
for index, line in enumerate(listdevtotest):
emulatorid = listdevtotest[index][0]
deviceid = listdevtotest[index][1]
subprocess.call('monkeyrunner -v ALL Test1.py ' + emulatorid + ' ' + deviceid + ' ' + str(index), shell=True)
从Yii网页执行我的TestAVDs.py的一些想法。谢谢。在调用脚本之前,请使用monkeyrunner的绝对路径或设置path环境变量。例如:
subprocess.call('/path/to/monkeyrunner -v ALL Test1.py ' + emulatorid + ' ' + deviceid + ' ' + str(index), shell=True)
NP我注意到您正在多个设备上运行测试,您应该看看
subprocess.call('/path/to/monkeyrunner -v ALL Test1.py ' + emulatorid + ' ' + deviceid + ' ' + str(index), shell=True)