Giter Site home page Giter Site logo

gemini-gui's People

Contributors

a-x- avatar dudagod avatar egavr avatar hcodes avatar i-akhmadullin avatar j0tunn avatar kvmamich avatar levonet avatar mickaelperrin avatar miripiruni avatar rostik404 avatar sbmaxx avatar sergcen avatar sipayrt avatar swinx avatar twolfson avatar up73k avatar xrsd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gemini-gui's Issues

Add optional image diff view component (like github)

Add fade and swipe modes in addition to the existing 3-side gemini difference mode.
Also, github have slightly different difference mode, which implemented in the package too, and this mode perhaps can be ported in gemini-gui too (not for replace existing but in addition).

Demo: http://mxtnr.ru/image-diff-view/
Repo: https://github.com/a-x-/image-diff-view
Npm: https://www.npmjs.com/package/image-diff-view
Github image diff view modes: https://github.com/blog/817-behold-image-view-modes

Ctrl-C doesn't terminate gemini-gui server when running through npm run

Steps

  1. npm install --save-dev gemini-gui
  2. configure gemini to use chromedriver
  3. add npm run test:gui command to package.json:
{
  // ...
  "scripts": {
    "test:gui": "gemini-gui -p 8076 ./gemini",
  }
}

  1. launch gemini-gui through npm run test:gui
  2. click Run button to run tests
  3. hit Ctrl-C in the server console

Expected

gemini-gui server is terminated

Actual

npm run script is terminated, but gemini-gui is still running and occupies the port forever

Logs

$ grep test:gui package.json
    "test:gui": "gemini-gui -p 8076 ./gemini",
$ npm run test:gui

> [email protected] test:gui /Users/user/src/somepkg
> gemini-gui -p 8076 ./gemini

GUI is running at http://localhost:8076
✓ somepkg home [chrome]
Total: 1 Passed: 1 Failed: 0 Skipped: 0 Retries: 0
^CCancelling...
$ npm run test:gui

> [email protected] test:gui /Users/user/src/somepkg
> gemini-gui -p 8076 ./gemini

events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE 127.0.0.1:8076
    at Object.exports._errnoException (util.js:1022:11)
    at exports._exceptionWithHostPort (util.js:1045:20)
    at Server._listen2 (net.js:1259:14)
    at listen (net.js:1295:10)
    at net.js:1405:9
    at GetAddrInfoReqWrap.asyncCallback [as callback] (dns.js:62:16)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:81:10)

Address is indeed still in use:

$ lsof -PiTCP -sTCP:LISTEN | grep 8076
node      85382 user   15u  IPv4 0xdeadbeef12345      0t0  TCP localhost:8076 (LISTEN)

Curiously, it prints Force quit when killing the process:

$ kill 85382
Force quit.

(The problem is even more confusing because of #2)

Re-run tests with changed source

Is there ability to rerun tests from gui with changed source?

Case:

  • open gemini-gui
  • run tests
  • change failed tests
  • rerun via gemini ( for some reasons it use old version of test )

Either I do something wrong ?

Unknown error

5:islands-components yeti-or$ gemini-gui 

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: listen EADDRINUSE
    at errnoException (net.js:904:11)
    at Server._listen2 (net.js:1042:14)
    at listen (net.js:1064:10)
    at net.js:1146:9
    at asyncCallback (dns.js:68:16)
    at Object.onanswer [as oncomplete] (dns.js:121:9)

Allow to use an existing test report instead of creating a new one

I’m running gemini test as part of my CI pipeline in order to prevent deploying unwanted visual changes. This works quite well. I also want to use the gemini-gui to make it easy to accept intentional changes. The problem here is that I have to run the tests again in the GUI instead of reusing the existing report made by the CI pipeline.

Ideally there would be even an option to disable running tests via the GUI as this could produce a different result than the test run before that was executed by the CI pipeline (e.g. if new commits have been pushed).

Does `--grid-url` opt working?

In readme listed --grid-url option.
But gemini-guis code not contains it.
I tried to set blahblah in this option at gemini-gui call but result not changed.

Not Strange Error

Error: Module did not self-register.
    at Error (native)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/Users/yeti-or/Projects/islands/islands-components/node_modules/gemini/node_modules/png-img/index.js:6:14)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
