Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Graphene Extension - RushEye for visual validation #170

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

vinsguru
Copy link

Create an arquillian graphene extension for validating the visual aspects of the application under test using Rusheye.

Copy link
Collaborator

@MatousJobanek MatousJobanek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi,
thank you very much for the PR. The implementation and usage look great!
I've attached a few comments there. Apart from that, I have several other requests:

  • create another module called arquillian-graphene-rusheye-api that will contain annotations and interfaces - you know - to separate API
  • Add javadoc at least to the API classes and methods
  • please, for all if statements use curly braces
  • perform auto-formating for all files - there are sometimes different indentation
  • would be good to have the code covered by unit-tests or integration tests...

}
----

* Using ```@Snap```, Page objects / Page abstractions are mapped to the baseline(snapshot) images for the visual validation.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess that it is possible to use it also for test cases without page object/fragments?
https://github.com/MatousJobanek/examples/blob/master/drone-graphene/drone-grahene-simple/src/test/java/arquillian/drone/graphene/simple/GoogleUITest.java
Maybe you could start with this simple example and then jump to additional abstractions

}
} catch (Exception e) {
throw new NoSuchMaskException(maskFiles.toString(), e);
}*/
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for every TODO create an issue - to not forget

import java.lang.annotation.Target;

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about using it also for test methods...?

return this;
}

public Ocular sleep(long time, TimeUnit timeUnit) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why the sleep?


import org.arquillian.rusheye.suite.ComparisonResult;

public class OcularResult extends ComparisonResult{
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would be good to have an interface for this

<dependency>
<groupId>org.jboss.arquillian.graphene</groupId>
<artifactId>graphene-webdriver</artifactId>
<version>${version.org.jboss.arquillian.graphene}</version>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the property version.org.jboss.arquillian.graphene is redundant - use here the ${project.version}

<artifactId>testng</artifactId>
<version>6.11</version>
<scope>test</scope>
</dependency>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

all modules are using JUnit for testing - would be good to have it consistent

<version>${version.org.jboss.arquillian.drone}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these two are already defined in the parent pom

<dependency>
<groupId>org.arquillian.rusheye</groupId>
<artifactId>rusheye-impl</artifactId>
<version>1.0.0</version>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use as a property

*.iml
.idea
gh-pages
gh-pages
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.gitignore is not necessary here, is it?

@lordofthejars
Copy link
Member

@vinsguru Hello, how is going this PR? Just to plan a new release with this new feature on Graphene :)

@vinsguru
Copy link
Author

@lordofthejars @MatousJobanek , Thanks for the review comments. Got stuck with some project work. Will work on this.

@rmpestano
Copy link

rmpestano commented Aug 2, 2017

Hi guys,

how can I help in moving this PR forward? can I fork @vinsguru branch and make the proposed changes and then submit another PR? If so I noticed that the project isn't building with a lot of compile errors, so the question is if @vinsguru repository is updated with latest changes.

@MatousJobanek
Copy link
Collaborator

Hi @rmpestano,
thank you for your interest and for your offer.
@vinsguru what do you think about Rafael's suggestion? I'm fine with anything that is suitable for both of you.

@MatousJobanek
Copy link
Collaborator

@rmpestano sorry for my long inactivity. As @vinsguru is not responding, I would say that you can (if you want) start moving the stuff forward on your forked branch.
When you have something implemented/fixed then free to open a new PR with your changes.
Thanks for your help guys - any contribution is really appreciated. 👍

@lordofthejars
Copy link
Member

+1 let's try to move this forward and let's try to record a demo showing this feature.

@rmpestano
Copy link

Hi guys, I din't forgot this, as soon a I got some time I'll dig into this. (Its conference season here at my city)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants