Appium:应用程序路径仅适用于直接链接?

Appium:应用程序路径仅适用于直接链接?,appium,Appium,我正在使用LaravelPHP和Appium 我希望Appium从返回下载文件的特定路径下载.apk/.ipa文件 Appium中的应用程序路径:localhost/downloadApp 如果我尝试这种方式,它将不起作用,我会得到一个错误“[Support]错误:Plist文件不存在:'…/Info.Plist”。我不知道为什么,因为如果我在浏览器中调用localhost/downloadApp,它会下载文件 但是如果我在Appium中使用direct link(),它会工作。路径必须指向实际

我正在使用LaravelPHP和Appium

我希望Appium从返回下载文件的特定路径下载.apk/.ipa文件

Appium中的应用程序路径:localhost/downloadApp

如果我尝试这种方式,它将不起作用,我会得到一个错误“[Support]错误:Plist文件不存在:'…/Info.Plist”。我不知道为什么,因为如果我在浏览器中调用localhost/downloadApp,它会下载文件


但是如果我在Appium中使用direct link(),它会工作。

路径必须指向实际的文件

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

  • 在设置驱动程序之前,文件已完成下载
  • 下载文件的路径正确,请确保文件名和下载位置与功能中设置的相同(“localhost/downloadApp”似乎不是正确的下载路径)

  • 我也有同样的问题,我只是使用
    返回重定向($file\u 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);
            }
        }
    
    //刀片代码:
    
  • {{csrf_field()}} 下载
  • //路线代码: 路由::post('/files/download','FilesController@download'); //控制器代码:
    //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);
            }
        }