yeti-or-osx:islands-components yeti-or$ node -v
v0.12.0

Position sticky for panel with “Accept” button

Хотелось бы чтобы панель с кнопкой «Accept», для текущего просматриваемого теста с картинками, была всегда на виду. Иначе приходится постоянно скроллировать, искать (скроллировать) Diff, потом возвращаться (скроллировать) к кнопке «Accept». Актуально для средних и больших скриншотов.

Gemini 4.0 dependency

Gemini gui forced me to switch to gemini 4.0 which is not stable yet.
So my testSuite did not work correcly, please switch it back to 3.0

Running Individual Tests Produces Different Results Than Initial Run All

Node v6.4.0, Gemini v4.8.0, Gemini GUI v4.3.2

When I launch the GUI to run all tests, they all pass. I can keep running all tests successfully. When I start running individual tests, some fail and some pass. When I try to run all after an individual failure, the results come back much more quickly and always fail. The command line output also shows an incorrect total.

$ http-server -c-1&
$ phantomjs -w&
$ gemini-gui foo.js
/home/stephen/.node/lib/node_modules
GUI is running at http://localhost:8000
✓ zzz-card 160x144 [phantomjs]
✓ zzz-card 320x240 [phantomjs]
✓ zzz-card 480x320 [phantomjs]
✓ zzz-card 640x480 [phantomjs]
✓ zzz-card 1024x768 [phantomjs]
✓ zzz-photo 160x144 [phantomjs]
✓ zzz-photo 320x240 [phantomjs]
✓ zzz-photo 480x320 [phantomjs]
✓ zzz-photo 640x480 [phantomjs]
✓ zzz-photo 1024x768 [phantomjs]
Total: 10 Passed: 10 Failed: 0 Skipped: 0 Retries: 0
✓ zzz-card 160x144 [phantomjs]
✓ zzz-card 320x240 [phantomjs]
✓ zzz-card 480x320 [phantomjs]
✓ zzz-card 640x480 [phantomjs]
✓ zzz-card 1024x768 [phantomjs]
✓ zzz-photo 160x144 [phantomjs]
✓ zzz-photo 320x240 [phantomjs]
✓ zzz-photo 480x320 [phantomjs]
✓ zzz-photo 640x480 [phantomjs]
✓ zzz-photo 1024x768 [phantomjs]
Total: 10 Passed: 10 Failed: 0 Skipped: 0 Retries: 0
✓ zzz-card 160x144 [phantomjs]
✓ zzz-card 320x240 [phantomjs]
✓ zzz-card 480x320 [phantomjs]
✓ zzz-card 640x480 [phantomjs]
✓ zzz-card 1024x768 [phantomjs]
✓ zzz-photo 160x144 [phantomjs]
✓ zzz-photo 320x240 [phantomjs]
✓ zzz-photo 480x320 [phantomjs]
✓ zzz-photo 640x480 [phantomjs]
✓ zzz-photo 1024x768 [phantomjs]
Total: 10 Passed: 10 Failed: 0 Skipped: 0 Retries: 0
✓ zzz-card 160x144 [phantomjs]
✓ zzz-card 320x240 [phantomjs]
✓ zzz-card 480x320 [phantomjs]
✓ zzz-card 640x480 [phantomjs]
✓ zzz-card 1024x768 [phantomjs]
✓ zzz-photo 160x144 [phantomjs]
✓ zzz-photo 320x240 [phantomjs]
✓ zzz-photo 480x320 [phantomjs]
✓ zzz-photo 640x480 [phantomjs]
✓ zzz-photo 1024x768 [phantomjs]
Total: 10 Passed: 10 Failed: 0 Skipped: 0 Retries: 0
✓ zzz-card 160x144 [phantomjs]
Total: 1 Passed: 1 Failed: 0 Skipped: 0 Retries: 0
✓ zzz-card 160x144 [phantomjs]
✓ zzz-card 320x240 [phantomjs]
✓ zzz-card 480x320 [phantomjs]
✓ zzz-card 640x480 [phantomjs]
✓ zzz-card 1024x768 [phantomjs]
✓ zzz-photo 160x144 [phantomjs]
✓ zzz-photo 320x240 [phantomjs]
✓ zzz-photo 480x320 [phantomjs]
✓ zzz-photo 640x480 [phantomjs]
✓ zzz-photo 1024x768 [phantomjs]
Total: 10 Passed: 10 Failed: 0 Skipped: 0 Retries: 0
✘ zzz-card 320x240 [phantomjs]
Total: 1 Passed: 0 Failed: 1 Skipped: 0 Retries: 0
✓ zzz-card 160x144 [phantomjs]
✓ zzz-card 320x240 [phantomjs]
✓ zzz-card 480x320 [phantomjs]
✓ zzz-card 640x480 [phantomjs]
✓ zzz-card 1024x768 [phantomjs]
✓ zzz-photo 160x144 [phantomjs]
✓ zzz-photo 320x240 [phantomjs]
✓ zzz-photo 480x320 [phantomjs]
✓ zzz-photo 640x480 [phantomjs]
✓ zzz-photo 1024x768 [phantomjs]
Total: 10 Passed: 10 Failed: 0 Skipped: 0 Retries: 0
✘ zzz-card 320x240 [phantomjs]
Total: 1 Passed: 0 Failed: 1 Skipped: 0 Retries: 0
✘ zzz-card 320x240 [phantomjs]
Total: 1 Passed: 0 Failed: 1 Skipped: 0 Retries: 0
✘ zzz-card 320x240 [phantomjs]
Total: 1 Passed: 0 Failed: 1 Skipped: 0 Retries: 0
✘ zzz-card 320x240 [phantomjs]
Total: 1 Passed: 0 Failed: 1 Skipped: 0 Retries: 0
✘ zzz-card 320x240 [phantomjs]
Total: 1 Passed: 0 Failed: 1 Skipped: 0 Retries: 0
✘ zzz-card 320x240 [phantomjs]
Total: 1 Passed: 0 Failed: 1 Skipped: 0 Retries: 0

