Further inspection of the VM determined that the rest of the path could not be created via Windows Explorer because Windows thought that path was locked.
While we were able to create the missing directories from cmd (started with Run as administrator), this didn't help because Installation Manager would delete the 0 directory if it existed and then fail to recreate it due to the lock problem.
At this time, we believe the lock problem is happening by design because the VM provider wants to block installations done manually without using the provider's installation packaging process.
So if you're ever doing an installation with Installation Manager and it consistently fails with an error similar to the above, see if you can manually create the missing folders from Windows Explorer -- if you can't, you will need to resolve that first.
Sometimes, you need to shell share an RTC client with RFT but because of the product versions involved, the underlying Eclipse versions are not compatible. For example, this will happen if you are using RFT 9.1 and need to shell share with an RTC 5.0.2 client.
When the Eclipse versions are incompatible, you won't be able to shell share an RTC client that you can install via Installation Manager with RFT. But you still can achieve shell sharing if you use the RTC client p2 install, which can be downloaded from jazz.net. Please note that the versions you integrate still need to be a supported combination (per the system requirements).
The example below installs the RTC 5.0.2 client into RFT 9.1 using the p2 installation method:
1. Download the RTC 5.0.2 p2 Install Repository from jazz.net (in the RTC 5.0.2 Downloads tab, go to the All Downloads tab).
2. Start RFT and do Help > Install New Software.
3. Click the Add button to start the installation.
4. Click the Archive button and navigate to the location of the downloaded .zip and add it.
5. Check the box for the RTC client and click Next, then click Next again.
6. Accept the terms and click Finish.
7. Click OK to proceed with the install if you get any security warnings.
8. Restart RFT when prompted to finish the installation.
The ClearCase and ClearQuest patches have been posted to Fix Central and are now available for download. The associated IM update sites are also "live".
The 188.8.131.52, 184.108.40.206, and 220.127.116.11 download pages are available from http://www-01.ibm.com/software/rational/support/ and their URLs are listed below. We
have all the URLs you'll need in one place. Find them below!
IBM Rational Functional Tester (RFT) is all about object recognition. If the graphical user interface (GUI) contains objects that Rational Functional Tester recognizes, you can record a sequence of actions. You can replay this sequence afterward.
This post wants to introduce you to object recognition in Rational Functional Tester.
The heart of object recognition in Rational Functional Tester is the object map. The object map is a graphical representation of the objects in your application under test that Rational Functional Tester encounters.
Through Windows hooks, Rational Functional Tester memorizes what actions you played in the GUI. Here, a hook means a mechanism that works between the keyboard or mouse and the GUI object.
Let’s say, when you click an object, information about that object flows from your video chip to the memory of Rational Functional Tester. During recording, Rational Functional Tester stores the information that the hook gathered.
For more information about hooks, see the following document on Microsoft.com.
When you finished recording, Rational Functional Tester puts the information about the objects into a kind of table. This table shows the objects of your application in a parent-child view. We call this table the object map.
With this object map, you can manipulate the way Rational Functional Tester recognizes the objects in your application under test. In this way, you can fine-tune your script to play back more easily, for example.
Roughly, the object map contains the following information about the objects that you touched during recording: administrative properties, recognition properties.
The object map displays the name that the developer gave to the object.
The name that you in the application’s graphical interface.
If you look at the picture, the domain is the first information that the object map reports about an object. In this example, we’re talking about a Java application. Therefore, the domain is Java. If the application runs in a browser, the object map would say HTML. The domain must match with the type of application under test.
These values are the properties that the recorder collects. These properties make the object unique. Therefore, when you run the script, Rational Functional Tester recognizes the object without ambiguity.
The recorder also assigns a weight. The weight says how important a property is for recognition. If you want, you can change the weight of any recognition property. In this way, you decide yourself what property is important for recognition.
In the sample application Classics Java, you can see the following properties of the Place Order button.
Unique ID: 1.3kaXiXo9H95:AQpC:Pyg70l9:8WW.
You can also see that the most important properties for recognition are the class name, accessible name, and name.
What to do with the object map
In the Rational Functional Tester Script Explorer, you see two kinds of test objects. You see an icon with caption Private Test Object Map. As the name “private” says, these objects belong only to that script that you recorded.
You can also make an object map that you can share with other scripts. With such a shared object map, you can change the object properties in a single place instead of all the private object maps. To create a test object map:
Right-click your project > Add Test Object Map.
When you right-click an object in the object map, you see a set of action that you can apply to the object. The most important are the following items.
Highlight test object
Insert test object
Highlight recognized objects
If Rational Functional Tester recognizes an object properly, you can highlight that object through the object map. Watch the video to see how that looks like.
Insert test object
If your application has an object that you didn’t record, you can still add these objects to the object map. Now, Rational Functional Tester can recognize the object when you run a script where the object does play a role.
Is there a better way? find() method
Sometimes, the object map is not an option. Sometimes manipulations on the object map are too tedious. Sometimes, the object map doesn’t contain an object that you want to play back. Then, the find() method is the way to go.
You can start with the class of RootTestObject. This class gives you access to your application. So to say, RootTestObject opens the objects of your application under test.
Let’s look at the syntax first. I show an example later.
public TestObject find(Subitem properties, boolean mappableOnly
For Subitem, you can use the following items.
A name or value pair that represents a TestObject property.
Contains properties that match with the direct child of the parent TestObject.
Contains properties that match with children or objects under the children of the parent TestObject.
Specifies a sequential properties list that match with atList.
public TestObject find(Subitem properties, boolean mappableOnly)
//Define window and find Place Order button RootTestObject root = RootTestObject.getRootTestObject(); TestObject matchingObj = root.find(atProperty("name", "placeOrder"));
The video shows how you can click the button Place Order in the sample application through the find() method. The find method is a different way to a click from a click through recording. In the video, you can watch the following steps.
Open the application under test.
Create an empty script.
Open the empty object map.
Click Insert Objects … to populate the object map.
Drag the object finder, the hand, to the caption bar of the application. This action casts a red rectangle around the entire screen of the application.
Select Include all available objects on this window. Then, click Finish.
Locate the Place Order button in the object map. Then, click Save.
Insert the following code into the script. This code makes the objects available in the application window.
Rational Functional Tester does not support custom objects.
When something is wrong with the object recognition, you see that the object map either doesn’t list the object and the Test Object Inspector doesn’t see the object. Also, when you see Win.GenericProxy or HTML.Generic.Proxy in the object map, you are dealing with a custom object. When you play back the script, you notice. For example, you get an ObjectNotFoundException.
From my experience, I would first check whether Rational Functional Tester recognizes the objects in the right kind of application. In other words, what domain the object map assigns to the objects. For example, the object map must say HTML for objects in a web browser.
If the domain is the right domain, you can see whether you can highlight the object through the object map. See the video in this post.
What to do with objects not in the object map
With the find method, you can also try to discover an object that Rational Functional Tester recognizes but doesn’t put in the object map. You can see these objects through the Test Object Inspector.
If you set the Test Object Inspector in the Options menu to not hiding objects that are not mapped. If you want to find objects that are absent in the object map, use the mappableOnly parameter. Now, you say that the Boolean value is false.
Object recognition is an important condition for Rational Functional Tester to work. A central role in the object recognition is the object map. You can manipulate the object map or use the find method.
I hope that I explained how the object map works and what you can do to improve object recognition.
If you’d like to share your experiences with object recognition in Rational Functional Tester, leave a comment here or follow me on Twitter.
Rational Test Workbench 9.0.1 is available! Find the related download links below.
Here are a few capabilities in this new version:
1. Integration with IBM z/OS Connect
2. Support for Channels and Containers in CICS Distributed Program Link
3. Improvements in message schema handling to improve project portability
Scenario1: When query the workitem and change the state or work item to completed, it will popups the message to associate work
Scenario2: In plan editor the workitem change the state or workitem to completed, it will give error message to associate work
"Could not save work item.
No Duplicate work item was specified, click here to choose one."
Please find the steps below, where you can enable the Duplicate link association for work-items in RTC Query view and Plan view ( Inline Workitem editor & Plan Editor )
1. Open your project's configuration
2. Expand to the following section Project Configuration > Configuration Data > Work Items > Editor Presentations
3. In the Choose the Editor Presentation to edit drop down select your work item's inline editor (this would be com.ibm.team.workitem.web.inline for Defects)
4. Under one of the sections add a new presentation
5. In the Add Presentation dialog select Non-Attribute-based Presentation
6. In the Kind drop down select Links
7. Choose your shown link types, making sure to select Duplicated By
Note: if you use "duplicated by", it will still complain that you do not have the correct relationship from your workitem association.
"Duplicate by" would be the other end of the link for "duplicate of"
Work item A and work item B
Work item B was opened but it describes the same thing that is covered in work item A
You want to close work item B because it is a duplicate
You would need to add a link from B to A, a "duplicate of..." link pointing to work item A
Work item A would then have a "duplicated by..." link pointing back to work item B
Its like a tracks/contributes or a parent/child, two different parts of the same link.
Note: Please associate the workitem using the "Duplicate of" from the workitem.
There are scenarios where you could see a blank page while working with Rational Asset Manager (RAM). Once such scenario you might come across is a blank web page being displayed when you are trying to add a user to the Access Control black / white list in RAM via Administration > Configuration > Add user to Access Control [Black|White] list.
Failure to add user to the Access Control list issues can occur if the registered RAM user's information conflicts with the user registry information stored in your directory service protocol such as LDAP.
Are your users being managed via LDAP?
If yes, it is very much possible that the registered RAM user info conflicts with LDAP registry information.
You might as well see information about such failure to add the user to the list as an exception present in the log file. (the ramdebug.log)
This has been identified as a known issue and is logged as a defect
To resolve this:
First resolve any user conflicts.
Then try refreshing the page and attempt to add the user to the desired list.
You can find all the details on configuring users for LDAP integration here.
How does RTC eclipse client calculates the number of loaded content in the sandbox, when users loaded using load-rules?
Scenario: The term "loaded" refers to "share roots" and when using load rule file, the possible "share roots" are folders and files.
The Package Explorer will show the 'share roots'which are loaded and not the number of components, normally folders are loaded and become a share root (meaning anything inside them is automatically tracked, and changes there will appear as an unresolved pending local change). It is also possible to have files individually loaded (in which they are technically a 'share root' all in themselves); this usually doesn't happen when using the Load Wizard (where users normally load projects/folders), but this can happen when using load rules, since users are free to pick and choose what they want to load.
-The 'itemLoadRule' element in a load rule file will identify a single file, folder or symbolic link that is to be loaded as a 'share root'. The Package Explorer would count this as 1 for the number of 'things' loaded.
Below is the example : Assume that the folder "H1" and the file ".jazzignore" under comp2 are the ones that are considered as "share-root"s ? Which add up to the count of 2 loaded against comp2 ?
1. Loaded refers to anything that is loaded as a share-root. This anything here is one of File, Folder or Symbolic Link.
2. Any File/Folder/Symbolic Link pointed to by an itemLoadRule will be loaded as a share-root
3. Children of anything pointed to by a parentLoadRule would also be loaded as share-roots
4. Loaded count gets aggregated over the hierarchy
5. To see what is being loaded as a share root, remove the filter on *.resources in the Package Explorer and each of the share roots would be decorated.
You're invited to IBM Cloud Technical University, October 25 - 28, 2016!
A registration to one conference provides full access to two conferences: IBM Digital Experience & IBM Commerce Learning Academy 2016 and IBM Cloud Technical University 2016.
For the fifth time, the IBM Digital Experience & IBM Commerce Learning Academy 2016 and the IBM Cloud Technical University 2016 will be held together to reflect the integration of new topics such as Cloud, Rational and Tivoli and much more.