Running Spectron Tests in Visual Studio Team Services Build

Having end-to-end tests and running them locally can definitely be beneficial, but one of the main reasons to have them is to run them automatically during a nightly build. Getting these tests to run in Visual Studio Team Services isn’t trivial. Here’s some tips on how to get them going. Setting up build definitions When…

Unexpected Benefits of End-to-end Testing

End-to-end Testing Testing where the entire application is tested in a real-world scenario such as communicating with the database, network, hardware and other applications. The above is the general definition of what an end-to-end test is. Most of these tests are written to make sure general flows of the application that a user may take…

Get Function Keys By Default with Parallels and a MacBook Pro Touch Bar

Having purchased a 15 inch MacBook Pro with Touch Bar recently, I’ve been having a good time seeing how that Touch Bar can be used. With applications that know about the Touch Bar, it is an interesting UI approach. But with many macOS applications not having full Touch Bar support, I’ll reserve full judgment until…

Top NPM Packages for Spectron Testing

Spectron is a great tool for testing your Electron applications. However, some help is needed to get the full use out of it. This post will go through all of the npm packages I’ve found useful in my Spectron testing. Jasmine Reporters The default reporter for Spectron is to just log out to the terminal.…

Introducing the Spectron Command Line Tool

After some Spectron experience there tends to be some things that can get repetitive when creating Spectron tests. I figured creating a tool to do just that would be handy to have. So I created the spectron-cli npm package. Granted, this command line tool doesn’t do all that much. Currently, it only has two commands to…

Spectron Tip: Getting Selectors From Chrome Dev Tools

If you’re using Spectron (or even Protractor) for automating your applications probably the most time consuming thing is to figure out exactly what selectors you need in order to interact with your application. Whether to click on a button or to test if the text of a dialog is what you expect, you need a…

Creating Page Files for Spectron Tests

Now that we’ve got Spectron working, let’s add some more to it to help with our testing. One way of doing end-to-end testing is to have a separate file that contains our page objects and any helper functions specific to that page. This will help the readability and maintainability of our tests. The latest code…

End-to-end Testing Electron Apps with Spectron

You’ve built a really awesome Electron application, but you want to include a few automated tests to make sure a regression doesn’t occur? Spectron is here to help! Spectron is Electron’s end-to-end testing library. Let’s see how it we can set it up to use in our own Electron projects. If you want to go straight…

Why can’t I use the “dynamic” C# keyword in Xamarin.iOS?

Occasionally I see this question pop up in various forms; usually an app developer has written some fairly clever code that relies on the dynamic keyword in C#. Their code runs swimmingly on every other platform—and it also compiles just fine for iOS. But when they run the app on a physical iPhone or iPad…

Using XAML in F# Xamarin Forms – A Screencast

Now that we’ve seen the awesome new stuff in Xamarin Studio for F# let’s go a bit further and actually use some of those improvements to our advantage. However, instead of just a regular blog post, I thought it’d be worthwhile to do a screencast for y’all. You can view the demo code directly on…

F# Improvements in Xamarin Studio

With the (almost) stable release of Xamarin Studio 6 comes a ton of great new improvements. I absolutely love the new dark theme! However, some huge improvements were made to the IDE for F# support, as well. Improvements that I feel may have gone without much notice. So I wanted to help get those improvements…

NG-Conf 2016 – Day Three Wrap Up

The last day of ng-conf 2016 continued with lots of great information. Some highlights: Daniel Rosenwasser gave a good overview of TypeScript and a little bit of its history. He also demonstrated benefits of using TypeScript with Javascript directly. It can be beneficial in catching things in regular Javascript code (serving a similar purpose to…