Element 34 Archives
For a number of years Element 34 (dot ca) was a small consultancy that helped people automate browsers using Selenium, and later would focus more on Continuous Delivery and Laravel. It hasnt done any real consulting in almost a decade though, so that brand has wrapped up. There is some interesting content from that time though. So here it is.
The formatting is a bit wonky, but It'll get fixed it later. (Narrator: No, it won't.)
Using Elasticache Read Replicas with Laravel
OOM with Laravel Excel
Eloquent Pagination and Map — not the bestest of friends
Laravel News Catchup
ArchTech Newsletter
Experimenting where to put MySQL
Secure Node Registration in Selenium Grid 4
I was on the ‘Test Guild Automation Podcast’
Secure Communications with Selenium Grid 4
Scrum is an anti-pattern for Continuous Delivery
‘So what would you do?’
We need a priest (QA) to bless (test) all our work
Practice what you Preach
Is your Automation Infrastructure ‘Well Architected’? – SeConfChicago edition
Laravel and Logstash
Structured Logs in Laravel (Part 2)
Structured Logs in Laravel
mobilexco/laravel-scout-elastic; an AWS Elasticsearch driver for Laravel Scout
Client-specific domains with CloudFormation for clients that use Google as email provider
HubSpot in an AWS World
Harmonizing Maintenance Windows
It’s always a Security Group problem…
Faster feedback by limiting information frequency
Using Puppet to manage AWS agents (on Ubuntu)
Saunter 2.0
Stop Being A Language Snob: Debunking The ‘But Our Application Is Written In X’ Myth
Lessons learned from 19 months of a delivery manager
Continuous Delivery in a .NET World
SaunterPHP and the Browsermob Proxy
Going Dependent
Cooking With Web Automation – JQuery UI Menus
So you want to build a framework…
Page Object Contest #1: TimelineJS
Screenshots and Artifacts
Custom Firefox Profiles in Saunter
Downloading files in Py.Saunter
Nesting setup and teardown
Get Clarity around your Automation
Office hours at STAR<i>CANADA</i>
PhantomJS/GhostDriver support arrives in Saunter
Remote File Upload
SauceLabs Custom Data
Basic Authentication with the Browsermob Proxy
New Saunter Support Option
League of Automation Super Friends .. Unite!
PHP and WebDriver – This time with a partial solution
My current case against Record-Playback
A Quick Frame-switching Trick
Puppet-izing Oracle’s JRE
get_cell_at(x, y)
validate() — your HTML
A really, really, really, fast tour of WebDriver
IeDriverServer, WebDriver and Python
[Automation] Trick or Treat Style!
Waiting for jQuery
Flex Latches
Select2
PHP-WebDriver and Touch events
Apple Sauce and Android Sauce … Yummy! (And fully supported!)
Py.Saunter 0.48 – Selenium Grid, Parallel Execution and CI
The Automation Litmus Test
Proxy & Executor
WebDriverWait and Python
California Tour – Summer 2012
PHPHARchive
SaunterPHP and Jenkins CI
SaunterPHP PHP Versioning
HARPy
Get rid of the 3rd party crap
Driving from CSV with SaunterPHP
Announcing PHPBrowserMobProxy
Snakes & [Web] Services
HTML5 Media, WebDriver and Python
Enabling logging in Selenium IDE
HAR, JSON Schema and PHP
Implicit Waits, Implicit Evil?
Starting from Scratch with RC, Python and Py.Saunter
Okay. Maybe a Singleton wasn’t such a hot idea
Soft Asserts and py.test
Looking for a SaunterPHP Beta site
Not All Huge XPath is Evil XPath
How to Choose Selenium Training
Python, Postgres and some Monkeypatching (just for kicks)
WebDriver and Meta Tags
Introducing PHPWebDriver
Sending characters at an element with WebDriver
WebDriver and Cookies
How to hire a Selenium scripter
Not losing the trees for the forest
Another example of burying Element logic in the Page Object
Even framework opinions should be weakly held
But this is a Number
If it can’t fail, its not a check
Pagination for data sets you don’t control
How I shaved 50% off a single suite run – a write-up
Just Enough Python to be Dangerous
Wrapping APIs in your framework
A refactoring writeup
Sphinx, Py.Test Plugins and Decorators
Beyond Content and back into Structure
Before Setup
Know and Respect the moving parts of Automation
A Survey of the PHP and Selenium landscape
Death to visible content as locators in automated tests
The Great Locator Location Debate
Implicit Waits
Case Sensitivity of Attribute Names
Before you outsource your BrowserMob script development
Page Objects with Robot Framework
An interesting Python csv trick
Frames matter when counting elements
Handling planned failure
The two styles of synchronization
Weighing in on the fate of the Selenium Stack Exchange
My Big Continuous Delivery Summary Post
Self-documenting Python stuff*
A DRY Trick for variations of the same Action
Triggering Validations
Guaranteeing Unique Sessions with IE
Puppet and Selenium
Elements and Actions
The CI server as a Selenium Grid replacement
Parallel Job Chains in Jenkins
Job Chain Starting Points
Basic Jenkins Job Chains
Automation and Feature Toggles
Automating Content-based Systems
Babies and bath water
Jenkins Remote [Windows] Nodes and Private Github Repos
Continuous Delivery – Managing the machines
DOM Monster and Selenium
What Continuous Delivery looks like to me
Google Web Toolkit and id
Are you satisfied with your tests?
SFSE Lightning Talks
Domain-Specific Languages
Selenium Anti-Pattern – Including Setup and Teardown in the script
Advanced Locator Abstraction in Java
Selenium Anti-Pattern – Using DefaultSelenium
Automation ROI
Synchronization Pattern – Ladder
A Revised Stance on Reporting
Why your synchronization method doesn’t work anymore
Hybrid BrowserMob Scripts
Traceability in your Selenium scripts
Configuration Files in Python
Selenium 2 and Synchronization
NUnit and log4net
Dealing with File Downloads with Selenium
Automation Smells
If you really must write your Selenium framework in Java…
Selenium and YUI buttons
Assert vs. Verify in Se-RC
May SFSE Meetup
Selenium and Printing
Generating Test Data for Integration Testing (with and/or for Selenium)
Selenium and dynamically updated ‘values’
Screenshots and Selenium
Testing with Multiple Firefox versions
Do yourself a favour and don’t test using HTTPS
ATT2009 – From Start to Success with Web Automation
Continuous Deployment — the video
Competing and/or Complementary Patterns of Script Design
Building a Commercial Environment to support Selenium
The Selenium Value Chain
Roles of Automated Tests^H^H^H^H^H Scripts
History of a Large Test Automation Project Using Selenium
Agile Alliance Functional Testing Tools Workshop – 3
Know your audience when building out Selenium
What to do with the Selenium-IDE?
Quality through the lens of Astrophysics
Selenium and Canvas
Analytics and Selenium
Rake and Selenium
Three types of form submits
Rails and Selenium
Selenium Anti-Pattern: Using the browser (for everything)
Evolution of an Automated Test
Throw out your Automated Tests
Selenium and Ant
Java Selenium RC as configured with Python objects
Random test data from your database
Running JUnit tests from Jython
The Power of the letter J
One, and only one, config file
Oracle connectivity from Jython
Starting and Stopping the Selenium Server