hi Ramith, As we discussed in the code review ,I will list down the Items that we came to a conclusion in order to make automation friendly App Factory UI.
1. Add IDs for the table elements which we use to traverse down using xpath. 2. Remove all the anonymous xpath names given. 3. Add ID's for all possible elements in order to reduce the usage of xpaths of the code. I would like to add and extra point as when a UI change is going on for App Factory it will be a great help if App Factory team could notify the change to the Automation team. Thanks Randika On Thu, Aug 1, 2013 at 3:50 PM, Krishantha Samaraweera <[email protected]>wrote: > Please find the code review notes. Crusiable project is also updated with > review notes. > > It was a great privilege to have Ramith in the review meeting. His > presence was helpful for us to understand internals of App Factory and > test suite improvements. > > Randika, please send a note on points discussed as improvements for > automation friendly App Factory UI. > > 1. Use Map to hold application information and use singleton to retrieve > map. > 2. User enam or constant class to hold application types. > 3. AppFactoryIntegationTestCase should be renamed to > AppFactoryIntegrationBase > 4. No asserts in most tests. > 5. Change username and password methods - follow method conventions. > 6. Need to get rid of username and password methods. > 7. In createAnApplication method use proper waits instead of thread sleeps. > 8. Use proper logs - not enough logs availabe. > 9. Throw a stack trace object as well. > 10. Don't hard code mappers elements with product names. > 12. User all lower case names for properties > 13. Java doc comments in each pageObject class. > 14. Don't use log heavily. - AppManagementPage > 15. isApplicationAvaiable - return exception without using if and else. > 16. Throw run time exception instead of returning a boolean. > 17. editApplicationDetails should be renamed to editApplicationDescription > 18. Separate methods for each application edit. > 19. Is Edited - is an application description edited. > 20. More meaningful names for parameters AppManagmentPage > 22. Fix all idea warnings and run findbugs and checkstyles plugins before > the code review. > 23. AppManagement should be AppLifeCycleManagement. > 24. use Asserts in tetAddVersionToTrunk() > 25. Use same session in test class - no need to login and logout in each > test cases. > 26. Lifecycle management - should be independent of LC state - user > jaggery API retrieve LC states and checkpoints. > 27. User meaningful variable names. > 28. Code indentation and code styles. > 29. promoteVersion - don't use magic numbers, use meaningful variable > names. > 30. promoteVersion - Read the date from app factory UI and use it in tests. > 31. promoteVersion - LC states and checklist should not be hard coded. > 32. promoteVersion - throw the exception, user log.error instead of > log.info > 33. IsBuildDetailsAvailable - return the build status instead of checking > it inside. > > Thanks, > Krishantha. > > On Tue, Jul 30, 2013 at 10:44 AM, Randika Ratnayake <[email protected]>wrote: > >> This event has been changed. >> more details >> »<https://www.google.com/calendar/event?action=VIEW&eid=dmVncXI0ZHYxNXRoZGQwaTZhMzVuaWZvaGsga3Jpc2hhbnRoYUB3c28yLmNvbQ&tok=MTYjcmFuZGlrYUB3c28yLmNvbTUyZTYzZDhhZjMzYzlkYTljMWE3OTdiYTMzNDQ2N2Y4M2I1ZDY1Y2I&ctz=Asia/Colombo&hl=en> >> [Code Review]App Factory UI Automation >> Crusible - >> http://wso2.org/crucible/cru/WAF003-4<https://www.google.com/url?q=http%3A%2F%2Fwso2.org%2Fcrucible%2Fcru%2FWAF003-4&ust=1375168480780000&usg=AFQjCNFe3pWARf7JQOXdu3Af3-J3hhINkA> >> *When* >> *Changed: *********Wed Jul 31, 2013 3pm – 4pm Colombo >> *Where* >> LK #58 5th Floor - Meeting room >> (map<http://maps.google.lk/maps?q=LK+%2358+5th+Floor+-+Meeting+room&hl=en> >> ) >> *Calendar* >> [email protected] >> *Who* >> • >> Randika Ratnayake - organizer >> • >> Dharshana Warusavitharana >> • >> [email protected] >> • >> Nuwan Wimalasekara >> • >> Krishantha Samaraweera >> • >> Dimuthu De Lanerolle >> >> Going? >> ***Yes<https://www.google.com/calendar/event?action=RESPOND&eid=dmVncXI0ZHYxNXRoZGQwaTZhMzVuaWZvaGsga3Jpc2hhbnRoYUB3c28yLmNvbQ&rst=1&tok=MTYjcmFuZGlrYUB3c28yLmNvbTUyZTYzZDhhZjMzYzlkYTljMWE3OTdiYTMzNDQ2N2Y4M2I1ZDY1Y2I&ctz=Asia/Colombo&hl=en>- >> Maybe<https://www.google.com/calendar/event?action=RESPOND&eid=dmVncXI0ZHYxNXRoZGQwaTZhMzVuaWZvaGsga3Jpc2hhbnRoYUB3c28yLmNvbQ&rst=3&tok=MTYjcmFuZGlrYUB3c28yLmNvbTUyZTYzZDhhZjMzYzlkYTljMWE3OTdiYTMzNDQ2N2Y4M2I1ZDY1Y2I&ctz=Asia/Colombo&hl=en>- >> No<https://www.google.com/calendar/event?action=RESPOND&eid=dmVncXI0ZHYxNXRoZGQwaTZhMzVuaWZvaGsga3Jpc2hhbnRoYUB3c28yLmNvbQ&rst=2&tok=MTYjcmFuZGlrYUB3c28yLmNvbTUyZTYzZDhhZjMzYzlkYTljMWE3OTdiYTMzNDQ2N2Y4M2I1ZDY1Y2I&ctz=Asia/Colombo&hl=en> >> * **more options >> »<https://www.google.com/calendar/event?action=VIEW&eid=dmVncXI0ZHYxNXRoZGQwaTZhMzVuaWZvaGsga3Jpc2hhbnRoYUB3c28yLmNvbQ&tok=MTYjcmFuZGlrYUB3c28yLmNvbTUyZTYzZDhhZjMzYzlkYTljMWE3OTdiYTMzNDQ2N2Y4M2I1ZDY1Y2I&ctz=Asia/Colombo&hl=en> >> >> Invitation from Google Calendar <https://www.google.com/calendar/> >> >> You are receiving this email at the account [email protected] because >> you are subscribed for updated invitations on calendar >> [email protected]. >> >> To stop receiving these notifications, please log in to >> https://www.google.com/calendar/ and change your notification settings >> for this calendar. >> > > -- Randika Ratnayake, Mobile : +94773-440677 <[email protected]>
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
