Hi all,
- I started to translate test-cases written for ESB-product to robot test script, a as separate test module to the ESB using my tool. But i faced several issues when translate them, because of ESB use different service and its responses are different formats. Those are noted here. - Since we can invoke services operation by providing different information like service name, operation, parameters, data etc. user get confuse selecting correct keyword. When translating test cases i realized that when use command to invoke operations user have to provide many information. Thus this can be complex to user to understand it. Thus to overcome the complexity and provide the readability i implement new keywords to specify those details one by one rather than in a line. - Below are the command used for invoke service operations, 1) echo Payload Test invoke Operation In echo echoString in HelloWorld #invoke operation Assert InvokeOperation HelloWorld #assert output invoke Operation In echo echoInt in 123 Assert InvokeOperation 123 ${out} invoke Operation In echo echoStringArrays a AA b BB c 11 Log ${out} These blue lines are the command for invoke operations. for command we have to provide the service name, operation and parameters. This keyword can be use if the response is basic string or array types. 2) Test Sample get Attibute Value Of OperationIn quote getQuote last symbol wso2 Assert GetAttibuteValueOfOperationIn Fault: response message 'last' price null Here this blue color line is also used to invoke operations. user have to used this kind of keyword if response is bit complex. this kind of response can be get from the stockQuoteService. Because user may interested the one attribute of the response. here "last" is the such a attribute of the response. Thus when this kind of response is required, this command get bit complex. Thus i introduce the another way to invoke operations. 3) Test Sample set ServiceName quote set ServiceOperation getQuote set ServiceParentChild request set ServiceParas symbol wso2 ${o}= InvokeOperation assertNotNull ${o} ${la}= get OperationValue last assertNotNull ${la} This is the alternative and best way of invoke operations. here details are provided as step by step. then it improve the readability. Also with this user can invoke operation easily that accept no of parameters. - These are the 3 methods that can be used to invoke operations. But i like to know which way is prefer for this tools. can we use all this or just use one way to handle every operations? Also i like to know whether there is any other solutions. - Also there is some difficulties when understanding the SimpleStockQuote based test cases written in ESB product test. Thus, can we have a time to discuss about these things. - Also i hope write some documents to provide details of how to write test case using this tool. So i hope to work on it after clear these issues. Thanks and regards. On Sun, Jul 13, 2014 at 9:21 PM, Rukshan Chathuranga <rcruksha...@gmail.com> wrote: > Hi All, > > > I have to mention some issue i came across during the project. Also my > progress and that issues are listed below. > > > - As i mention earlier when user invoke some Admin service operation, > user have to import those library to the Robot test script before run the > test case . The problem of this approach is user have to have some kind of > knowledge about operation's library. Then those Libraries are generated and > added to the Script. Since using this approach user get confuse with > importing library, another mechanism have to include. One Approach is > Generate all the Library class for each Admin service and import to the > Script in advance.Then user don't have to worry about identify which > library to include. This is the most simple mechanism for this problem. > Also if there is another good solution to solve this, please let me know. > > > > - Also i started to integrate my Project to the Automation Framework. > As First step i developed a Test Module for Product ESB based on the my > Project. Module is working with .jar distribution of the Project installed > into the local maven repository. With this, user just have to implement a > Robot script test suit inside " > *src/test/resources/robotframework/tests*" folder and Configuration > file inside "*src/test/resource"*. Then in the pom.xml file, have to > add "robotframework-maven-plugin" and import jar distribution of the > Project from local maven repository. Still i'm doing some modification to > read configuration data from the resource files. Here Project mean my > "Auto-TAF-cmd" project[1]. > > > > - Also i added feature to read the configuration details from* > automation.xml*. Still configuring project to read all the data > required to Project from this .xml file. > > > This is my current progress and issues i faced. Also i like to get your > valuable feedback as well. > > [1] > https://github.com/ruks/Automated-test-case-generation-tool/tree/master/Auto-TAF-cmd > > > Thanks and regards. > > > > On Fri, Jul 11, 2014 at 12:16 PM, Rukshan Chathuranga < > rcruksha...@gmail.com> wrote: > >> HI all, >> >> Thanks Malintha for you feedback. >> >> I have an idea and i used such a custom library to create some Object. >> Idea is, identify such objects and manually create the standard library >> with such a methods. >> >> Also we can come up with a generic method that take Object type as >> variable and return the Object. But i didn't tried such a method yet. >> >> Also this weekend i hoped to get better understanding about Automation >> framework and try to write my own test case for ESB. Until now i could >> built Product-ESB and run it's test cases. >> >> Then i'll let you know the result of the my progress. >> >> Thanks and regards. >> >> >> >> On Fri, Jul 11, 2014 at 11:38 AM, Malintha Adikari <malin...@wso2.com> >> wrote: >> >>> Hi Rukshan, >>> >>> Please fine my comments inline >>> >>> >>> On Wed, Jul 9, 2014 at 10:42 AM, Rukshan Chathuranga < >>> rcruksha...@gmail.com> wrote: >>> >>>> Hi all, >>>> >>>> I faced a issue when invoking the admin services. Problem is some >>>> services operations return objects rather than primitive data types. Since >>>> these admin services client classes are generated automatically these >>>> operation's return type and parameter types can be java Objects. When user >>>> invoke such a operations they have to create object in advance and pass to >>>> the operation. It is affect to the user experience since some users doesn't >>>> know the low level architecture. >>>> >>>> here is example robot script, >>>> >>>> *check proxy type* >>>> * init ServiceAdmin* >>>> * get ServiceData echo* >>>> *Assert getServiceData expected* >>>> >>>> At the 3rd link it return *ServiceMetaData *Object*. *Then, when >>>> assert the operation result, it need to pass the *expected *value as a >>>> *ServiceMetaData >>>> *Object*. * >>>> >>>> there is two solutions to avoid this problem. >>>> >>>> Solution 1: >>>> >>>> Identify the such a admin service and manually implement the service >>>> client. if some operations accept object as parameters, it changed to >>>> primitive types and implement the object inside operations. >>>> >>>> ex: >>>> >>>> if original method is like this, >>>> >>>> *void sendLoad(**ServiceMetaData** ob){* >>>> * client.send(ob);* >>>> *}* >>>> >>>> then change it as this. >>>> *void sendLoad(boolean active, String type){* >>>> >>>> * ServiceMetaData ob=new ServiceMetaData();* >>>> * ob.setActive(active);* >>>> * ob.setServiceType(type);* >>>> >>>> * client.send(ob);* >>>> *}* >>>> >>>> >>>> IMO, this solution is not much practical. We have to find each and >>> every adminservice and crate a client for it manually. So this would not be >>> scalable solution. >>> >>> >>>> Solution 2: >>>> >>>> Crete a new custom Library and implement methods to create Object for >>>> users. >>>> >>>> ex: >>>> >>>> create method to create specific Object >>>> *public* *ServiceMetaData* *CreateServiceMetaDataObject(boolean >>>> active, String type){* >>>> >>>> *ServiceMetaData ob=new ServiceMetaData();* >>>> * ob.setActive(active);* >>>> * ob.setServiceType(type);* >>>> >>>> * return ob;* >>>> *}* >>>> >>>> >>>> Now script write like this, >>>> >>>> *check proxy type* >>>> * init ServiceAdmin* >>>> * get ServiceData echo* >>>> * ${**expected**}= **Create ServiceMetaData Object true proxy* >>>> >>>> *Assert getServiceData ** ${**expected**}* >>>> >>>> >>>> This approach is more practical but the problem is the methodology of >>> creating a custom library. Have you any idea about creating this kind of >>> custom library . If we can agree on a scalable methodology , IMO we can >>> proceed with this approach. >>> >>> Regards, >>> Malintha Adikari >>> >>>> >>>> This is the issues that are arise when scripting in natural language. >>>> I used Some of this solutions to avoid some issue, had before. >>>> >>>> Also i like to know whether there is any good solutions to avoid this >>>> problem and improve the usability. >>>> >>>> >>>> Thanks and regards. >>>> >>>> >>>> >>>> On Mon, Jun 30, 2014 at 9:34 PM, Dharshana Warusavitharana < >>>> dharsha...@wso2.com> wrote: >>>> >>>>> Sure Rukshan, >>>>> >>>>> Shall we have a hangout so you can demo all things you did so far and >>>>> draft a plan to move forward and clarify issues you have. >>>>> >>>>> Thank You, >>>>> Dharshana. >>>>> >>>>> >>>>> On Mon, Jun 30, 2014 at 8:42 AM, Rukshan Chathuranga < >>>>> rcruksha...@gmail.com> wrote: >>>>> >>>>>> Hi all, >>>>>> >>>>>> First, thanks you all to your support to successfully complete the >>>>>> project up to mid evaluation. Also i'm looking forward your help to >>>>>> continue my Project. >>>>>> >>>>>> Up to now, i could complete basic requirement of the project. Also >>>>>> next steps are very important and very complex. Thus can we a time to >>>>>> discuss about these issues? >>>>>> >>>>>> Thanks and regards. >>>>>> >>>>>> >>>>>> On Tue, Jun 24, 2014 at 10:24 PM, Rukshan Chathuranga < >>>>>> rcruksha...@gmail.com> wrote: >>>>>> >>>>>>> Hi All, >>>>>>> >>>>>>> I thought to share my experience i gained during this GSOC project. >>>>>>> While doing this i faced lot of Problems and have to come up with >>>>>>> solutions >>>>>>> to overcome those things. Thus i am going to summarize those thing in >>>>>>> this >>>>>>> mail. >>>>>>> >>>>>>> At the very beginning i have to identifying the Project scope well. >>>>>>> Project goal was to let users to write the test cases for WSO2 Product >>>>>>> in >>>>>>> natural Language. For that i develop the Design architecture[1]. >>>>>>> According >>>>>>> to the Design, test cases are write on a text file. Then convert them >>>>>>> all >>>>>>> to the common format and keep them in XML files. Also design module >>>>>>> called >>>>>>> Common API used to identified correct admin service at the back-end and >>>>>>> invoke them. This was the initial design and foundation to the Project. >>>>>>> >>>>>>> I divided the project into three module based on the functions. >>>>>>> Those are, >>>>>>> >>>>>>> >>>>>>> - Natural Language Processor, >>>>>>> - Common API >>>>>>> - Test Execution Engine. >>>>>>> >>>>>>> >>>>>>> To process Natural Language i decided to use OpenNLP. but it had >>>>>>> some complexities and that won't in our Project. Because we have to add >>>>>>> some limitations when write test cases. The alternative was the Robot >>>>>>> Framework. it have capability of natural language processing and use of >>>>>>> Dynamic Libraries, predefined and 3 rd party Libraries. Thus i carried >>>>>>> out >>>>>>> testing and research to confirm its capability. Then it was success and >>>>>>> decided to use Robot framework. >>>>>>> >>>>>>> The next requirement was to implement the Admin service Clients. It >>>>>>> should be dynamically generated, because there can be any number of >>>>>>> Admin >>>>>>> services. For that i used the WSDL2java with eclipse >>>>>>> "cxf-codegen-plugin" >>>>>>> plug-in. it work well to generate Client code based on the WSDL. it >>>>>>> generate the Stub classes and have to implement(code by manual) client >>>>>>> codes. According to the project scope this one also have to be >>>>>>> automated. >>>>>>> then i identified the pattern that can used to generate Client for their >>>>>>> available operations. Then used the java String template[2] to define >>>>>>> common template to generate Client classes. But to generate class it >>>>>>> need >>>>>>> to get WSDL details like port-type, available operations, parameters >>>>>>> etc. >>>>>>> it was hard to get them reading from WSDL as XML. i found a library that >>>>>>> fit for this requirement, named SOA-model-core[3]. all this together it >>>>>>> was >>>>>>> possible to generate the Client classes. Then used them as Library to >>>>>>> Robot >>>>>>> Framework. >>>>>>> >>>>>>> But when testing more WSDL file, it was not work as expected. Reason >>>>>>> was in the WSDL, there was predefined namespaces inside java. then >>>>>>> generating Stub class, it generated class with invalid package name >>>>>>> like " >>>>>>> java.util.xsd". Thus it was not possible to generate stub class >>>>>>> form same steps. it has to map invalid namespaces to valid ones >>>>>>> manually. >>>>>>> Then i identified the such a admin service and import them as Maven >>>>>>> dependencies and avoid auto generating Stub class. Then have to improve >>>>>>> the >>>>>>> Client generating part based on this new changes. Then used the java >>>>>>> reflection to identified the available operations and namespace rather >>>>>>> than >>>>>>> reading WSDL. But Stub class have unwanted parameter and operations. to >>>>>>> Filter them again, used WSDL to get such a information. Then it was >>>>>>> possible to generate Client classes based on the Stub classes, WSDL file >>>>>>> and with java reflection and String template. >>>>>>> >>>>>>> up-to this point project was implemented as testing project and it >>>>>>> can be available at the git repository[4]. >>>>>>> >>>>>>> Clients are generated based on the Stub class and WSDL file. Those >>>>>>> details should be automatically configured. Also generated Client >>>>>>> classes >>>>>>> used as Library for scripting and user have to import them before use >>>>>>> them. >>>>>>> Library name is getting by adding "Library" to its service name. All the >>>>>>> automated Clients are generated into java "robotlib >>>>>>> <https://github.com/ruks/Automated-test-case-generation-tool/tree/master/Auto-TAF-cmd/src/main/java/robotlib>" >>>>>>> package. Whenever user import Some library it should be generated in to >>>>>>> proper place before test cases are execute. Thus before test execution >>>>>>> start, it read the test script and identified the imported libraries. >>>>>>> Next, >>>>>>> it collect necessary information like Stub class name and WSDL file >>>>>>> name. >>>>>>> Then generated the Clients. Get information based on Library was >>>>>>> implemented in easy way. Project Contain the service.xml. it contain the >>>>>>> elements named "services" and it keep the available main admin services >>>>>>> Stub class and WSDL file names. >>>>>>> >>>>>>> Then after the demonstrate this solution, i get the actual test >>>>>>> scenario. it's steps was like this >>>>>>> >>>>>>> 1.log in to esb >>>>>>> 2.upload a proxy to esb >>>>>>> 3.check whether it was deployed successfully >>>>>>> 4.send a payload to the proxy >>>>>>> 5.Get the response >>>>>>> 6.Check the response is correct/incorrect >>>>>>> >>>>>>> >>>>>>> Up to now Authentication function and keyword for robot script was >>>>>>> already implemented and worked well. uploading proxy and verify was >>>>>>> function of the ProxyServiceAdmin service. let it automate to generate >>>>>>> Client classes. But problem was when adding parameters to the method, it >>>>>>> required Object rather than string or int information. Thus method of >>>>>>> the >>>>>>> Class have to be manually customized and avoided it generating >>>>>>> automatically. >>>>>>> >>>>>>> The next step was to send the payload and get the response. The >>>>>>> solution was use the Axis2ServiceClient. But Mr Malintha Provided >>>>>>> Already implemented code sample for that and just had to customized it. >>>>>>> Then it was possible to automate such a test scenario. >>>>>>> >>>>>>> But next step is to let users to write the test script in natural >>>>>>> language and easy to understand to them. Also it should assert low >>>>>>> level function and configuration. For that, used configuration file to >>>>>>> keep >>>>>>> some configurations. This configuration file have to be improve as XML >>>>>>> file >>>>>>> to keep many configuration detail for all the test cases. >>>>>>> >>>>>>> >>>>>>> The ultimate Goal of the project was to add this features to WSO2 >>>>>>> TAF. Now most of the basic functions and implementation are finished. As >>>>>>> next step it should be integrate to the TAF. Also some improvement have >>>>>>> to >>>>>>> be done for scripting to support usability. For that i suppose to add >>>>>>> more descriptive Keyword >>>>>>> to the Robot framework to use functions and assert the response. For >>>>>>> that supposed to add different kind of libraries like >>>>>>> static,Dynamic, 3rd party and standard Libraries. Static libraries mean >>>>>>> some libraries that are not going to be change. Dynamic libraries >>>>>>> will be generated whenever user use it. 3rd party libraries like >>>>>>> Selenium >>>>>>> Driver also can be used. Standard Library mean Some static Libraries >>>>>>> that >>>>>>> can be used to test the response. it will contain some basic functions >>>>>>> to >>>>>>> Assert arrays, Objects and create some complex data types like Arrays, >>>>>>> Objects and Om-element. >>>>>>> >>>>>>> >>>>>>> This is the current Progress of the Project and further plan of the >>>>>>> implementation. Most of the basic >>>>>>> and foundation implementation have implemented and after the End of the >>>>>>> Project it will fulfill the project ultimate goal. I blog about >>>>>>> current experience I've gained on my website[5]. Some basic >>>>>>> example I've tried can be available on it. Also All the test Projects, >>>>>>> web >>>>>>> service Project and different version of the current Project can be >>>>>>> found >>>>>>> at my git repository[6]. The Project that currently working on can be >>>>>>> found >>>>>>> at the this repository[7]. >>>>>>> >>>>>>> >>>>>>> [1] >>>>>>> http://rukspot.com/sites/default/files/images/wso2/wso2_Test_Archi_3.png >>>>>>> [2] http://www.stringtemplate.org/ >>>>>>> [3] http://www.membrane-soa.org/downloads/soa-model.htm >>>>>>> [4] >>>>>>> https://github.com/ruks/Automated-test-case-generation-tool/tree/master/test1 >>>>>>> [5] http://rukspot.com/ >>>>>>> [6] https://github.com/ruks/Automated-test-case-generation-tool >>>>>>> [7] >>>>>>> https://github.com/ruks/Automated-test-case-generation-tool/tree/master/Auto-TAF-cmd >>>>>>> >>>>>>> >>>>>>> >>>>>>> Thanks and regards. >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Mon, Jun 23, 2014 at 7:48 PM, Malintha Adikari <malin...@wso2.com >>>>>>> > wrote: >>>>>>> >>>>>>>> Hi Rukshan, >>>>>>>> >>>>>>>> Test Automation Framework uses single location (automation.xml file >>>>>>>> ) [1] to store all configuration details related to tests. According >>>>>>>> the >>>>>>>> robot scripts you have sent ,test scripts include lot of configuration >>>>>>>> details. We can use automation.xml to retrieve appropriate >>>>>>>> configurations >>>>>>>> as it already facilitates to store most of those configuration details. >>>>>>>> Please have a look at automation.xml file and let's come up with a way >>>>>>>> to >>>>>>>> handle those configuration details include in robot scripts. >>>>>>>> >>>>>>>> [1] >>>>>>>> https://github.com/wso2-dev/carbon-platform-integration/blob/master/test-automation-framework/org.wso2.carbon.automation.engine/src/main/resources/automation.xml >>>>>>>> >>>>>>>> Regards, >>>>>>>> Malintha Adikari >>>>>>>> >>>>>>>> >>>>>>>> On Mon, Jun 23, 2014 at 3:58 PM, Rukshan Chathuranga < >>>>>>>> rcruksha...@gmail.com> wrote: >>>>>>>> >>>>>>>>> Hi all, >>>>>>>>> >>>>>>>>> >>>>>>>>> I attached the Document with actual scenario and Robot >>>>>>>>> framework script with this. Also have attached the original robot >>>>>>>>> framework >>>>>>>>> script source file. Some comments have added to the Script for >>>>>>>>> describe the >>>>>>>>> functions. >>>>>>>>> >>>>>>>>> If Some clarification is needed to understand the script please >>>>>>>>> let me know. >>>>>>>>> >>>>>>>>> Thanks and regards. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Mon, Jun 23, 2014 at 9:39 AM, Malintha Adikari < >>>>>>>>> malin...@wso2.com> wrote: >>>>>>>>> >>>>>>>>>> Hi Rukshan, >>>>>>>>>> >>>>>>>>>> Can you provide the robot script and the original scenario steps >>>>>>>>>> in a same doc. So we can use that document to compare two cases. >>>>>>>>>> >>>>>>>>>> Regards, >>>>>>>>>> Malintha Adikari >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Sun, Jun 22, 2014 at 9:47 AM, Rukshan Chathuranga < >>>>>>>>>> rcruksha...@gmail.com> wrote: >>>>>>>>>> >>>>>>>>>>> HI all, >>>>>>>>>>> >>>>>>>>>>> Previous days i was working on adding testing scenario like >>>>>>>>>>> below steps. >>>>>>>>>>> >>>>>>>>>>> 1.log in to esb >>>>>>>>>>> >>>>>>>>>>> 2.upload a proxy to esb >>>>>>>>>>> 3.check whether it was deployed successfully >>>>>>>>>>> 4.send a payload to the proxy >>>>>>>>>>> 5.Get the response >>>>>>>>>>> 6.Check the response is correct/incorrect >>>>>>>>>>> >>>>>>>>>>> After a one week of research and testing i was able >>>>>>>>>>> to successfully Automate scenario like above. Still i am testing >>>>>>>>>>> with this >>>>>>>>>>> scenario to improve the it's correctness and improve the usability. >>>>>>>>>>> >>>>>>>>>>> The project with these new modification can be view on my Git >>>>>>>>>>> repository[1]. >>>>>>>>>>> Also all the projects and testing project i did so far can be >>>>>>>>>>> view on main repo.[2] >>>>>>>>>>> >>>>>>>>>>> [1] >>>>>>>>>>> https://github.com/ruks/Automated-test-case-generation-tool/tree/master/Auto-TAF-cmd >>>>>>>>>>> [2]https://github.com/ruks/Automated-test-case-generation-tool >>>>>>>>>>> >>>>>>>>>>> Thanks and regards. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Fri, Jun 20, 2014 at 9:22 PM, Rukshan Chathuranga < >>>>>>>>>>> rcruksha...@gmail.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi all, >>>>>>>>>>>> >>>>>>>>>>>> I used the above[1] example to send a payload to the Axis2 >>>>>>>>>>>> Services. It works well on services that deployed on Axis2 server. >>>>>>>>>>>> But it >>>>>>>>>>>> is not work for the Uploaded proxy services of the ESB. What can >>>>>>>>>>>> be the >>>>>>>>>>>> problem? >>>>>>>>>>>> >>>>>>>>>>>> This is the exception i got. >>>>>>>>>>>> "AxisFault while getting response :The input stream for an >>>>>>>>>>>> incoming message is null." >>>>>>>>>>>> >>>>>>>>>>>> Also i used "https://localhost:8243/services/echo" >>>>>>>>>>>> as endPointReference. >>>>>>>>>>>> >>>>>>>>>>>> [1] >>>>>>>>>>>> https://github.com/wso2/carbon-platform-integration/blob/master/test-automation-framework/org.wso2.carbon.automation.test.utils/src/main/java/org/wso2/carbon/automation/test/utils/axis2client/AxisServiceClient.java >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Fri, Jun 20, 2014 at 2:07 PM, Malintha Adikari < >>>>>>>>>>>> malin...@wso2.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Hi Rukshan, >>>>>>>>>>>>> >>>>>>>>>>>>> On Thu, Jun 19, 2014 at 7:01 PM, Rukshan Chathuranga < >>>>>>>>>>>>> rcruksha...@gmail.com> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Hi all, >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>>> I could automate the ProxyServiceAdmin Admin service to >>>>>>>>>>>>>> upload the proxy to ESB. Also it support, Confirm whether it is >>>>>>>>>>>>>> successful >>>>>>>>>>>>>> or not. This steps was possible to written in robot test script. >>>>>>>>>>>>>> Thus i'm try to scripting and automate to invoke the >>>>>>>>>>>>>> uploaded proxy services. for that can you let me know, what are >>>>>>>>>>>>>> the >>>>>>>>>>>>>> available options to invoke the proxy services. >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> You can use Axis2ServiceClient [1] for invoked the deployed >>>>>>>>>>>>> proxy service. >>>>>>>>>>>>> >>>>>>>>>>>>> [1] >>>>>>>>>>>>> https://github.com/wso2/carbon-platform-integration/blob/master/test-automation-framework/org.wso2.carbon.automation.test.utils/src/main/java/org/wso2/carbon/automation/test/utils/axis2client/AxisServiceClient.java >>>>>>>>>>>>> >>>>>>>>>>>>> Regards, >>>>>>>>>>>>> Malintha Adikari >>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Thanks and regards. >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Thu, Jun 19, 2014 at 11:56 AM, Malintha Adikari < >>>>>>>>>>>>>> malin...@wso2.com> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Please note the update for the test scenario : >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Thu, Jun 19, 2014 at 11:52 AM, Malintha Adikari < >>>>>>>>>>>>>>> malin...@wso2.com> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Hi Rukshan, >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> As the next step we can evaluate the usability of robot >>>>>>>>>>>>>>>> scripts. Then we have to come up with a way to enhance the >>>>>>>>>>>>>>>> usability of >>>>>>>>>>>>>>>> the test scripts based on that evaluation. Could you try to >>>>>>>>>>>>>>>> develop an >>>>>>>>>>>>>>>> automated test case using robot for following test scenario >>>>>>>>>>>>>>>> and compare the >>>>>>>>>>>>>>>> original script and robot script and evaluate the differences >>>>>>>>>>>>>>>> between two >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> *. login to Application server >>>>>>>>>>>>>>> * upload a service to application server >>>>>>>>>>>>>>> * confirm the uploaded server has been deployed successfully >>>>>>>>>>>>>>> (this should be your back end service for the ESB proxy >>>>>>>>>>>>>>> service) >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> 1.login to esb >>>>>>>>>>>>>>>> 2.upload a proxy to esb >>>>>>>>>>>>>>>> 3.check whether it was deployed successfully >>>>>>>>>>>>>>>> 4.send a payload to the proxy >>>>>>>>>>>>>>>> 5.Get the response >>>>>>>>>>>>>>>> 6.Check the response is correct/incorrect >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>>> Malintha Adikari >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Tue, Jun 17, 2014 at 2:14 PM, Rukshan Chathuranga < >>>>>>>>>>>>>>>> rcruksha...@gmail.com> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Hi all, >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I added a xml file to keep stub name and wsdl file name >>>>>>>>>>>>>>>>> of each admin services. its structure is looks like this. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> <service >>>>>>>>>>>>>>>>> stub="org.wso2.carbon.statistics.stub.StatisticsAdminStub" >>>>>>>>>>>>>>>>> name="StatisticsAdmin" wsdl="StatisticsAdmin" >>>>>>>>>>>>>>>>> lib="StatisticsAdminLibrary"/> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Then added new java method to return wsdl name and stub >>>>>>>>>>>>>>>>> class name. It is like this. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> public static String[] getServiceInfor(String lib) { >>>>>>>>>>>>>>>>> File pomfile = new File("service.xml"); >>>>>>>>>>>>>>>>> String[] res; >>>>>>>>>>>>>>>>> try { >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> DocumentBuilder dBuilder = >>>>>>>>>>>>>>>>> DocumentBuilderFactory.newInstance() >>>>>>>>>>>>>>>>> .newDocumentBuilder(); >>>>>>>>>>>>>>>>> Document doc = dBuilder.parse(pomfile); >>>>>>>>>>>>>>>>> System.out.println("Root element :" >>>>>>>>>>>>>>>>> + doc.getDocumentElement().getNodeName()); >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> NodeList service = doc.getElementsByTagName("service"); >>>>>>>>>>>>>>>>> for (int i = 0; i < service.getLength(); i++) { >>>>>>>>>>>>>>>>> Element ele = (Element) service.item(i); >>>>>>>>>>>>>>>>> if (ele.getAttribute("lib").equals(lib)) { >>>>>>>>>>>>>>>>> res = new String[2]; >>>>>>>>>>>>>>>>> res[0] = ele.getAttribute("stub"); >>>>>>>>>>>>>>>>> res[1] = ele.getAttribute("wsdl"); >>>>>>>>>>>>>>>>> return res; >>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>> return null; >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> } catch (Exception e) { >>>>>>>>>>>>>>>>> System.out.println(e.getMessage()); >>>>>>>>>>>>>>>>> return null; >>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> So if there are any issue in this procedure please let me >>>>>>>>>>>>>>>>> know. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Thanks and regards. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Sat, Jun 14, 2014 at 9:10 AM, Rukshan Chathuranga < >>>>>>>>>>>>>>>>> rcruksha...@gmail.com> wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Hi Dharshana, >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> No. it was not the resolving the dependencies of the >>>>>>>>>>>>>>>>>> client. Sorry if my mail is not much clear. :) >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> I wanted to import required classes for Client that >>>>>>>>>>>>>>>>>> generated based on the Stub classes. My first step was >>>>>>>>>>>>>>>>>> taking package >>>>>>>>>>>>>>>>>> information from the POM.xml as you said. but it contain >>>>>>>>>>>>>>>>>> only some parent >>>>>>>>>>>>>>>>>> package names and also those get mapped to the new package >>>>>>>>>>>>>>>>>> names(rename). >>>>>>>>>>>>>>>>>> Thus it was difficulty to extract all the classes. Also some >>>>>>>>>>>>>>>>>> extra >>>>>>>>>>>>>>>>>> libraries get imported and some required libraries not get >>>>>>>>>>>>>>>>>> imported. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> But using reflection it is possible to get all the >>>>>>>>>>>>>>>>>> operation's information of the stub classes. Then importing >>>>>>>>>>>>>>>>>> required class >>>>>>>>>>>>>>>>>> for parameters and return type was much easier. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> ex: >>>>>>>>>>>>>>>>>> import org.wso2.carbon.service.mgt.stub.ServiceAdminStub; >>>>>>>>>>>>>>>>>> import >>>>>>>>>>>>>>>>>> org.wso2.carbon.service.mgt.stub.types.carbon.ServiceDownloadData; >>>>>>>>>>>>>>>>>> import >>>>>>>>>>>>>>>>>> org.wso2.carbon.service.mgt.stub.types.carbon.ServiceGroupMetaData; >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Thanks and regards. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On Sat, Jun 14, 2014 at 12:18 AM, Dharshana >>>>>>>>>>>>>>>>>> Warusavitharana <dharsha...@wso2.com> wrote: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Hi Rekshan, >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Do we really need this step. AFAICU you are trying to >>>>>>>>>>>>>>>>>>> automate the dependency resolving of your client library. >>>>>>>>>>>>>>>>>>> Basically, there is a limited set of dependency for >>>>>>>>>>>>>>>>>>> external libraries when you are generating the client. That >>>>>>>>>>>>>>>>>>> won't expand much over introducing new stubs. >>>>>>>>>>>>>>>>>>> You can have general pom file which have basic >>>>>>>>>>>>>>>>>>> dependencies which are common to the general stubs. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> And im not clear how you would identify extra libraries >>>>>>>>>>>>>>>>>>> you need by just using reflection. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Correct me if im wrong >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Thank you, >>>>>>>>>>>>>>>>>>> Dharshana. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On Fri, Jun 13, 2014 at 10:51 AM, Rukshan Chathuranga < >>>>>>>>>>>>>>>>>>> rcruksha...@gmail.com> wrote: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Hi All, >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> I could manage the issue occurred during Client >>>>>>>>>>>>>>>>>>>> generation from Stub. I get operations from the WSDL file >>>>>>>>>>>>>>>>>>>> and used Java >>>>>>>>>>>>>>>>>>>> reflection to identify the information of those operation. >>>>>>>>>>>>>>>>>>>> Then it help me >>>>>>>>>>>>>>>>>>>> to identified the required Libraries and import them into >>>>>>>>>>>>>>>>>>>> generated Client >>>>>>>>>>>>>>>>>>>> libraries. Also added Property file to get services host >>>>>>>>>>>>>>>>>>>> and port >>>>>>>>>>>>>>>>>>>> information. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> new version of the project can be found from here. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> https://github.com/ruks/Automated-test-case-generation-tool/tree/991e6e21927288d237c0a8d1985b7d2787f91a9b/Auto-TAF >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Thanks and regards. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> On Tue, Jun 10, 2014 at 3:24 PM, Rukshan Chathuranga < >>>>>>>>>>>>>>>>>>>> rcruksha...@gmail.com> wrote: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Hi Malintha, >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Generating Client from Stub is not problem with one >>>>>>>>>>>>>>>>>>>>> String template file. Template file contain generic Class >>>>>>>>>>>>>>>>>>>>> structure like >>>>>>>>>>>>>>>>>>>>> Method, Constructor, Fields and Import library. Only >>>>>>>>>>>>>>>>>>>>> difference is their >>>>>>>>>>>>>>>>>>>>> name and object type. Identifying the those names and >>>>>>>>>>>>>>>>>>>>> type from WSDL, it is >>>>>>>>>>>>>>>>>>>>> possible to generate Different client for different Stub. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Thanks and regards. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> On Tue, Jun 10, 2014 at 3:09 PM, Malintha Adikari < >>>>>>>>>>>>>>>>>>>>> malin...@wso2.com> wrote: >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> Hi Rukshan, >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> On Tue, Jun 10, 2014 at 2:49 PM, Rukshan Chathuranga >>>>>>>>>>>>>>>>>>>>>> <rcruksha...@gmail.com> wrote: >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Hi all, >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> These days i am working on Automatically Generating >>>>>>>>>>>>>>>>>>>>>>> Client code. Now i able to generate Client Code using >>>>>>>>>>>>>>>>>>>>>>> String Template. For >>>>>>>>>>>>>>>>>>>>>>> That i Used previously Used String Template file with >>>>>>>>>>>>>>>>>>>>>>> Some Modification. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Now project can generate the Stub file and >>>>>>>>>>>>>>>>>>>>>>> automatically generate the Client Based on the WSDL and >>>>>>>>>>>>>>>>>>>>>>> Stub. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> I have a doubt about using single string template for >>>>>>>>>>>>>>>>>>>>>> generating client code for all stubs. The purpose and >>>>>>>>>>>>>>>>>>>>>> the implementation of >>>>>>>>>>>>>>>>>>>>>> each admin service is different. So Can we use one >>>>>>>>>>>>>>>>>>>>>> string template for >>>>>>>>>>>>>>>>>>>>>> generating the clients for all those different WSDLs. >>>>>>>>>>>>>>>>>>>>>> String template >>>>>>>>>>>>>>>>>>>>>> approach is better. IMO, we have to come up with a way >>>>>>>>>>>>>>>>>>>>>> to treat all >>>>>>>>>>>>>>>>>>>>>> different admin services through string templates. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Also generated Client can be used as Library to >>>>>>>>>>>>>>>>>>>>>>> Robot Framework to implement keyword driven testing. >>>>>>>>>>>>>>>>>>>>>>> Also it's possible to >>>>>>>>>>>>>>>>>>>>>>> invoke Admin services and Assert the operation. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> With all of these modification i create the new >>>>>>>>>>>>>>>>>>>>>>> Project and committed to the Git Repo. It is available >>>>>>>>>>>>>>>>>>>>>>> at here. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> https://github.com/ruks/Automated-test-case-generation-tool/tree/991e6e21927288d237c0a8d1985b7d2787f91a9b/Auto-TAF >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Then for the next few days i'm hoping to understand >>>>>>>>>>>>>>>>>>>>>>> the Robot Framework scripting in depth to verify >>>>>>>>>>>>>>>>>>>>>>> whether we can improve >>>>>>>>>>>>>>>>>>>>>>> Robot framework scripting. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Yes, We have to make test writing user friendly. >>>>>>>>>>>>>>>>>>>>>> First we have to find points that make test writing >>>>>>>>>>>>>>>>>>>>>> difficult. Then we have >>>>>>>>>>>>>>>>>>>>>> to come up with a generic solution to call all those >>>>>>>>>>>>>>>>>>>>>> difficulties. Can you >>>>>>>>>>>>>>>>>>>>>> try to write test cases for some different admin >>>>>>>>>>>>>>>>>>>>>> services with your >>>>>>>>>>>>>>>>>>>>>> existing solution. Then you can refer those test to >>>>>>>>>>>>>>>>>>>>>> analyze difficulties. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>>>>>>>>> Malintha Adikari >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> Thanks and regards. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> On Sun, Jun 8, 2014 at 12:17 AM, Rukshan Chathuranga >>>>>>>>>>>>>>>>>>>>>>> <rcruksha...@gmail.com> wrote: >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Hi all, >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> These days i am working on solving the problems >>>>>>>>>>>>>>>>>>>>>>>> that are occurred during the Client Generation. These >>>>>>>>>>>>>>>>>>>>>>>> exceptions are >>>>>>>>>>>>>>>>>>>>>>>> occurred when using the "cxf-codegen-plugin" with >>>>>>>>>>>>>>>>>>>>>>>> wsdl2java. As a >>>>>>>>>>>>>>>>>>>>>>>> alternative solution, i decided to understand the >>>>>>>>>>>>>>>>>>>>>>>> existing service stub >>>>>>>>>>>>>>>>>>>>>>>> generating procedure to generate Stub code. And then >>>>>>>>>>>>>>>>>>>>>>>> generate Client code >>>>>>>>>>>>>>>>>>>>>>>> that could be use as Library to Robot Framework. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> For that i refereed these two >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> https://svn.wso2.org/repos/wso2/carbon/kernel/trunk/service-stubs/ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> https://svn.wso2.org/repos/wso2/carbon/platform/trunk/service-stubs/ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> repositories to generate Stub >>>>>>>>>>>>>>>>>>>>>>>> sources to support my requirement. up to now i could >>>>>>>>>>>>>>>>>>>>>>>> be able to generate >>>>>>>>>>>>>>>>>>>>>>>> Stub code for WSDL listed in these repositories. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Also the main problem had earlier the "certificate >>>>>>>>>>>>>>>>>>>>>>>> Exception" occurred initiating Client, could be >>>>>>>>>>>>>>>>>>>>>>>> solved by setting up certificate file properly in >>>>>>>>>>>>>>>>>>>>>>>> system property. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Now Robot framework able to run test case with >>>>>>>>>>>>>>>>>>>>>>>> authenticate and invoke some basic admin service that >>>>>>>>>>>>>>>>>>>>>>>> are hard coded as >>>>>>>>>>>>>>>>>>>>>>>> Library to Robot framework. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Thus my next step is to Generate this Library >>>>>>>>>>>>>>>>>>>>>>>> Classes Automatically based on the WSDL file and >>>>>>>>>>>>>>>>>>>>>>>> provide to the Robot >>>>>>>>>>>>>>>>>>>>>>>> framework as Library. For this I decided to use my >>>>>>>>>>>>>>>>>>>>>>>> previous method that >>>>>>>>>>>>>>>>>>>>>>>> used String Template to generate Library Files, with >>>>>>>>>>>>>>>>>>>>>>>> few modification. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Thanks and regards. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>>>> Department Of Computer Science & Engineering, >>>>>>>>>>>>>>>>>>>>>>>> Faculty Of Engineering, >>>>>>>>>>>>>>>>>>>>>>>> University Of Moratuwa. >>>>>>>>>>>>>>>>>>>>>>>> Sri lanka >>>>>>>>>>>>>>>>>>>>>>>> WEB: http://rukspot.com/ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>>> Department Of Computer Science & Engineering, >>>>>>>>>>>>>>>>>>>>>>> Faculty Of Engineering, >>>>>>>>>>>>>>>>>>>>>>> University Of Moratuwa. >>>>>>>>>>>>>>>>>>>>>>> Sri lanka. >>>>>>>>>>>>>>>>>>>>>>> WEB: http://rukspot.com/ >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>> *Malintha Adikari* >>>>>>>>>>>>>>>>>>>>>> Software Engineer >>>>>>>>>>>>>>>>>>>>>> WSO2 Inc.; http://wso2.com >>>>>>>>>>>>>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> Mobile: +94 71 2312958 >>>>>>>>>>>>>>>>>>>>>> Blog: http://malinthas.blogspot.com >>>>>>>>>>>>>>>>>>>>>> Page: http://about.me/malintha >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>> Department Of Computer Science & Engineering, >>>>>>>>>>>>>>>>>>>>> Faculty Of Engineering, >>>>>>>>>>>>>>>>>>>>> University Of Moratuwa. >>>>>>>>>>>>>>>>>>>>> Sri lanka. >>>>>>>>>>>>>>>>>>>>> WEB: http://rukspot.com/ >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>> Department Of Computer Science & Engineering, >>>>>>>>>>>>>>>>>>>> Faculty Of Engineering, >>>>>>>>>>>>>>>>>>>> University Of Moratuwa. >>>>>>>>>>>>>>>>>>>> Sri lanka. >>>>>>>>>>>>>>>>>>>> WEB: http://rukspot.com/ >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Dharshana Warusavitharana >>>>>>>>>>>>>>>>>>> Senior Software Engineer , Test Automation >>>>>>>>>>>>>>>>>>> WSO2 Inc. http://wso2.com >>>>>>>>>>>>>>>>>>> email : dharsha...@wso2.com <dharsha...@wso2.com> >>>>>>>>>>>>>>>>>>> Tel : +94 11 214 5345 >>>>>>>>>>>>>>>>>>> Fax :+94 11 2145300 >>>>>>>>>>>>>>>>>>> cell : +94772202595 >>>>>>>>>>>>>>>>>>> blog : http://dharshanaw.blogspot.com >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> lean . enterprise . middleware >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>> Department Of Computer Science & Engineering, >>>>>>>>>>>>>>>>>> Faculty Of Engineering, >>>>>>>>>>>>>>>>>> University Of Moratuwa. >>>>>>>>>>>>>>>>>> Sri lanka. >>>>>>>>>>>>>>>>>> WEB: http://rukspot.com/ >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>> Department Of Computer Science & Engineering, >>>>>>>>>>>>>>>>> Faculty Of Engineering, >>>>>>>>>>>>>>>>> University Of Moratuwa. >>>>>>>>>>>>>>>>> Sri lanka. >>>>>>>>>>>>>>>>> WEB: http://rukspot.com/ >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>> *Malintha Adikari* >>>>>>>>>>>>>>>> Software Engineer >>>>>>>>>>>>>>>> WSO2 Inc.; http://wso2.com >>>>>>>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Mobile: +94 71 2312958 >>>>>>>>>>>>>>>> Blog: http://malinthas.blogspot.com >>>>>>>>>>>>>>>> Page: http://about.me/malintha >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> *Malintha Adikari* >>>>>>>>>>>>>>> Software Engineer >>>>>>>>>>>>>>> WSO2 Inc.; http://wso2.com >>>>>>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Mobile: +94 71 2312958 >>>>>>>>>>>>>>> Blog: http://malinthas.blogspot.com >>>>>>>>>>>>>>> Page: http://about.me/malintha >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> Department Of Computer Science & Engineering, >>>>>>>>>>>>>> Faculty Of Engineering, >>>>>>>>>>>>>> University Of Moratuwa. >>>>>>>>>>>>>> Sri lanka. >>>>>>>>>>>>>> WEB: http://rukspot.com/ >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> *Malintha Adikari* >>>>>>>>>>>>> Software Engineer >>>>>>>>>>>>> WSO2 Inc.; http://wso2.com >>>>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>>>> >>>>>>>>>>>>> Mobile: +94 71 2312958 >>>>>>>>>>>>> Blog: http://malinthas.blogspot.com >>>>>>>>>>>>> Page: http://about.me/malintha >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Department Of Computer Science & Engineering, >>>>>>>>>>>> Faculty Of Engineering, >>>>>>>>>>>> University Of Moratuwa. >>>>>>>>>>>> Sri lanka. >>>>>>>>>>>> WEB: http://rukspot.com/ >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Department Of Computer Science & Engineering, >>>>>>>>>>> Faculty Of Engineering, >>>>>>>>>>> University Of Moratuwa. >>>>>>>>>>> Sri lanka. >>>>>>>>>>> WEB: http://rukspot.com/ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> *Malintha Adikari* >>>>>>>>>> Software Engineer >>>>>>>>>> WSO2 Inc.; http://wso2.com >>>>>>>>>> lean.enterprise.middleware >>>>>>>>>> >>>>>>>>>> Mobile: +94 71 2312958 >>>>>>>>>> Blog: http://malinthas.blogspot.com >>>>>>>>>> Page: http://about.me/malintha >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Department Of Computer Science & Engineering, >>>>>>>>> Faculty Of Engineering, >>>>>>>>> University Of Moratuwa. >>>>>>>>> Sri lanka. >>>>>>>>> WEB: http://rukspot.com/ >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> *Malintha Adikari* >>>>>>>> Software Engineer >>>>>>>> WSO2 Inc.; http://wso2.com >>>>>>>> lean.enterprise.middleware >>>>>>>> >>>>>>>> Mobile: +94 71 2312958 >>>>>>>> Blog: http://malinthas.blogspot.com >>>>>>>> Page: http://about.me/malintha >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Department Of Computer Science & Engineering, >>>>>>> Faculty Of Engineering, >>>>>>> University Of Moratuwa. >>>>>>> Sri lanka. >>>>>>> WEB: http://rukspot.com/ >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Department Of Computer Science & Engineering, >>>>>> Faculty Of Engineering, >>>>>> University Of Moratuwa. >>>>>> Sri lanka. >>>>>> WEB: http://rukspot.com/ >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> >>>>> Dharshana Warusavitharana >>>>> Senior Software Engineer , Test Automation >>>>> WSO2 Inc. http://wso2.com >>>>> email : dharsha...@wso2.com <dharsha...@wso2.com> >>>>> Tel : +94 11 214 5345 >>>>> Fax :+94 11 2145300 >>>>> cell : +94772202595 >>>>> blog : http://dharshanaw.blogspot.com >>>>> >>>>> lean . enterprise . middleware >>>>> >>>> >>>> >>>> >>>> -- >>>> Department Of Computer Science & Engineering, >>>> Faculty Of Engineering, >>>> University Of Moratuwa. >>>> Sri lanka. >>>> WEB: http://rukspot.com/ >>>> >>>> >>> >>> >>> -- >>> *Malintha Adikari* >>> Software Engineer >>> WSO2 Inc.; http://wso2.com >>> lean.enterprise.middleware >>> >>> Mobile: +94 71 2312958 >>> Blog: http://malinthas.blogspot.com >>> Page: http://about.me/malintha >>> >> >> >> >> -- >> Department Of Computer Science & Engineering, >> Faculty Of Engineering, >> University Of Moratuwa. >> Sri lanka. >> WEB: http://rukspot.com/ >> >> > > > -- > Department Of Computer Science & Engineering, > Faculty Of Engineering, > University Of Moratuwa. > Sri lanka. > WEB: http://rukspot.com/ > > -- *Rukshan Chathuranga.* *Department Of Computer Science & Engineering,* *Faculty Of Engineering,* *University Of Moratuwa.* *Sri lanka.* *WEB: http://rukspot.com/ <http://rukspot.com/>*
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev