Test Automation‎ > ‎

Codeer.Friendly

Features
・You can create GUI automatic tests.
You can create tests which is generally called "GUI Test" by operating GUI control.
Since an internal method is called directly, it is not dependent on timing and you can create the tests
which can be run at high speed.


・You can efficiently create effective and easy maintenance tests by focusing under GUI phase.
Since object application is started and carried out, naturally the combined logic can be tested.
However, differing from a general GUI operation test is able to test intensively in the condition of having joined together and it is not depending for an important function on GUI by calling an internal method directly.
Thereby a worthy test can be created at low cost.


・You can master at low cost amazingly.
In fact, there is not so much study cost required in order to use this library.
Since this library is offer of only the infrastructure which operates the application for tests,
the number of classes and methods are quite little design.

And methods which actually operate the application for tests are the method which you Implemented in product code,
and the method of Microsoft, a third party's class.
So you got used to it.
Moreover, since it is based on CLSCompliant, you can used the language to which you are used.

Target
Target of this library is Windows application. (Web application is out of target.)
.Net system applications (WPF is included) can be operated. Native application can also be operated.
About native application, it is due to release in the library which can be operated still more conveniently.
(Plug-in is carried out also to TestAssistant and it enables it to use for it simply)


Abstraction
Friendly is a test library for combined tests.
It aims at operating and testing a product process (test target application) from a test process.
It's provided as the .Net assembly.
Since it is based on CLSCompliant, it can be used from the any languages.
Although GUI operation is also possible enough, it is an application operation library rather than a GUI operation library.
In order to make an external class operate the internal method of a class by C++, there is a friend class.
In such an image, it is possible to call the operation (a method, property, the field, DLL public functions)
inside a product process from a test process.

That's why you can operate GUI and run tests fully.





Typical functions are as follows.

You can reserve a memory inside target application.

  Memory space are divided from test run process.
  Therefore, you can reserve a memory inside target application (a variable is declared),
  call functions by using the variable.

・You can use public operates inside target application.
  In the case of windows application, .Net and DLL public functions can be used as it's public by default.
  Please also leave the data verification as well as GUI operation.

・Target application is extensible to tests.
   Aren't there many demands that we would like to divide a product code and a test code as much as possible?
  However, when operating application, a test may be able to be created more efficient if there is surely
  special operation of a test.
  In such a case, the assembly and native DLL for a test can be loaded only during a test.

For example, the following codes can be written.
(It is the example used from C#.)
Characteristic thing is FriendlyOperation which calls operations inside target applications
by using ["Operation name"] (variable argument).
An operation name is a method, property, or the field.
public, private, and internal are all possible to be called.


//Access test  target process.
Process process = Process.GetProcessById(testTargetId);
WindowsAppFriend app = new WindowsAppFriend(process, "2.0");

//Get form by calling static method inside target process
AppVar main = app["System.Windows.Forms.Control.FromHandle"](process.MainWindowHandle);

//daclare variables inside test target
AppVar e = app.Dim(new NewInfo("System.EventArgs"));

//Call event hander by using declared variable
main["OnEnter"](e);

//If it is a model which can be serialized, an argument can be passed as it is.
main["Text"]("title");

Library
It is an assembly for operating the application for a test.
It is creating by .Net.
Please use in the language of a .Net system.
We publish only a small number of class in order to master in short time.

The class expressing the basic concept of Friendly is defined.

The class for executing Friendly operation to Windows application is defined.

Codeer.Friendly.Windows.Grasp.dll
The class for grasping and operating composition of Window is defined.

Test Assistant
It is a tool for helping creation of the test using Friendly.
It will not create tests in magic like Wizard, and will help your creation of tests as an assistant.
Therefore, in order to master it, you needs to understand Friendly.
(It's not so difficult to understand it.)



Inquiry and Bug reports
Please send to the following address about Codeer.Friendly(including TestAsssitant).

Friendly*Codeer.co.jp
(info*codeer.co.jp (Please use it after changing  * into @.))

Please understand that a reply may become late or it may be unable to send a reply depending on the case.
And please understand that the parts or all of the contents of the received mail may be opened to this web site for QA etc.