Skip to content

Instantly share code, notes, and snippets.

@serhatbolsu
serhatbolsu / textInput.spec.js
Created August 12, 2020 08:38
WebdriverIO-ui-test-automation-textInput.spec.js
import textInputPage from '../pages/textInput.page';
describe('Text Input Spec', function() {
it('Change button text with chai', function() {
textInputPage
.open()
.updateButtonText('My Special Name');
expect(textInputPage.getButtonText()).toEqual('My Special Name');
});
});
@serhatbolsu
serhatbolsu / textInput.page.js
Created August 12, 2020 08:37
WebdriverIO-ui-test-automation-textInput.page.js
import Page from './page';
class TextInput extends Page {
get nameField() {return $('#newButtonName');}
get button() {return $('#updatingButton');}
open() {
super.open('textinput');
return this;
}
@serhatbolsu
serhatbolsu / page.js
Created August 12, 2020 08:36
WebdriverIO-ui-test-automation-page.js
export default class Page {
  constructor() {
  this.title = 'my Page';
  }
  open(path) {
  browser.url(path);
  }
  verifyTextInPage(text) {
@serhatbolsu
serhatbolsu / home_modal.component.js
Last active August 12, 2020 08:33
webdriverIO-Page-Object-Parent-class
export default class ModalComponent {
constructor(element) {
this.element = element;
}
get title() {return this.element.$('h3').getText();}
get content() {return this.element.$('p').getText();}
}
@serhatbolsu
serhatbolsu / basic-puppeteer.js
Created April 21, 2020 06:47
Basic Puppeteer taking screenshot
// npm i puppeteer
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('http://www.google.com');
const text = await page.$eval('#username',elem => elem.innerText)
console.log(text);
await page.screenshot({path: 'example.png'});
@serhatbolsu
serhatbolsu / menu-options-selector-treehouse
Created September 12, 2018 18:29
Menu option dictionary selector example
#!/usr/bin/env python3
from collections import OrderedDict
import datetime
import sys
from peewee import *
db = SqliteDatabase('diary.db')
@serhatbolsu
serhatbolsu / gist:40ca473991232c578173
Created July 9, 2015 08:13
Grid Capability Matcher for Appium deviceName
package qualify.appium;
import org.openqa.grid.internal.utils.DefaultCapabilityMatcher;
import java.util.Map;
/**
* This class is for nodes to determine Capability Matching using deviceName.
* For Capability Matcher change:
* - java -jar QualifyMatcher.jar -role hub -capabilityMatcher qualify.appium.QualifyMatcher