This is a small tribute to a great tool. Mostly for fun, but there are some great features in the latest release of SpecFlow. Check it out. You can get the tool from the Visual Studio Gallery, but be sure to uninstall any previous versions first.
For a more serious look at some of the code features, head over to Vagif Abilov’s excellent post.
Marcus enters the office. He boots up the computer and opens Visual Studio 2012. With a smile, he thinks about how not only Vs2010 solutions open nicely in Vs2012, but also the new release of SpecFlow works fine for both.
Where was he now again? There was something about the feature file. He opens it and, thanks to the nice color coding of lines, Marcus is reminded of a step that he didn’t have a step definition for.
Read More
Experience report from rolling out agile in a big (120+ ppl) organization
I just ended my biggest coaching assignment in my career. So far. It started in January and aimed to roll out agile in a organization of 120 (and then some) people – 60 on the business side and 60 on the IT-side.
I first thought of writing about how it all went down and what we did, but I then realized that I would reveal way too much about the customer and it’s organization.
So instead I’ll write about a couple of things that I’ve experienced and thought of. Hopefully you can learn something from this - I know I did learn a lot.
Let me first state that not everything in this article is based from experience from this one client. If you read this and work there; not all of this happened at your place. Know this - it’s the same at a lot of places where I’ve...
Read More
What BDD is all about
I got an email from a colleague a couple of weeks back. We were members of the same team for awhile this last autumn. He (and the rest of the team) are great programmers - way better than me. I had some difficulties to keep in step with them, but to some extent that had to do with F# being the language of choice. A first for me!
We had a lot of discussions about TDD and if it’s feasible or pay off. This project made me realize that TDD done backwards (writing unit tests after the production code) is not only NOT TDD but also doesn’t pay off. But as I am dunked deeply in the BDD pool I suggested that we’ve take a look at that and get started that way. I never got through there…
So I was very happy when he wrote me an...
Read More
System.InvalidOperationException No automation provider available MsTest and FluentAutomation
We’ve run into a little issue with FluentAutomation and using MsTest at my current client. I’ve blogged about the setup before but then I used NUnit and everything worked just fine. With MsTest… we had some problems. The first was an exception that was thrown to us like above:
System.InvalidOperationException: No automation provider available
It was a quite awhile since I’ve used MsTest and I’ve forgot about some of it’s quirks. With the combined help of Håkan Forss and Hugo Häggmark I managed to get this to work.
Scroll to the end for the short version, by the way.
The first thing that I had forgot was that MsTest uses a Visual Studio project template of it’s own. You cannot use the Windows Class Library template, but rather should use the Test project (under the Test-category).
Once that...
Read More
Find the control–a way to stabilize UI automation… a bit
I have been diving deep into automating web pages for my current client. I have a love – hate relationship with this. It’s quite cool but I would also recommend against using it. I wrote about why just a post or two ago so I won’t repeat it here.
In this post I will instead acknowledge the fact that we are going to automate against the web page and do our best to handle the brittleness of such tests. One challenge that you are facing when writing code to automate elements of a page is to actually get hold of the elements themselves. This is done in different ways with different automation frameworks, but typically you can search by Id (or other attributes on the elements), order in the page, and position.
In this post, I will examine those different approaches and suggest one way that I’ve found...
Read More