Share on Twitter

This morning I got a nice little email from a dear Egyptian friend, Ebeid Soliman (@ebeid_soliman) asking the following:

I know this may be something answered by google, but I trust your opinion.
What is the best free automated UI testing framework/tool you used ? or know ?

I actually already have a long draft on the subject showing the framework I use, and how to get basic stuff working on it, since this one is not yet complete, let me for now share my reply to him with you, as raw as possible …

(I have added some titles to make the long reply more readable)

The Reply

 

Choosing a framework

Look, I haven’t tried many. Only Watin and Selenium, and even Watin didn’t dig it enough.

The people around me all seem to be using Selenium. This is not only the story though…

, , , , ,
Share on Twitter

Introduction

Sqlite

SQLite is a file based database, or an embedded database that you can use without need for any special installation from your side. It’s a bit popular for non-LOB (line of business) desktop applications and even mobile applications like Android apps. It also has an "In-Memory" mode where there is no physical file used as a database, which is usually used in testing.

It has a similar syntax (sort of) to SQL Server. In Microsoft .NET world,, those using NHibernate are usually using the in-memory mode for applying unit testing or trying out NHibernate stuff, although Microsoft has its own embedded database called SQL Compact Edition (CE), which doesn’t seem to support in-memory databases (v4.0).

 

You can download the latest Sqlite database (v3.0) from:

http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

Since it’s not SQL Server, you need a special ADO.NET provider too. It’s called "System.Data.Sqlite"., which is very similar to the normal System.Data.SqlClient stuff. It’s included in the above download link.

 

NuGet

If you don’t know what NuGet is, go to www.nuget.org or check my old posts mentioning it, or if you are an Arab maybe check this post in Arabic.

, , , ,
Share on Twitter

Lately I have been doing more stuff on the Console as getting to Ruby and messing a bit with Git and stuff.

Generally speaking the default Windows Command Prompt is really fine for my needs, but I sure would love to see more possibilities. PowerShell was a great scripting / tooling addition but not much of “Editor” / “Environment” improvement. PowerShell ISE (integrated Scripting Environment) is really so nice and powerful, but it doesn’t feel exactly like my usual Console. I tried Console2 and was really impressed with how similar and different it is in the same time.

Surely, it didn’t mean I have to lose PowerShell features in there!

Get Console2

Just grab it from http://sourceforge.net/projects/console/files/console-devel/.

By the time of writing v 2.0 was the latest. I just went to that folder and got the latest Zip in there. Yeah. No install, just a Zip file, so, you may need to make a shortcut for it on your own and / or place it in somewhere that’s already in your Windows ENVIRONMENT variables.

Find the Path To PowerShell

The way I did it was go to Start menu, type in PowerShell in the search box, and right click the PowerShell icon, and choose Properties.

, , ,
Share on Twitter

In VS 2010, extension manager is part of a nice new generation of VS plug-in system. One of the great features of it is how it can go online talk to Microsoft Visual Studio Gallery website to retrieve list of extensions there, automatically discovering updates for installed extensions, and allowing me to add new extensions directly from within Visual Studio.

The Problem:

However, in my company I could not take benefit of that for long time. Reason is, the company uses Blue Coat proxy, with some active directory based authentication. We cannot access the Internet unless we use that proxy, no direct connection allowed, most other proxies are also blocked (by blocking the common proxies port 8080 and many other common ports).

Although I have the proxy set in Internet Explorer, and I have the username/password stored in my Windows Credentials store  (Start–> Run–> Control PanelAll Control Panel ItemsCredential Manager) -since my primary work laptop and user account on it are not part of the company domain-, Visual Studio did not seem to be able to use that.

Anything that requires online communication not directly using the browser is not working. The main feature missed by this is Extensions Manager integration with the Visual Studio Gallery online.

, , , , , , , ,
Share on Twitter

In NHibernate there is a Save(entityObject) method, which creates a new row in the database with the given entity object, also, has an Update(entityObject) which updates the row corresponding to the entity object with the property values of this object. It also has a SaveOrUpdate(entityObject) method, which checks the whether the entity object corresponds to an existing row in the database, and chooses whether to call Save(…) or Update(…) based on that.

The way I usually do web applications across multiple tiers, when not using view models specifically, makes me encapsulate much code in Services layer that sometimes does not need to care about whether the given entity is persisted in database or not. Thus wanted to have similar method using Entity Framework as ORM.

Of course I have implemented the method number of times and the code evolved based on which version of Entity Framework I’m coding against, and my knowledge of the framework internals as well.  Actually, when you work with so many ORMs like I did, a new ORM or ORM version turns to only sound like “What’s new in the manual?” thing.

, , , , , ,