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