Install MacOS updates remotely via Command Line over SSH

Automating OS updates can be an important part of OpSec. Here's a quick script to enable automatic OS updates on MacOS: See if Mac OS updates are installed by going to System Preferences > Software Updates > Advanced. You want "Install MacOS updates" to be checked. But you can also check this via the Command … Continue reading Install MacOS updates remotely via Command Line over SSH

An Asynchronous Test Runner?

Here's a conversation on LinkedIn talking about which programming language you should choose for a test framework -- including comments about how automated tests are inherently synchronous (which I agree with) and why someone would write an asynchronous test framework in, for example JavaScript. Vikas Mathur Typically, programming language for test automation can be … Continue reading An Asynchronous Test Runner?

How to get cryptocurrency prices using Python (and various tools)

Here's another post based on a question from Quora: Can I export the contents of an HTML table to Excel or MySQL via Selenium/Python? No, you can’t export a table from HTML to Excel or MySQL using Selenium with Python. But you’re in luck! You just asked the wrong question. It’s like if you had … Continue reading How to get cryptocurrency prices using Python (and various tools)

When should you use JavaScriptExecutor in Selenium?

When you want to execute JavaScript on the browser :) This was my answer to a question on Quora JavaScriptExecutor is an interface that defines 2 methods: in Java (and similarly in C#): Object executeScript(String script, Object... args) and Object executeAsyncScript(String script, Object... args) which take as an argument a string representing the JavaScript … Continue reading When should you use JavaScriptExecutor in Selenium?

Weekly Wednesday Webinar on Selenium & Sauce Labs

I've been working at Sauce Labs for a while now, helping enterprise users build test automation frameworks and implement continuous integration using Selenium & Sauce Labs. In order to reach a larger audience -- and to learn more about people's challenges developing test automation -- I'm going to be hosting a weekly webinar on using … Continue reading Weekly Wednesday Webinar on Selenium & Sauce Labs

Continuous Testing

I've done a lot of setup and administration of continuous integration servers -- cruise control (including variations cruisecontrol.rb and, luntbuild, hudson, jenkins, bamboo, TFS, go. I have my favorites (and not so favorites.) I've seen them used well and abused for continuous delivery and deployment as well. Ironically, the ones that seem to work … Continue reading Continuous Testing

Acceptance Criteria Presentation

A few weeks ago I gave a presentation about acceptance criteria and agile testing to a team of developers I'm working with. Some of the developers were familiar with agile processes & test driven development, but some were not. I introduced the idea of behavior driven development, with both rspec "it should" and gherkin "given/when/then" … Continue reading Acceptance Criteria Presentation

Thoughts on NUnit and MSTest

I recently had a discussion with some other developers about NUnit and MSTest. My personal preference is based on familiarity -- originally from JUnit and TestNG, but also with NUnit. NUnit was around long before MSTest, and MSTest was not available with Visual Studio Express. I personally, haven't used MSTest so I scoured the internet … Continue reading Thoughts on NUnit and MSTest

Running NUnit tests programmatically

I'm working on a test framework that needs to be run by less-technical testers. The tests are data driven from a spreadsheet (google docs spreadsheet API + gdata.) Tests will be run locally (for now at least) since there isn't a test lab available for remote execution, and no CI. I didn't want to have … Continue reading Running NUnit tests programmatically

Updating test results in QC using the QC OTA API explained

Yesterday I cleaned up and posted my example QCIntegration utility on GitHub. While it works as a standalone tool, some people might not want to wade through the code to understand or modify it. So today, I'm going to try to explain how the OTA API works by recreating the steps as a blog post … Continue reading Updating test results in QC using the QC OTA API explained