gpt4 book ai didi

ruby - 如何使用 watir-webdriver 打开 zip 文件?

转载 作者:行者123 更新时间:2023-11-28 20:40:39 24 4
gpt4 key购买 nike

我的测试套件有一个 cucumber 前端和一个 ruby​​ 后端,在最新版本的 OSX 上运行最新版本的 watir-webdriver 及其依赖项。我的 cucumber 环境设置为在 Firefox 中执行。

我们应用程序的导出功能创建了一个 zip 文件,但为了测试导入功能,我需要该 zip 文件的内容。

我的实际测试需要解压缩该 zip 文件并选择其中的各个文件以用于测试我们的 Web 应用程序的导入功能。

谁能给我指出可以帮助我弄清楚如何编写的引用资料?

最佳答案

根据我的经验,您可以像普通用户一样下载此文件。因此,首先,您只需单击下载按钮或其他任何按钮,然后就可以在任何位置访问该文件并查看其内容。

假设下载默认情况下只是转到您的“下载”文件夹,您可以使用一些简单的代码来选择最近下载的项目:

fn = Dir.glob("~/Downloads/*.zip").max { |a,b| File.ctime(a) <=> File.ctime(b)}

然后只需使用 unzip shell 命令来解压缩文件。当您可以只使用通用 shell 命令时,没有理由在组合中添加另一个 gem。

`unzip #{fn}`

然后,您将再次使用 Dir.glob 来获取解压缩文件夹中所有内容的文件名。假设文件名为“thing.zip”,您可以这样做:

files = Dir.glob("~/Downloads/thing/*")

如果你想将文件直接下载到你的项目文件夹,你可以试试这个。这也可以防止弹出窗口询问您是否真的要保存方便的文件。我认为这仍然有效,但已经有一段时间没有使用了。不过,以上内容确实有效。

profile = Selenium::WebDriver::Firefox::Profile.new    
download_dir = Dir.pwd + "/test_downloads"
profile['browser.download.dir'] = download_dir
profile['browser.helperApps.neverAsk.saveToDisk'] = "application/zip"
b = Watir::Browser.new. :firefox, :profile => profile

关于ruby - 如何使用 watir-webdriver 打开 zip 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34662227/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com