webdriver-manager\selenium\update-config.json
代表"最后"和#34;所有" JSON参数,我有绝对路径。我如何设置它们的相对路径?
我试过了#34; .. \"和"。\"但它不起作用。有什么想法吗?
答案 0 :(得分:3)
好吧,这就是update-config.json
的设计,它的用途以及它的原因。
当用户呼叫webdriver-manager update
时,会下载并重命名二进制文件以包含版本号。这允许用户在其输出目录中具有多个版本的二进制文件。以前在2015年左右,该文件将被下载,ChromeDriver名称的未压缩文件将只是chromedriver
(或Windows上的chromedriver.exe
)。现在,我们重命名为包含该版本。因此,如果我们下载了2.28版本,则未压缩文件将为chromedriver_2.28
以前(〜2015年),local
和directConnect
的驱动程序提供程序会对文件名做出假设。因此,对于我们之前的示例,它会假定文件是chromedriver
(或Windows上的chromedriver.exe
)。
添加版本号有几个问题:
所以会发生的事情是我们会跟踪最新的"版本已下载。下载由webdriver-manager下载的最新版本将由Protractor使用。 "所有" field只是下载的版本列表。我相信当我们打电话给#34; status"使用这些值。
显然,如果删除update-config.json
但仍有二进制文件,Protractor将找不到update-config.json
。因此,它无法投放local
或directConnect
并会投诉/要求运行webdriver-manager update
。
之前的评论询问有关存储此值的信息。这里的想法是,就像二进制文件和缓存文件一样,这个文件是临时的,不应该存储在git中。我实际上不理解用户希望拥有update-config.json
的相对路径的用例,但如果您需要通过代码引用它,那么我会做类似lib/driverProviders/local.ts#L43的事情。
答案 1 :(得分:0)
您可以尝试像这样更新它,它肯定会在node_modules / protractor中更新
$./node_modules/protractor/bin/webdriver-manager update