Praveen Nageswaran Absent Member.
Absent Member.

Does silk 4j support the application build using Angular Angular JS + HTML 5


We have a Web based UI application  build using the HTML 5 ,Angular JS and two layers of frames available across all the pages.  Currently we are using protractor-cucumber framework  to Automate this application.


Since we want to migrate all our tests to silk 4j, I did try to automate application using Silk 4j. After recording the application, I observed following concerns and looking for your input in it.



  1. Few elements in object maps are not captured properly. (for example: //DIV[@ng-class='? ?ui-grid-row-heade*']/DIV[@dir='ltr']/SPAN[@textContents='1 - Initial review &*'])
  2. Some times while recording the the screen gets paused and unable to do any recording action.
  3. While replaying the script the screen gets paused and timeout error is displayed


Can somebody please confirm me that is it possible to Automate the Angular JS applications using silk4j? If yes, any help link ?

2 Replies
Micro Focus Contributor
Micro Focus Contributor

RE: Does silk 4j support the application build using Angular Angular JS + HTML 5


Generally speaking Silk Test supports the testing of Angular and Angular JS applications, however reading the description of the issue it is not possible to determine why the behaviour is occurring although the use of layered frames could possibly be attributing.

The best approach would be to log a support incident with us via so that we can have a look at your AUT and determine what is causing the problems.

Ray Shanley Absent Member.
Absent Member.

RE: Does silk 4j support the application build using Angular Angular JS + HTML 5

Hi Praveen,

Regarding testing Angular apps in Silk4J what I have seen is that executing certain actions "without sync" helps.

In our tests we have a utility method as follows:

  protected void runWithoutSync(Runnable action) {
    String optionName = CommonOptions.OPT_XBROWSER_SYNC_MODE;
    Object initialSyncMode = desktop.getOption(optionName);
    desktop.setOption(optionName, XBrowserSynchronizationMode.HTML);
    try {;
    finally {
      desktop.setOption(optionName, initialSyncMode);

Maybe that utility method is useful for you. If something takes too long or seems to hang, then wrap it in runWithoutSync() e.g.

  runWithoutSync(() -> mypage. find("//a[@id='myButton']").click());



The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.