Skip to content

Instantly share code, notes, and snippets.

View jsdevel's full-sized avatar

Joe Spencer jsdevel

View GitHub Profile
module.exports = function Page(driver, endpoint) {
this.driver = driver;
this.get = function() {
driver.get(endpoint + this.getPagePath());
return this;
};
};
module.exports = function SearchWidget() {
var SEARCH_WIDGET_SUBMIT_BUTTON_SELECTOR = '#searchWidgetSubmitButtonSelector';
this.clickSearchWidgetButton = function() {
this.driver.findElement(By.id(SEARCH_WIDGET_SUBMIT_BUTTON_SELECTOR)).click();
return this;
};
};
var SearchWidget = require('./widgets/SearchWidget');
var Page = require('./Page');
module.exports = function HomePage() {
Page.call(this);
SearchWidget.call(this);
this.doSomethingOnTheHomePage = function() {
// do something
return this;
@jsdevel
jsdevel / selenium-test-using-mixins.java
Last active August 29, 2015 14:19
selenium-test-using-mixins
public class HomePageITest {
@Test
public we_should_be_able_to_search_from_the_homepage() {
pageFactory.getHomePage()
.get()
.doSomethingOnTheHomePage()
.clickSearchWidgetSubmitButton()
.doSomethingElseOnTheHomePage()
;
}
@jsdevel
jsdevel / page-class.java
Last active August 29, 2015 14:19
page-class
public abstract class Page<T extends Page>
implements HasDriver, HasPage<T> {
protected WebDriver driver;
private String endpoint;
protected String getPagePath();
@Override
public WebDriver getDriver() {
@jsdevel
jsdevel / java-i-selenium-pageobject-with-mixin.java
Last active August 29, 2015 14:19
java-8-selenium-pageobject-with-mixins
public class HomePage extends Page<HomePage>
implements SearchWidget {
// package private contructor
HomePage () {}
// Home Page specific methods
public HomePage doSomethingOnTheHomePage() {
// do something
return this;
@jsdevel
jsdevel / java-8-selenium-mixin.java
Last active August 29, 2015 14:19
Java 8 Selemium Widget Mixin
public interface SearchWidget<T extends Page>
extends HasPage<T>, HasDriver {
String SEARCH_WIDGET_BUTTON_SELECTOR = "#searchWidgetButton";
default T clickSearchWidgetButton() {
getDriver()
.findElement(By.id(SEARCH_WIDGET_BUTTON_SELECTOR))
.click();
return getPage();
@jsdevel
jsdevel / gist:03f28b38ed0c06860cfc
Last active August 29, 2015 14:06
angular sign in form getting cleared
function SignInCtrl(
$rootScope,
$scope,
credentials,
events,
handleUser,
User
){
$scope.isLoading = false;
$scope.generalError = '';
#!/bin/bash
host="`hostname`"
if [ -z "`grep -o "$host" /etc/hosts`" ];then
sed -i "s|\(127.0.0.1.*\)$|\1 $host|" /etc/hosts
fi
@jsdevel
jsdevel / javascript-array-impl.js
Last active August 29, 2015 14:03
An attempt at creating an array in javascript without using Array.
var equal = require('assert').equal;
var instance = this;
var lengthFacade = 0;
this.push = function(value){
this[getLength()] = value;
};
Object.defineProperty(this, 'length', {