Skip to content

Instantly share code, notes, and snippets.

View adamgoucher's full-sized avatar

adam goucher adamgoucher

View GitHub Profile
@adamgoucher
adamgoucher / HarFormatSchema.json
Created April 6, 2012 04:07
HAR Format Schema
{
"type": "object",
"properties": {
"log": {
"description": "HTTP Archive structure.",
"type": "object",
"properties": {
"version": {
"description": "HAR format version",
"type": "string",
@adamgoucher
adamgoucher / log.js
Created April 8, 2012 18:34
selenium ide logging systems
var pref_service = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("extensions.selenium-ide.");
function Log(category) {
var log = this;
var self = this;
this.category = category;
function LogLevel(level, name) {
this.level = level;
this.name = name;
@adamgoucher
adamgoucher / Video.php
Created April 10, 2012 15:02
video element in php
<?php
require_once('Media.php');
class PHPWebDriver_WebDriver_Support_HTML5_Video extends PHPWebDriver_WebDriver_Support_HTML5_Media {
protected function gettable_properties() {
$properties = array("width", "height", "videoWidth", "videoHeight", "poster");
return array_merge(parent::$gettable_media_properties, $properties);
}
@adamgoucher
adamgoucher / BrowserMobProxyTest.php
Created June 7, 2012 20:27
BrowserMobProxy and PHPWebDriver
<?php
require_once(dirname(__FILE__) . '/../PHPWebDriver/WebDriver.php');
require_once(dirname(__FILE__) . '/../PHPWebDriver/WebDriverProxy.php');
// yes, i know this is just local for me right now...
require_once '/Users/adam/work/PHPBrowserMobProxy/PHPBrowserMobProxy/Client.php';
class ProxyTest extends PHPUnit_Framework_TestCase {
protected static $driver;
protected static $client;
@adamgoucher
adamgoucher / TheEasyPart.py
Created June 15, 2012 14:17
parsing har files
import os.path
import pytest
import sys
f = os.path.join(os.path.dirname(__file__), "allievi.sssup.it.120601_0_89e253d69250548c5d814019fdd4f1ca.har.json")
def setup_module(module):
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
class TestHar(object):
@adamgoucher
adamgoucher / dhx_combo_box.py
Created July 13, 2012 17:53
dhx_combo_box
import pytest
from selenium.webdriver import Firefox
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support.select import Select
from selenium.common.exceptions import UnexpectedTagNameException
class ComboBox(object):
def __init__(self, webelement):
if webelement.tag_name.lower() != "div":
@adamgoucher
adamgoucher / gist:3360560
Created August 15, 2012 14:23
Descriptors and @Property
class Select(Element, WebDriverSelect):
"""
This works for getting the current value of a select element, and for setting it
-- but fails for /also/ getting the 'options' that are available. Thinking that I
need to use my_select.selection with @property and @selection.setter and
my_select.options with @property
Now, what I would love is to still use __set__ and __get__ to interact with the
the select, but also be able to get the options...
"""
@adamgoucher
adamgoucher / PHPWebDriver_Support_WebDriverExpectedConditions.php
Created August 18, 2012 13:35
Initial PHPWebDriver_Support_WebDriverExpectedConditions class
<?php
// Copyright 2012-present Element 34
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
@adamgoucher
adamgoucher / samplepageobject.php
Created August 22, 2012 21:36
sample page object in php
<?php
namespace WebDriver;
require_once('dashboard.php');
require_once(dirname(__FILE__) . '/../../../PHPWebDriver/WebDriverWait.php');
require_once(dirname(__FILE__) . '/../../../PHPWebDriver/WebDriverBy.php');
class SauceLoginPage {
private $locators = array(
"username" => array(\PHPWebDriver_WebDriverBy::ID, 'username'),
@adamgoucher
adamgoucher / qsta.txt
Created August 23, 2012 11:37
quicky security testing agendat
Security Testing
----------------
- its not paranoia if they really are after you
- https://www.owasp.org (top 10 is 2 years old, but still relevant)
- (a1) sql injection
- parameterized sql
- code review
- (a2) xss
- all input safe
- <script>alert('hello');</script>