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

Rav*_*gra 6 javascript selenium node.js selenium-webdriver

我试图在google_search_test.js位于的文件中运行示例测试\node_modules\selenium-webdriver\example.我使用的是WebdriverJS,只selenium-webdriver在我的系统中安装了NPM软件包.

我已在命令提示符中移动到该路径位置并运行以下命令: node google_search_test.js

我收到以下错误:

在此输入图像描述

错误描述:

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)
Run Code Online (Sandbox Code Playgroud)

Lou*_*uis 9

WebDriverJS(作为npm包分发selenium-webdriver)使用Mocha作为其测试驱动程序.假设您node_modules位于所在的目录中,则必须在Mocha中运行测试:

mocha -t 5000 node_modules/selenium-webdriver/example/google_search_test.js
Run Code Online (Sandbox Code Playgroud)

如果您在全球范围内安装了Mocha(以及npm -g install mocha),则上述操作将起作用.如果在本地(with npm install mocha)安装它,则必须提供本地二进制文件的路径.在Unix系统上你会做:

node_modules/.bin/mocha -t 5000 node_modules/selenium-webdriver/example/google_search_test.js
Run Code Online (Sandbox Code Playgroud)

我不知道npm在Windows系统上放置本地二进制文件的位置.

我建议使用-t 5000将超时从默认的2秒增加到5秒.在我的系统上,默认超时太短,并且before在等待Firefox启动时测试失败.

如果你想知道为什么selenium-webdriver不将Mocha列为依赖项,这是因为很有可能在不使用Mocha的情况下使用这个包.因此,如果他们想要使用它,则由软件包的用户自行安装Mocha.