WebDrivero selenium单机版';更新驱动程序版本

WebDrivero selenium单机版';更新驱动程序版本,selenium,selenium-chromedriver,webdriver-io,Selenium,Selenium Chromedriver,Webdriver Io,我用WebdriverIO 6、Typescript和cucumber制作了一些演示项目。 我已将其放在配置文件wdio.CHROME.conf.ts中: import { config } from './wdio.conf'; import { CHROME_ARGS } from './chrome-args'; const seleniumConfig = { version: '3.141.59', drivers: { chrome: { version: '87.0.42

我用WebdriverIO 6、Typescript和cucumber制作了一些演示项目。 我已将其放在配置文件wdio.CHROME.conf.ts中:

import { config } from './wdio.conf';
import { CHROME_ARGS } from './chrome-args';

const seleniumConfig = {
  version: '3.141.59',
  drivers: { chrome: { version: '87.0.4280.20' } },
};

const browserOptions: WebDriver.ChromeOptions & { args: Array<string> } = {
args: [
...CHROME_ARGS,
...(process.argv.includes('--headless') ? ['--headless', '--no-sandbox'] : []),
'--window-size=1920,1080',
 ],
};

const seleniumOpts = config.services?.find(
  (service) => Array.isArray(service) && service[0] === 'selenium-standalone'
) as SeleniumStandaloneOptions;

seleniumOpts.args = { ...seleniumConfig };
seleniumOpts.installArgs = { ...seleniumConfig };

console.log(seleniumOpts);

const browserConfig: WebdriverIO.Config = {
...config,
capabilities: [
{
  browserName: 'chrome',
  'goog:chromeOptions': browserOptions,
  },
 ],
};

exports.config = browserConfig;
但是在我安装了npm并尝试运行测试之后,我得到了以下错误:

[0-0]  Error:  Failed to create session.
session not created: This version of ChromeDriver only supports Chrome version 85
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'LAPTOP-QUTK6LBV', ip: '192.168.1.8', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_271'
Driver info: driver.version: unknown  
我尝试将wdio.CHROME.conf.ts中的驱动程序版本更新为87,但没有任何帮助。
它只是没有下载chrome驱动程序的87版,而是停留在85版。
当我查看
节点\u modules\selenium standalone\.selenium\chromedriver
时,只有版本85,它不会下载版本87(85是我在配置文件中拥有的早期版本)。
在我的机器上,chrome浏览器版本是87,它需要相同版本的chrome驱动程序才能工作(据我了解:D)
我尝试删除
node\u模块
并从头开始,但没有成功。
这是指向我的回购的链接
有人能帮忙吗:)
谢谢

我替换了这些行:

const seleniumOpts = config.services?.find(
  (service) => Array.isArray(service) && service[0] === 'selenium-standalone'
) as SeleniumStandaloneOptions;

seleniumOpts.args = { ...seleniumConfig };
seleniumOpts.installArgs = { ...seleniumConfig };
用这些

config.services = [
  [
    'selenium-standalone',
    {
      logs: 'logs',
      args: seleniumConfig,
      installArgs: seleniumConfig,
    },
  ],
];
它成功了。以前的代码似乎没有很好地生成花括号。
参数日志、args、installArgs应该在关节花括号中,而不是在单独的花括号中。
它产生了以下结果:

  [
    'selenium-standalone',
    { logs: 'logs' },
                         args: { version: '3.141.59', drivers: [Object] },
    installArgs: { version: '3.141.59', drivers: [Object] }
  ]
]
本来应该是这样的

[
  [
    'selenium-standalone',
    { logs: 'logs', args: [Object], installArgs: [Object] }
  ]
]

我看到您试图使用我的示例,因为不确定哪里出了问题,可能在复制粘贴时出现了一些打字错误,请确保使用最新版本的@wdio,删除包锁json和节点模块,重新安装包并重试again@MikeG. 我修正了与你的例子稍有不同的形式。你会换一种方式吗?它是这样工作的。
[
  [
    'selenium-standalone',
    { logs: 'logs', args: [Object], installArgs: [Object] }
  ]
]