Windows从web下载文件的几种方式

2021-06-09 02:04

阅读:366

标签:包括   其他   文件下载   jenkins   任务   system   .com   命令执行   完整   

最近搞app自动化测试,需要自动从网页上下载apk用于测试,顺便学习了几种从web下载文件的方式。

一、PowerShell DownloadFile 命令

PowerShell 是一种winodws原生的脚本语言,使用很方便,可以实现很多复杂的功能。

首先启动PowerShell,可以在cmd里执行 start powershell,也可以按住shift建右击选择打开powershell

技术图片

启动powershell后输入如下命令:

$client = new-object System.Net.WebClient
$client.DownloadFile(‘url‘, ‘file‘)

 这里的url是下载文件的地址,file是文件保存路径(包括文件名)。如果出现报错如下:使用“2”个参数调用“DownloadFile”时发生异常:“在 WebClient 请求期间发生异常。”

技术图片

就是文件保存路径没有写完整,一定要包括文件名。如:D:\app-release.apk

在Jenkins build step 中执行 PowerShell 命令

当然这是手动在powershell命令行执行的,并没有实现自动化。我们需要把它放到Jenkins中去实现。

在Jenkins中执行powershell命令需要先安装相应插件如下:

技术图片

安装完重启,就可以在任务构建中添加执行powershell命令的操作:

技术图片

填入上面的两条命令,就可以执行文件下载操作了。

多个build step

如果有多个step呢?如果想要在下载文件失败后进行其他操作呢?

上面的操作,无论怎么执行 PowerShell 命令,build step 的结束状态都是 "成功"(包括一些命令执行失败的情况)。这是因为PowerShell 执行的过程中没有执行 exit 调用,Jenkins 无法判断执行的命令是否成功退出,所以就默认是成功的了。实际上,当命令执行失败或是满足一些条件时,我们希望 build step 的结束状态是 "失败",后续的 build step 根据前面 step 的结束状态决定是否执行。

这就需要在PowerShell 命令执行后执行 exit 调用:判断脚本执行成功时调用 exit 0;判断脚本执行失败时调用 exit 1

也就是执行三条命令,例如:

$client = new-object System.Net.WebClient
$client.DownloadFile(‘url‘, ‘file‘)
exit 1

二、python实现文件下载

未完待续

Windows从web下载文件的几种方式

标签:包括   其他   文件下载   jenkins   任务   system   .com   命令执行   完整   

原文地址:https://www.cnblogs.com/Dahlia/p/10670455.html

上一篇:C# async await的使用

下一篇:C#操作句柄


评论


亲,登录后才可以留言!