-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
4b16a6d
commit cca40b0
Showing
21 changed files
with
1,029 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
[*] | ||
indent_style = space | ||
indent_size = 2 | ||
end_of_line = lf | ||
charset = utf-8 | ||
trim_trailing_whitespace = true | ||
insert_final_newline = true | ||
max_line_length = 120 | ||
|
||
[*.md] | ||
trim_trailing_whitespace = false | ||
|
||
[*.{java,xml}] | ||
indent_style = space | ||
indent_size = 4 | ||
continuation_indent_size = 4 | ||
|
||
[*.{json,yml,yaml.json}] | ||
indent_style = space | ||
indent_size = 2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
hs_err_pid* | ||
*.jar | ||
.settings/ | ||
.project | ||
.classpath | ||
test-output/ | ||
target/ | ||
*.swp | ||
bin/ | ||
logs/ | ||
*.DS_Store | ||
.idea/ | ||
*.iml | ||
|
||
# Gradle files | ||
.gradle/ | ||
build/ | ||
/*/build/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
language: java | ||
jdk: | ||
- oraclejdk8 | ||
notifications: | ||
email: | ||
- krishnan.mahadevan1978@gmail.com | ||
branches: | ||
only: | ||
- master | ||
cache: | ||
directories: | ||
- "$HOME/.m2" | ||
after_success: | ||
- openssl aes-256-cbc -pass pass:$ENCRYPTION_PASSWORD -in $GPG_DIR/pubring.gpg.enc | ||
-out $GPG_DIR/pubring.gpg -d | ||
- openssl aes-256-cbc -pass pass:$ENCRYPTION_PASSWORD -in $GPG_DIR/secring.gpg.enc | ||
-out $GPG_DIR/secring.gpg -d | ||
- "$GPG_DIR/publish.sh" | ||
env: | ||
global: | ||
- GPG_DIR="`pwd`/deploy" | ||
- secure: BGx/CufFzVLMeWhU1XwqjP5esIbcidiXo4KabmbXjHEx0Uxaxjxm2YrV5d1oN77h0S2QofcqlhJ1QKf9dGiMesOPXDLDT66TpCbXSMNQg1EbLE+dJ3xSXO8fSkt8KRpuuRXqj8/zvXeASI8Xm2HbsuS4+vh06YfNhXBt0S2up4WT1kqeGtNUMKG2CWMqosrEby1Ymv52smK1R45P1rjaDm9IbOkDhIjFG+gOrvCipM5InO+D3U3ZPlELqvXBrznGAeuKX0Aik+Y/fvpgUYkClBLhDY3tOQ6xsIjq9XXcJTBbjJFRVeAcVfV7Io1qToPmcXIixQvQWzvKdp586ngDgkH8ADUL8PVNtKng13KaEFsTpuKIHizIdryhY/+LgzokFfsC/81EY2zgsX7uSGX/s6hoh4th2OX7UaAwKZlwvdmS6jqCJS3jtv4uXOCD8YGhPF71rlajcCAYgYPl8J/hD/aKffTBaLxxwH1WZ00iZ5Ts/KuOd+dN6qQ+f6V3hT4vA19MT7ReadB+xocflcarLQ5O/Yq4lgxsUQDNGO+v+LWZKhUZSn8KxCDD+dH46Z7oXcWsIGrTH+uT8ZmJu5rm5zran/VPKFygCwRutK27h45CdueN8oyp4ugBLIgalHDPO/qkeYcD9WGKjZ4I2Kx89vxO05pSN0Plo+QNp9Hd1pI= | ||
- secure: V+3i4GOyM6kn7fjzqIq+PM+BzfRlApD5x4Acr3Ard6Q/6wEqdEp/3pdea8BJcEL8vC/l2WSHNApnUBr6BBe1Br39Ne72Khn7QcV9XLvfpnXGHyHB8ec7ODVzoQBL8ZE56XIokPbBZFVDKZJa4Y0sLdNQmVKgvqp08xfDIn9NGepb2yuatEnmIfXo+1CZ/YuIaFsz74+VV3iu2iJns+YFDEM4ZvEG8XAUHXTqGRJSqteN1I2NTQWCE7Bo+Z2MNWJxcZTtizYml0DVr88uF2z51WshiHyR4f7IKoFiQlDmc2c9S1eCi+UuS5PISN0GV8U6DcZOmBurZSS2yrFvpLfeOD39UTYfPeLUz0Wa8B4tWrZ5fy14c2FlDS4fUnSU7oh3qNqp6v+bWy0nz7ND9pYdrksRbrqmECc7/yx6xzeuCgcTo8C0MxWToC599SWzoEDlZzjuOoh3ELCee5jwHmzyAi8hUIDAl6/ShCkGwBMpZH4dtVfyzOcKNTht90KfjNGFFvv1BQN87sTFilSJ77b62X/JR7nWSXqRMyTIC0f8Y5LFqo/HPaM2NpibqpiykBL/IKE+PPQxB89gpog6A/8ZXmJM5PsANgpmLES0bzYYEUoYNa/PAekCXIaojEJKduuSx+vAzCm4FX6TwbLFpF3mBNNC2vuDw6gvOtdlV8iMAxQ= | ||
- secure: Nk8Aed/9/8d4rTby0Nw2myfYZvQmw4GQH7xvqgfGL8TB8OoS7RX2tAZiB6XHzYMHdTiNrcPR0g9arsAB/9pru24OeQIgHC0SabBsnLw6WlEV0g0azEQQ3irs4lV2MPJURLxQAWhes/pDFUFRjO36KCLnSXzsAfrWUsTPcMBxAvjYbI2Nc0UsjkSzKebdKDMMz8eQbiYHa07WhZeWH/9KaRrtC077H+rZZKPjeSuacOxLyxWGA5j7WZYrhbCab6e24nxfDhL4DPYPVW0RvTYVrw2Lxh+LZvV8p814pVR1m2qRHGl/swYgQkhq1PNV30lwfH0qpXH0RTX72IVh2CKP5l4e2XdmWNF5n1d/yDYsWA32BVb6KtbRVTqdcSDepkIdaNGj2TYDND10CfyxenU8QWJbF3zAClC7jLNqhpc/dT4SgO23JrAiks6XBilSmWzcPeHWxo61lzj/uww9jNfWzY6POoZj7sk0w2zj6qM9rWPnSXQyq+1+jiOHRPDysQOIpri8F1an8n/GNIPnMG/JBMTWpQ9Zy8WDnzhg7LjQZMDF9gena9/OBH2J2qQGhAG74wR8WdLUppSq7J141oDmktTgPfPzhbYcDRNOe/w2L3Faimx0ORUBMSLzah9ojQu2l+Fv/oRO/TihbnZyQOjIJSZlyBJDe7DCSSgqAI2fRus= | ||
- secure: JfWT8BF7iDzUkDDsjVW5jIbvRETVt3iBExwdY40biUDzXuktQndjKjQJckvHgV1NAuMFdhl8x+KlMx74aGT+/BI1kP5c8vhlY3dGZJtTF8Pp00MXBWg8GysEPnVckEvI4Pn4aShYWFKdI6kHVVGqoqzGtfbJdAa06+0C0hdyGqIEzPmijdJ/s3amDAxcNZgQZH1o9wmp2N3qWaruR+miG5f3M2mPLnso/vuQm/DkDwmdLMoV6qnQn9h5As3jmOTciLh9DaybRNzdUuijiSs3XkwZbxfHfPjjIePoCbffUgI6syaNNOLcft7A7b967HA1npvXZsoX090f2n6hX+wsA88qr3PpyqT7H2Z2C0o+lKCwDcmJGmoCLJSnWoCkgb+zqqkKHyAm2JeIr8uzU4qHrwwRpYCZHZ14IhjZCmkRkzRpvOIjdEaXhQDWdsy+rU1PJjsGTGP7qlEK4W4B7EOtA3E/grthMjnHFkRBXZrYIF488pvZsCv+ecx3G4g6dzFvVuEBhxZkt4mMEJU0OPK+Gg1a4fjRgnwlto6Nw0DXV4nrb4GX3vpThdHj1IgGc+8t789LrmyrA4qHT8jCsYzUBnyfW2nRGbuu5DowxKcz8L4SLIbpi7vmyxGhWmX5ZNaZ+08tH70rZy3XNS/F/FQCZA1BJ5D0jXL6G6LK2ZhpR3Q= | ||
- secure: Q8a859swtXXe+Zpmkwaan1oDqFhQ7rCxdjppeGMEy++ujif74S8xNnb+bQk13vmNq6/rkEOxtFRsg0voWzNB19iEF5W69BLUhQgW24B78bIC13NbBct8ePGoQ0QxEjQO8eN87NxfLVvVH6Wk/jGLwRF9aPLAd4HlvxgcCmSATC9LYnlptbft/V2diN0Vf+TH6wqtSApJFjduEblHq6RKnwe6WYOBaHYWCKTVHL4hUywj4a75oi1SyWmoVJ5qGy1m4q5dS/d3z5FDGJ2oWEnv2/loxS1ob2lq/48/DpR8Xgf6pYwc1h3S1+Tn2MG23vrmfTs+4I/OTPtFxcAOahIzoZxmktY0M+bvSxvQBVFYHefmhzukswhULqMuLpc/mJOT5gpVOvIBgpmVdxVHdhQNt7l1VC/MlAOhDgRtUt2tKzVh6V0mLyb/9pEFp+Vk2KQwPG75SBYXXo7AjuMKSuvJV2eBut/XGGE/+uG6j87XKASjf7pp0+InIEVX55jhLX++L7t3MzC46+BoqKKIwMuKgfSX29saQjzWf2GOpTdSzWSSPvgHGrTWHEYZu5u5XV553JjttLThWANh3ReGglx/7PyZIdEL4NfawwrJEAwTUUmwuQ4NGdcU89Awt86B2NrTAUdGH2MMIIvWz/EBoMINtFPV2zfbBb43vP5mBv1m9Qw= |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
# Talk 2 Grid | ||
|
||
**Talk 2 Grid** is a very simple library that exposes some of the straight forward Http APIs that a Selenium Hub/Node | ||
provides. | ||
|
||
This library was built with an intention of interacting with the Hub/Node to get some useful information. | ||
|
||
## Pre-requisites | ||
|
||
**Talk 2 Grid** requires : | ||
* **JDK 8**. | ||
* An already running Selenium Grid. | ||
* Tests should be making use of a Selenium Grid. | ||
* Test are not running against a remote execution environment service provider such as Sauce Labs (this is because | ||
Sauce Labs does | ||
not allow users to query its actual node's IP address. The same might be true for other execution environment | ||
service providers as well.) | ||
|
||
## How to use. | ||
|
||
**Talk 2 Grid** is a [Maven](https://maven.apache.org/guides/getting-started/) artifact. In order to | ||
consume it, you merely need to add the following as a dependency in your pom file. | ||
|
||
```xml | ||
<dependency> | ||
<groupId>com.rationaleemotions</groupId> | ||
<artifactId>talk2grid</artifactId> | ||
<version>1.0.0</version> | ||
</dependency> | ||
``` | ||
|
||
### Viewing the Hub's configuration. | ||
|
||
The below sample shows how to access the Hub's configuration. | ||
|
||
```java | ||
public void showHubConfiguration() { | ||
Host hub = new Host("localhost", "4444"); | ||
GridApiAssistant assistant = new GridApiAssistant(hub); | ||
HubConfiguration hubConfig = assistant.getHubConfiguration(); | ||
assertEquals("org.openqa.grid.internal.utils.DefaultCapabilityMatcher", hubConfig.getCapabilityMatcher()); | ||
} | ||
``` | ||
|
||
### How to find out the node to which a test was routed to ? | ||
|
||
The below sample shows how to find out the node to which a test was routed to and to retrieve the node's configuration. | ||
|
||
```java | ||
public void demonstrateToWhichNodeWasMyTestRoutedTo() throws Exception { | ||
RemoteWebDriver rwd = null; | ||
Host hub = new Host("localhost", "4444"); | ||
try { | ||
String url = String.format("http://%s:%d/wd/hub", hub.getIpAddress(), hub.getPort()); | ||
rwd = new RemoteWebDriver(new URL(url), DesiredCapabilities.chrome()); | ||
//First lets get hold of the session id for our test. | ||
String sessionId = rwd.getSessionId().toString(); | ||
GridApiAssistant assistant = new GridApiAssistant(hub); | ||
//Now lets query the Hub to figure out to which node did the hub route our test to. | ||
Host node = assistant.getNodeDetailsForSession(sessionId); | ||
assertNotNull(node); | ||
Reporter.log("Test routed to " + node.toString(), true); | ||
//Lets check what does the node configuration look like. | ||
NodeConfiguration nodeConfig = assistant.getNodeConfigForSession(node); | ||
//Here's how we get hold of the capabilities that are supported by this node. | ||
assertNotNull(nodeConfig.getCapabilities()); | ||
} finally { | ||
if (rwd != null) { | ||
rwd.quit(); | ||
} | ||
} | ||
} | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
#!/bin/bash | ||
|
||
if [[ $TRAVIS_PULL_REQUEST == "false" ]]; then | ||
mvn deploy --settings $GPG_DIR/settings.xml -DperformRelease=true -DskipTests=true | ||
exit $? | ||
fi |
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
<settings> | ||
<servers> | ||
<server> | ||
<id>ossrh</id> | ||
<username>${env.SONATYPE_USERNAME}</username> | ||
<password>${env.SONATYPE_PASSWORD}</password> | ||
</server> | ||
</servers> | ||
</settings> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,200 @@ | ||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
<modelVersion>4.0.0</modelVersion> | ||
<groupId>com.rationaleemotions</groupId> | ||
<artifactId>talk2grid</artifactId> | ||
<version>1.0.0-SNAPSHOT</version> | ||
<packaging>jar</packaging> | ||
|
||
<name>talk2grid</name> | ||
<description>A Grid Helper library that exposes the Grid's http APIs via simple to use APIs</description> | ||
<url>http://maven.apache.org</url> | ||
|
||
<properties> | ||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | ||
</properties> | ||
|
||
<licenses> | ||
<license> | ||
<name>The Apache Software License, Version 2.0</name> | ||
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> | ||
<distribution>repo</distribution> | ||
</license> | ||
</licenses> | ||
<scm> | ||
<connection>scm:git:git@github.com:RationaleEmotions/talk2grid.git</connection> | ||
<developerConnection>scm:git:git@github.com:RationaleEmotions/talk2grid.git</developerConnection> | ||
<url>https://github.com/RationaleEmotions/talk2grid</url> | ||
</scm> | ||
<developers> | ||
<developer> | ||
<id>krmahadevan</id> | ||
<name>Krishnan Mahadevan</name> | ||
<url>https://github.com/krmahadevan</url> | ||
<roles> | ||
<role>Owner</role> | ||
</roles> | ||
</developer> | ||
</developers> | ||
<issueManagement> | ||
<url>https://github.com/RationaleEmotions/talk2grid/issues</url> | ||
<system>GitHub Issues</system> | ||
</issueManagement> | ||
|
||
<dependencies> | ||
<dependency> | ||
<groupId>com.google.code.gson</groupId> | ||
<artifactId>gson</artifactId> | ||
<version>2.3.1</version> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>commons-io</groupId> | ||
<artifactId>commons-io</artifactId> | ||
<version>2.4</version> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>org.apache.httpcomponents</groupId> | ||
<artifactId>httpclient</artifactId> | ||
<version>4.5.2</version> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>org.slf4j</groupId> | ||
<artifactId>slf4j-jdk14</artifactId> | ||
<version>1.7.5</version> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>org.testng</groupId> | ||
<artifactId>testng</artifactId> | ||
<version>6.9.4</version> | ||
<scope>test</scope> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>org.seleniumhq.selenium</groupId> | ||
<artifactId>selenium-java</artifactId> | ||
<version>3.0.1</version> | ||
<scope>test</scope> | ||
</dependency> | ||
</dependencies> | ||
<build> | ||
<plugins> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-compiler-plugin</artifactId> | ||
<version>3.0</version> | ||
<configuration> | ||
<source>1.8</source> | ||
<target>1.8</target> | ||
</configuration> | ||
</plugin> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-surefire-plugin</artifactId> | ||
<version>2.19.1</version> | ||
<!-- | ||
<configuration> | ||
<suiteXmlFiles> | ||
<suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile> | ||
</suiteXmlFiles> | ||
</configuration> | ||
--> | ||
</plugin> | ||
</plugins> | ||
</build> | ||
<distributionManagement> | ||
<snapshotRepository> | ||
<id>ossrh</id> | ||
<url>https://oss.sonatype.org/content/repositories/snapshots</url> | ||
</snapshotRepository> | ||
<repository> | ||
<id>ossrh</id> | ||
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url> | ||
</repository> | ||
</distributionManagement> | ||
<profiles> | ||
<profile> | ||
<id>release</id> | ||
<properties> | ||
<gpg.executable>gpg</gpg.executable> | ||
<gpg.keyname>${env.GPG_KEYNAME}</gpg.keyname> | ||
<gpg.passphrase>${env.GPG_PASSPHRASE}</gpg.passphrase> | ||
<gpg.defaultKeyring>false</gpg.defaultKeyring> | ||
<gpg.publicKeyring>${env.GPG_DIR}/pubring.gpg</gpg.publicKeyring> | ||
<gpg.secretKeyring>${env.GPG_DIR}/secring.gpg</gpg.secretKeyring> | ||
</properties> | ||
<activation> | ||
<property> | ||
<name>performRelease</name> | ||
<value>true</value> | ||
</property> | ||
</activation> | ||
<build> | ||
<testResources> | ||
<testResource> | ||
<directory>src/test/resources/artifacts</directory> | ||
<excludes> | ||
<exclude>*.txt</exclude> | ||
</excludes> | ||
</testResource> | ||
</testResources> | ||
<plugins> | ||
<plugin> | ||
<groupId>org.sonatype.plugins</groupId> | ||
<artifactId>nexus-staging-maven-plugin</artifactId> | ||
<version>1.6.3</version> | ||
<extensions>true</extensions> | ||
<configuration> | ||
<serverId>ossrh</serverId> | ||
<nexusUrl>https://oss.sonatype.org/</nexusUrl> | ||
<autoReleaseAfterClose>true</autoReleaseAfterClose> | ||
</configuration> | ||
</plugin> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-source-plugin</artifactId> | ||
<version>2.2.1</version> | ||
<executions> | ||
<execution> | ||
<id>attach-sources</id> | ||
<goals> | ||
<goal>jar-no-fork</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-javadoc-plugin</artifactId> | ||
<version>2.10.3</version> | ||
<executions> | ||
<execution> | ||
<id>attach-javadocs</id> | ||
<goals> | ||
<goal>jar</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-gpg-plugin</artifactId> | ||
<version>1.6</version> | ||
<executions> | ||
<execution> | ||
<id>sign-artifacts</id> | ||
<phase>verify</phase> | ||
<goals> | ||
<goal>sign</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
</plugins> | ||
</build> | ||
</profile> | ||
</profiles> | ||
</project> |
Oops, something went wrong.