简体   繁体   English

尝试运行Selenium Webdriver(WebdriverJS)的示例测试时出错

[英]Getting Error while trying to run example test of Selenium Webdriver (WebdriverJS)

I am trying to run example test in file google_search_test.js located at \\node_modules\\selenium-webdriver\\example . 我正在尝试在位于\\node_modules\\selenium-webdriver\\example文件google_search_test.js运行示例测试。 I am using WebdriverJS and only installed the selenium-webdriver NPM package in my system. 我正在使用WebdriverJS并且只在我的系统中安装了selenium-webdriver NPM软件包。

I have moved to that path location in command prompt and ran the following command: node google_search_test.js 我已在命令提示符下移动到该路径位置并运行以下命令: node google_search_test.js

I received the following error: 我收到以下错误:

在此输入图像描述

Error Description: 错误描述:

Path\node_modules\selenium-webdriver\example>node google_search_test.js

Path\node_modules\selenium-webdriver\testing\index.js:184
exports.describe.skip = global.describe.skip;
                                       ^
TypeError: Cannot read property 'skip' of undefined
    at Object.<anonymous> (C:\Users\kanasra\Desktop\Jaguars\Automation Testing\N
odeJs\node_modules\selenium-webdriver\testing\index.js:184:40)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (C:\Users\kanasra\Desktop\Jaguars\Automation Testing\N
odeJs\node_modules\selenium-webdriver\example\google_search_test.js:24:12)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)

WebDriverJS (distributed as the npm package selenium-webdriver ) uses Mocha as its test driver. WebDriverJS (以npm包selenium-webdriver分发)使用Mocha作为其测试驱动程序。 Assuming you are in the directory where node_modules is located, you must run the test in Mocha: 假设您位于node_modules所在的目录中,则必须在Mocha中运行测试:

mocha -t 5000 node_modules/selenium-webdriver/example/google_search_test.js

The above will work if you have Mocha installed globally (with npm -g install mocha ). 如果您在全局npm -g install mocha (使用npm -g install mocha ),则上述操作将起作用。 If you install it locally (with npm install mocha ), you have to give the path to the local binary. 如果您在本地安装它(使用npm install mocha ),则必须提供本地二进制文件的路径。 On Unix systems you'd do: 在Unix系统上你会做:

node_modules/.bin/mocha -t 5000 node_modules/selenium-webdriver/example/google_search_test.js

I don't know where npm puts local binaries on Windows systems. 我不知道npm在Windows系统上放置本地二进制文件的位置。

I suggest using -t 5000 to increase the timeout from the default 2 seconds to 5 seconds. 我建议使用-t 5000将超时从默认的2秒增加到5秒。 On my system, the default timeout is too short and the test fails in the before hook while waiting for Firefox to start. 在我的系统上,默认超时太短,并且在等待Firefox启动时, before挂钩中测试失败。

If you wonder why selenium-webdriver does not just list Mocha as a dependency this is because it is quite possible to use this package without using Mocha. 如果你想知道为什么selenium-webdriver不仅仅将Mocha列为依赖项,那是因为很有可能在不使用Mocha的情况下使用这个包。 So it is up to users of the package to install Mocha themselves, if they want to use it. 因此,如果他们想要使用它,则由软件包的用户自行安装Mocha。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM