Appium:App Path仅适用于直接链接?

时间:2017-01-16 06:39:14

标签: appium

我正在使用Laravel php和Appium。

我希望Appium从某个返回下载文件的路由下载.apk / .ipa文件。

  

Appium中的App路径:localhost / downloadApp

public function downloadApp(Request $request) {
...
return response()->download($path);
}

如果我尝试这种方式,它就不起作用,我收到错误" [支持]错误:Plist文件不存在:' ... / Info.plist& #34 ;.我不知道为什么,因为如果我在浏览器中调用localhost / downloadApp,它会下载文件。

但如果我在Appium中使用直接链接(http://localhost/uploads/HelloWorld.ipa),它就可以了。

2 个答案:

答案 0 :(得分:0)

路径必须指向实际文件。

您可以从代码中下载文件本身,但需要确保:

  1. 在设置驱动程序
  2. 之前,文件已完成下载
  3. 下载文件的路径是正确的,请确保文件名和下载位置与您在功能中设置的相同(" localhost / downloadApp"似乎没有喜欢正确的下载路径)

答案 1 :(得分:-1)

我有同样的问题,我只使用return redirect ($file_path);,对于apk文件来说效果很好。为了安全起见,我还使用POST方法开始下载。这是我的代码:

//blade code :

    <li class="nav-item">
        <form method="POST" action="{{url('/files/download')}}">
        {{ csrf_field()}}
        <button class="btn btn-primary fa fa-download"> download </button>
        </form>
    </li>


    //Route code : 
    Route::post('/files/download', 'FilesController@download');


    //Controller code : 

    <?php

    namespace App\Http\Controllers;
    use Illuminate\Support\Facades\File;
    use App\Http\Controllers\Controller;  


    class FilesController extends Controller
    {

     public function download($file)
        {   
            $file_path = 'your folder path/file.apk';
// if your file in public use $path = "/your folder/file.apk"
// if your file is in out of public you may use two points like that: $path = "../your folder/file.apk" 

        return redirect ($file_path);
        }
    }