目前,我在Windows7中为基于NodeJS的火狐测试做了以下设置
Firefox 61.0.1
"geckodriver": "^1.11.0",
"selenium-webdriver": "^4.0.0-alpha.1"但是,当我执行命令时
let driver = await new webDr.Builder().withCapabilities(webDr.Capabilities.firefox()).build(); 我知道错误了
SessionNotCreatedError:预期的浏览器二进制位置,但无法在默认位置找到二进制文件,没有提供'moz:firefoxOptions.binary‘功能,命令行上也没有设置二进制标志
我怀疑这是因为我无法用大多数教程设置窗口中的路径变量。就像这个。
“将chromedriver和geckodriver的位置添加到系统路径变量中。这应该是从硬盘根目录到包含驱动程序的目录的绝对路径。例如,如果我们使用的是Mac OS X机器,我们的用户名是bob,并且将驱动程序放在主文件夹的根目录中,路径为/ user /bob。”
然而,我们公司的笔记本电脑已经限制了修改以下内容:系统文件夹,注册表,不幸的是。路径变量
如何在不修改路径变量的情况下指向Firefox二进制文件?
如果我换了火狐司机,我还会有同样的麻烦吗?
更新:
我根据firefox文件上的文档尝试了以下内容:
const firefox = require('selenium-webdriver/firefox');
let options = new firefox.Options().setBinary(os.homedir() + '/AppData/Local/Mozilla Firefox');
let driver = new webDr.Builder()
.forBrowser('firefox').setFirefoxOptions(options).build();然而,现在的错误是..。
"SessionNotCreatedError:未能启动浏览器(路径):权限被拒绝“
我怎么才能避开这一切?
发布于 2018-07-20 17:22:11
我在选项中找到了答案。你应该指向firefox.exe本身,而不仅仅是路径
const firefox = require('selenium-webdriver/firefox');
let options = new firefox.Options().setBinary(os.homedir() + '/AppData/Local/Mozilla Firefox/firefox.exe');
let driver = new webDr.Builder()
.forBrowser('firefox').setFirefoxOptions(options).build();https://sqa.stackexchange.com/questions/34851
复制相似问题