Ich habe versucht, läuft Selen Test (Node Js) auf der Maschine Docker, aber es sagt "TypeError: module.exports.browser.isElementPresent is not a function
".Selen Testausführung in Docker mit UI
Hinweis:
- ich diesen gleichen Selen Test auf meinem lokalen Rechner erfolgreich ausgeführt werden kann
- ich auf Docker den gleichen Test versucht, läuft dann ich oben den Fehler aufgetreten
[email protected]:/usr/src# npm run kongaezv2
npm info it worked if it ends with ok
npm info using [email protected]
npm info using [email protected]
npm info lifecycle [email protected]~prekongaezv2: [email protected]
npm info lifecycle [email protected]~kongaezv2: [email protected]
> [email protected] 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)
Haben Sie installieren virtuelle Anzeige für Docker-Container mit Selen Tests installieren sollte? –
Nicht sicher, aber was ich getan habe, war die Installation von Chrome mit meiner Docker-Datei ## Installieren Sie Google Chrome # RUN cd/tmp && \ # wget https://dl.google.com/linux/direct/google-chrome -stable_current_amd64.deb && \ # dpkg -i google-chrome-stable_current_amd64.deb && \ # apt-get -y -f install RUN \ wget -q -O - https://dl-ssl.google .com/linux/linux_signing_key.pub | apt-key add - && \ echo "deb http://dl.google.com/linux/chrome/deb/ stabil main"> /etc/apt/sources.list.d/google.list && \ apt- Aktualisiere && \ apt-get install -y google-chrome-stable && \ rm -rf/var/lib/apt/lists/* – TobyFagboh
Du solltest etwas installieren wie [Xvfb] (https: //en.wikipedia. org/wiki/Xvfb). Dann starte es und danach. Mehr Infos [hier] (http://stackoverflow.com/questions/6183276/how-do-i-run-selenium-in-xvfb) Das ist aber nur für Fall, wenn Sie nicht die tatsächlichen UI sehen wollen. –