javascript 使用Firefox测试时出现二进制位置错误

ru9i0ody  于 2023-05-05  发布在  Java
关注(0)|答案(1)|浏览(153)

我有一个github.js文件,里面有一些测试:

module.exports = {
    const homeToLoginPage = () => {
      client
      .url(homeURL)
      ...
    };

    const incorrectLoginFlow = () => {
      client
      .waitForElementVisible(selectors.loginInputField, timeout)
      ...
    };

    homeToLoginPage();
    incorrectLoginFlow();
  }
}

当我使用Google Chrome npm test -- -t tests/github.js运行它时,一切正常,但当我尝试使用Firefox npm test -- -t tests/github.js --env firefox运行它时,我收到以下错误消息:“* 预期的浏览器二进制文件位置,但无法在默认位置找到二进制文件,未提供'moz:firefoxOptions.binary'功能,并且未在命令行上设置二进制标志 *"。
我已经检查了firefox.exe位于那里:C:\Program Files\Mozilla Firefox,这应该是Windows的默认设置。
还有相关的night.conf.js文件:

module.exports = {
  src_folders: ['tests'],
  webdriver: {
      start_process: true,
      port: 4444
  },
  test_settings: {
      default: {
          desiredCapabilities: {
              browserName: 'chrome'
          },
          webdriver: { server_path: require('chromedriver').path },
          
          'screenshots': {
            'enabled': true,
            'on_failure': true,
            'path': './screens'
          },

          'test_workers': {
            'enabled': false,
            'workers': 'auto'
          },
      },
      firefox: {
          desiredCapabilities: {
              browserName: 'firefox'
          },
          webdriver: { server_path: require('geckodriver').path }
      }
  }
};

我搜索了很多,发现有人试图改变一些火狐功能在moz:firefoxOptions注意到路径firefox.exe手动,但我找不到我可以这样做。请给予一些建议如何在Firefox浏览器中运行测试。

yhuiod9q

yhuiod9q1#

找到这个解决方案:将值添加到系统变量PATH中。Firefox默认文件夹和geckodriver文件夹也被添加到PATH中。

相关问题