will qaf support angular 2 web application?

145 views
Skip to first unread message

VIJAYARAGAVAN K

unread,
Oct 6, 2018, 8:45:41 AM10/6/18
to qaf users
hi ciraj,

we are planning to start use qaf framework, will it support angular 2 web application. sooner web app migrated into angular 5. is it good to go with QAF or Protractor. 

if QAF supports angular web application. can you please share the any documentation for that. 

Thanks,
vijay 

cjayswal

unread,
Oct 7, 2018, 5:06:47 PM10/7/18
to qaf users
I am not sure what you mean by angular  support. For blackbox testing, it doesn't matter what underlying technology is used to build application. Below are few of findings from one of the project team recent experience where they moved to qaf after spending 4 weeks with protractor:
    • Any locator we specify (ID, name etc ), protractor internally converts it to CSS selector that might cause issues when interacting with mobile native elements (i.e. popups).
    • As per our findings till now, protractor supports only hybrid applications for automation as it uses java script for perform actions.  It may introduce issue working with Native elements on mobile apps.
    • Protractor is most widely used for web and mobile web. It doesn’t have direct support to android and iOS driver for mobile apps (native or/ hybrid). As per protractor mobile-setup documentation, There are many options for using WebDriver to test on mobile browsers. Protractor does not yet officially support or run its own tests against a particular configuration.
    • Difficult to debug code compare to java debugging on Eclipse or other IDE results in more time and effort for troubleshooting.
    • In protractor there is no direct way for grouping. People are using grep which is not correct solution, for example, it will select "Regression" and "Non-Regression" both if you use grep "Regression"
    • There is no support for rerun only failed test cases.
    • Reporting - Identification of failed test cases is complex, specially, when number of test cases are more. You need to search test cases manually. It doesn’t show the number of test cases executed, passed, failed etc. Also reporting of execution on device is not available. on mobile, screenshot of the execution is not getting captured and it hangs/stops there. There is a limit for displaying number of test cases on the page.
    The only advantage is you can have wait for angular and angular specific element find strategy which is completely java script based and uses web-driver execute script. It is not must to have but still if you required that, it can be done in QAF by utilizing ngWebDriver. With latest qaf you can have custom locator strategy that can help over their. Again it is works for web only and will not work for mobile native or will cause issues with mobile hybrid apps.



शनिवार, 6 अक्टूबर 2018 को 5:45:41 पूर्व UTC-7 को, VIJAYARAGAVAN K ने लिखा:

VIJAYARAGAVAN K

unread,
Oct 8, 2018, 2:44:22 PM10/8/18
to cjayswal, qaf users
Hi ciraj,

I need to Automate Web Application. which is developed using Angular 4. I would like to Automate through selenium Java (QAF).  Is there any smaple selenium Java script or any documents to handle NG related (ng-bindig, ng-repeat.etc...)  HTML DOM elements. ?.

Need to handle Angular Asynchronous wait in selenium. Is there any methods available in QAF.?

Thanks for your support 😊

Thanks,
Vijay



--
You received this message because you are subscribed to the Google Groups "qaf users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to qaf-users+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/qaf-users/572ddd12-8082-4ffa-9596-fe64c66c4816%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

cjayswal

unread,
Oct 8, 2018, 5:16:27 PM10/8/18
to qaf users
For locator strategy support specific to angular refer attached java file.

You can have method like below to implement wait for angular calls which uses NgwebDriver
   
    public static void waitForAngular() {
        NgWebDriver ngDriver = new NgWebDriver(new WebDriverTestBase().getDriver());
        ngDriver.waitForAngularRequestsToFinish();
    }

You can call this method in driver listener afterCommand if command is get or element listener after command where command is click. If you are using test page you can override waitforpage to load method and call above method in that.



सोमवार, 8 अक्टूबर 2018 को 11:44:22 पूर्व UTC-7 को, VIJAYARAGAVAN K ने लिखा:
To unsubscribe from this group and stop receiving emails from it, send an email to qaf-users+unsubscribe@googlegroups.com.
CustomLocatiorStrategy.java
Reply all
Reply to author
Forward
0 new messages