.gemini.yml

rootUrl: http://localhost:8080
browsers:
  phantomjs:
    gridUrl: http://localhost:8910
    desiredCapabilities:
      browserName: phantomjs

foo.js

const phantom = require('phantomjs')

const viewports = [{w: 160, h: 144}, {w: 320, h: 240}, {w: 480, h: 320},
  {w: 640, h: 480}]

gemini.suite('zzz-card', function(suite) {
  suite
    .setUrl('/test/screenshot/fixture/zzz-card.html')
    .setCaptureElements('body')
    .before(function(actions, find) {
      actions.wait(1000)
    })
  viewports.forEach(function(viewport) {
    suite
      .capture('zzz-card-' + viewport.w + 'x' + viewport.h, function(actions, find) {
        actions.setWindowSize(viewport.w, viewport.h)
      })
  })
})

No more runs in Firefox or Edge

gemini-gui opens system default browser, but it can be not only Chrome

From some version (4.5.0 or maybe some earlier) it doesn't react on pressing "Run" in Firefox (--auto-run flag doesn't do the thing, too)
No errors appear in browser console (neither in CLI), it just doesn't run the testing process.

So I need to reopen the URL in Chrome manually, and press "Run" there.

I am using Firefox 50 at Windows 10.

(Also, it never worked on Edge for me, from the very beginning; the symptoms are the same)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.