NodeJS 获取“SyntaxError:使用sauce-connect运行wdio时出现意外的保留字

laik7k3q  于 2023-08-04  发布在  Node.js
关注(0)|答案(1)|浏览(95)

我已经在这个仓库https://github.com/gkostov/wdio-test中设置了一个带有WebdriverIO和SauceConnect的裸测试用例,但是当运行它时失败了

{
          "message": "Uncaught SyntaxError: Unexpected reserved word",
          "filename": "http://192.168.1.51:61964/@wdio/browser-runner/setup",
          "error": "SyntaxError: Unexpected reserved word"
 }

字符串
以下是执行日志https://app.eu-central-1.saucelabs.com/tests/f48c163a8fca4f80b6eb92c17065039c
package.json

{
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@wdio/browser-runner": "^8.11.2",
    "@wdio/cli": "^8.11.2",
    "@wdio/sauce-service": "^8.11.2",
    "webdriverio": "^8.11.2"
  }
}


wdio.conf.js

module.exports.config = {
    // ...
    runner: 'browser',
    specs: ['./test/index.js'],
    user: process.env.SAUCE_USERNAME,
    key: process.env.SAUCE_ACCESS_KEY,
    region: 'eu',
    services: [
        ['sauce', {
            sauceConnect: true,
            sauceConnectOpts: {
                // ...
            }
        }]
    ],
    capabilities: [{
        browserName: 'chrome',
        platformName: 'Windows 10',
        browserVersion: '75'
    }],
    logLevel: 'trace',
};


我在和

# > SAUCE_USERNAME=my_name SAUCE_ACCESS_KEY=my_key npx wdio


测试文件中没有代码-我一直在删除那里的行(假设我做错了什么,比如不支持的语法等),直到我意识到我的测试代码甚至没有执行。这就是为什么我设置测试仓库来尝试一个仍然显示错误的最小案例。
在某些时候,我认为这可能是因为我使用的是最新的webdriverio,所以它可能需要运行一个“模块”类型的项目。因此,我将"type": "module"添加到package.json,并将wdio.conf.js转换为ES6。但它失败了完全相同的错误。
我试着查找示例,但只找到使用8之前版本的示例(8中有重大更改)。

vs3odd8k

vs3odd8k1#

它碰巧是所请求的浏览器环境的旧版本(本例中为Chrome 75),其中ES6关键字不可用。在一个更现代的版本上运行这个程序可以像预期的那样工作。

相关问题