Skip to content

Graphene Extension - RushEye for visual validation#170

Open
vinsguru wants to merge 1 commit into
arquillian:mainfrom
vinsguru:rusheye-visual-validation
Open

Graphene Extension - RushEye for visual validation#170
vinsguru wants to merge 1 commit into
arquillian:mainfrom
vinsguru:rusheye-visual-validation

Conversation

@vinsguru

Copy link
Copy Markdown

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

@MatousJobanek MatousJobanek left a comment

Copy link
Copy Markdown
Collaborator

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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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

Comment thread extension/rusheye/pom.xml
<dependency>
<groupId>org.jboss.arquillian.graphene</groupId>
<artifactId>graphene-webdriver</artifactId>
<version>${version.org.jboss.arquillian.graphene}</version>

Copy link
Copy Markdown
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}

Comment thread extension/rusheye/pom.xml
<artifactId>testng</artifactId>
<version>6.11</version>
<scope>test</scope>
</dependency>

Copy link
Copy Markdown
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

Comment thread extension/rusheye/pom.xml
<version>${version.org.jboss.arquillian.drone}</version>
<type>pom</type>
<scope>import</scope>
</dependency>

Copy link
Copy Markdown
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

Comment thread extension/rusheye/pom.xml
<dependency>
<groupId>org.arquillian.rusheye</groupId>
<artifactId>rusheye-impl</artifactId>
<version>1.0.0</version>

Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
Member

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

@vinsguru

Copy link
Copy Markdown
Author

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

@rmpestano

rmpestano commented Aug 2, 2017

Copy link
Copy Markdown

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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
Member

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

@rmpestano

Copy link
Copy Markdown

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.

5 participants