带有UI的Docker中的Seleniumtesting执行

我试图在TypeError: module.exports.browser.isElementPresent is not a function机器上运行seleniumtesting(Node Js),但它说“ TypeError: module.exports.browser.isElementPresent is not a function ”。

注意:

  • 我可以成功地在我的本地机器上运行这个相同的seleniumtesting
  • 我试图在docker上运行相同的testing,然后我遇到了上述错误

 root@6cd7ab2eb6f7:/usr/src# npm run kongaezv2 npm info it worked if it ends with ok npm info using npm@4.1.2 npm info using node@v7.6.0 npm info lifecycle cerebro@0.0.1~prekongaezv2: cerebro@0.0.1 npm info lifecycle cerebro@0.0.1~kongaezv2: cerebro@0.0.1 > cerebro@0.0.1 kongaezv2 /usr/src > mocha --recursive tests/kongaezv2 -t 9000000 --reporter mochawesome execFile: tests/kongaezv2 execFilename: tests/kongaezv2.json Konga EZ V2 Sanity Test validating pagetitle title = Konga Ez | Home Title = Konga Ez | Home Validation == PASS :: Page :Konga Ez | Home is displayed successfully 1) Log in with Email and Password ready to close browser validating pagetitle title = Konga Ez | Home Title = Konga Ez | Home Validation == PASS :: Page :Konga Ez | Home is displayed successfully 2) Serach for an item ready to close browser validating pagetitle title = Konga Ez | Home Title = Konga Ez | Home Validation == PASS :: Page :Konga Ez | Home is displayed successfully 3) Add an item to cart ready to close browser validating pagetitle title = Konga Ez | Home Title = Konga Ez | Home Validation == PASS :: Page :Konga Ez | Home is displayed successfully 4) Checkout with POD ready to close browser 0 passing (48s) 4 failing 1) Konga EZ V2 Sanity Test Log in with Email and Password: TypeError: module.exports.browser.isElementPresent is not a function at Object.elementpresent (helpers.js:25:47) at Object.validateelementpresent (validations.js:57:13) at Object.clickbutton (actions.js:74:13) at frameworks/kongaezv2.js:67:19 at node_modules/async/dist/async.js:3830:24 at replenish (node_modules/async/dist/async.js:946:17) at node_modules/async/dist/async.js:950:9 at eachOfLimit (node_modules/async/dist/async.js:975:24) at node_modules/async/dist/async.js:980:16 at _parallel (node_modules/async/dist/async.js:3829:5) at Object.series (node_modules/async/dist/async.js:4684:5) at Object.login_with_email (frameworks/kongaezv2.js:65:15) at Context.<anonymous> (tests/kongaezv2/kongaezv2.js:20:19) at runTest (node_modules/selenium-webdriver/testing/index.js:164:22) at node_modules/selenium-webdriver/testing/index.js:185:16 at new ManagedPromise (node_modules/selenium-webdriver/lib/promise.js:1085 :7) at controlFlowExecute (node_modules/selenium-webdriver/testing/index.js:18 4:14) at TaskQueue.execute_ (node_modules/selenium-webdriver/lib/promise.js:3092 :14) at TaskQueue.executeNext_ (node_modules/selenium-webdriver/lib/promise.js: 3075:27) at asyncRun (node_modules/selenium-webdriver/lib/promise.js:2982:25) at node_modules/selenium-webdriver/lib/promise.js:676:7 at process._tickCallback (internal/process/next_tick.js:103:7) From: Task: Konga EZ V2 Sanity Test Log in with Email and Password at Context.ret (node_modules/selenium-webdriver/testing/index.js:183:10) at node_modules/selenium-webdriver/testing/index.js:102:5 at ManagedPromise.invokeCallback_ (node_modules/selenium-webdriver/lib/pro mise.js:1384:14) at TaskQueue.execute_ (node_modules/selenium-webdriver/lib/promise.js:3092 :14) at TaskQueue.executeNext_ (node_modules/selenium-webdriver/lib/promise.js: 3075:27) at asyncRun (node_modules/selenium-webdriver/lib/promise.js:2935:27) at node_modules/selenium-webdriver/lib/promise.js:676:7 at process._tickCallback (internal/process/next_tick.js:103:7) 2) Konga EZ V2 Sanity Test Serach for an item: TypeError: module.exports.browser.isElementPresent is not a function at Object.elementpresent (helpers.js:25:47) at Object.validateelementpresent (validations.js:57:13) at Object.sendkeys (actions.js:116:13) at frameworks/kongaezv2.js:104:19 at node_modules/async/dist/async.js:3830:24 at replenish (node_modules/async/dist/async.js:946:17) at node_modules/async/dist/async.js:950:9 at eachOfLimit (node_modules/async/dist/async.js:975:24) at node_modules/async/dist/async.js:980:16 at _parallel (node_modules/async/dist/async.js:3829:5) at Object.series (node_modules/async/dist/async.js:4684:5) at Object.search (frameworks/kongaezv2.js:98:15) 

你应该在这里安装Xvfb更多信息

谢谢@nick_gabpe安装xvfb为我工作。 我通过Xvfb在Docker中使用了Chromium