Archive for April, 2010

How to Upgrade a VS Beta 2 Coded UI Test Project to VS 2010 RC

Friday, April 30th, 2010

The new Visual Studio 2010 RC brings significant changes in the domain of the coded UI tests. You can realize that if you try to build a test project in this new environment as you probably get more than 1000 errors. There are a few errors that seem to happen a few hundred times each:

-’Microsoft.VisualStudio.TestTools.UITesting.UITestControlProperties’ is inaccessible due to its protection level.
- The name ‘HtmlProperties’ does not exist in the current context
- The name ‘UITestControlProperties’ does not exist in the current context
- The name ‘WinProperties’ does not exist in the current context

However, you can upgrade your project with an automatic upgrade script to move your automation:

  1. Launch the Visual Studio Command Prompt from Start Menu > All Programs> Microsoft Visual Studio 2010> Visual Studio Tools
  2. Run the script

    UITestUpgrade.exe < folder to upgrade>

    - The upgrade tool will fix all the changes listed below.
    - All the folders under the specified folder(s) is searched recursively and all projects under it upgraded.
    - If a project is under source control, the upgrade tool will do check out and make changes.
    - Tool will create backup folder with all contents of the specified folder

Rounding in Receivings Transaction Entry Window During a Conversion Between Currencies

Thursday, April 22nd, 2010

During work with the Receivings Transactions Entry window, we can be met with a situation when we receive 100 items in Canadian Dollars on WIREHOUSE site, and when we go through the Purchase Receipts Inquiry we get two lines, one line with receiving 99 at one unit cost and one line with receiving 1 item at another unit cost.

After receiving the items, the unit cost is translated from Canadian dollars into American dollars and rounded in two decimals. Also, it translates the total cost from Canadian into American dollars, and after receiving the quantity of 99 items at one cost, it rounds the last item to fit the total cost. That is why the last item is represented in a new line.

Look at the following example:
1. Open the window Receivings Transactions Entry like: Transactions -> Purchasing -> Receivings Transactions Entry

2. Enter the new Receipt Number and some Vendor related to Z-C$ (Canadian dollar) currency.

 

3. Click the button near the Currency ID and set the Exchange Rate to 0.9456270.

4. Enter some Item Number in the scrolling window and make Qty Shipped to be 100.

5. Set the Unit Cost to 1.54 and fill Site ID.

6. Now click the Post button.

7. Open the Purchase Receipts Inquiry window like: Inquiry -> Inventory -> Receipts

8. Chose the same Item Number as in Receivings Transaction Entry window.

9. Choose the same Site ID as in the Receivings Transaction Entry window.

10. Scroll the scrolling window to the bottom, click the expand button and the expected one line will be represented as two lines, one which displays 99 items bought by one cost and one line item with the same item bought by another cost. 

VSS Nested Projects Linked By Dexterity

Monday, April 19th, 2010

Working with Share and Branch options in VSS for Dexterity projects sometimes requires working with nested projects like on the picture below:

If we try to connect to the nested project through Dexterity, we will find ourselves in a situation that we cannot see the nested project. However, there is a way to load it, but there is no way to see it in the Projects window. Look at the following text.

Open the Dexterity project. Follow the path File -> Options -> Source Control. Click the  ellipsis near the Project Name. We are not able to see the nested projects.

Now, close the window Projects and enter the whole path Project/Project v.0.1.0 in the text field near the project name.

If we click the  ellipsis near the Project Name, the window Projects will open and we will be able to see the same list of projects as earlier. If we click the button Validate Connection, we will receive the following message:

But, this time, we do not follow this message and give up from loading data from this project on VSS. If we enter the proper name of a project as we have already done, the Dexterity will recognize it and load data from the nested project despite the message which warns us that we are on the wrong way.

Finn-Tack Goes Live with Microsoft Dynamics AX Customizations

Tuesday, April 13th, 2010

Wheaton, IL — April 13, 2010 — Merit Solutions, Inc., a 2009 Microsoft Dynamics President’s Club member and provider of Microsoft Dynamics business applications and custom software development, is proud to announce the successful go-live of Oy Finn-Tack Ltd’s (Finn-Tack) new Microsoft Dynamics AX customizations. Over the last 28 years, Finn-Tack has grown to include three production plants, two warehouses, and 900+ retailers worldwide. In order to facilitate future growth and increase customer satisfaction across locations, Finn-Tack recognized the need to offer credit options to some of their customers.

After discovering limitations in their current system that would not meet their business process needs, Finn-Tack turned to the Merit Solutions Development Team. Through custom coding, the team was able to extend Microsoft Dynamics AX to enable a revolving credit option to Finn-Tack’s customers. This meant their customers could now make purchases as often as they wanted, up to a certain credit limit. It then allowed them to decide when to pay off invoices, with minimum monthly payment installment options.

Learn more about Finn-Tack’s Microsoft Dynamics AX Customizations.

Upgrade VS Beta 2 Coded UI Test Project to VS 2010 RC

Tuesday, April 6th, 2010

The new Visual Studio 2010 RC brings significant changes in the domain of the coded UI tests. You can realize that if you try to build a test project in this new environment as you probably get more than 1000 errors. A few errors seem to happen a few hundred times each:

  • Microsoft.VisualStudio.TestTools.UITesting.UITestControlProperties’ is inaccessible due to its protection level.
  • The name ‘HtmlProperties’ does not exist in the current context.
  • The name ‘UITestControlProperties’ does not exist in the current context.
  • The name ‘WinProperties’ does not exist in the current context.

However, you can upgrade your project with an automatic upgrade script to move your automation:

  1. Launch the Visual Studio Command Prompt from Start Menu > All Programs> Microsoft Visual Studio 2010> Visual Studio Tools
  2. Run the script

UITestUpgrade.exe < folder to upgrade>

The upgrade tool will fix all of the changes listed below:

  • All of the folders under the specified folder(s) is searched recursively and all projects under it upgraded.
  • If a project is under source control, the upgrade tool will perform a check out and make changes.
  • Tool will create a backup folder with all contents of the specified folder.

Visual Studio 2010 RC – What’s new in Coded UI Test

Friday, April 2nd, 2010

The Release Candidate (RC) version of Visual Studio 2010 has been released by Microsoft and is now available for download. From a tester’s point of view, Visual Studio 2010 Beta is a revolutionary step from Microsoft with a bunch of new stuff in Coded UI test for automation testers.

Visual Studio 2010 RC made some significant improvements of which I chose following:

Pause playback to wait for certain event

This capability was not available in VS 2010 Beta 2 and it was noticeably lacking. For example, it was impossible to wait for the form, message, progress bar to disappear etc.

This was accomplished with a modification of the UITestControl class. In the RC, you can use the appropriate UITestControl methods from the list.

1. WaitForControlReady() – This waits for the control to be ready to accept mouse/keyboard input.
2. WaitForControlEnabled() – This waits for the control to be enabled.
3. WaitForControlExist() – This waits for the control to exist on the UI.
4. WaitForControlNotExist() – This waits until the control ceases to exist on the UI.
5. WaitForControlPropertyEqual(string propertyName, object propertyValue) – This waits for the specified property of the control to have the given value.
6. WaitForControlPropertyNotEqual(string propertyName, object propertyValue) – This waits for the specified property of the control to not have the given value.
7. WaitForControlCondition(Predicate conditionEvaluator) – This waits until the specified predicate returns true.

 

(more…)