Hi Sanjiva,

The basic idea of the above configuration file is to propose a
generalized single configuration file to cover all the
paltfomwide configurations.

 I have scheduled a discussion on this. And sent invitation on "Introducing
new Configuration file in to Automation Framework- Introduction and review"

#3 - The autoConfig is basically for the automation configuration file the
proposed name for the automation configuration file is also autoconfig.xml.
#4 - Yes, It would be a much better approach if we can use encrypted or
predefined password sets for users.

what we tried in  tenant user configuration is to map the tenant model
in toconfigurations.

Thank You,
Dharshana.




On Fri, Aug 2, 2013 at 10:59 AM, Dharshana Warusavitharana <
[email protected]> wrote:

> Posting configuration inlign
>
> <!--
>
>   ~  Copyright (c) 2005-2010, WSO2 Inc. (http://wso2.com) All Rights
> Reserved.
>   ~
>   ~  WSO2 Inc. licenses this file to you under the Apache License,
>   ~  Version 2.0 (the "License"); you may not use this file except
>   ~  in compliance with the License.
>   ~  You may obtain a copy of the License at
>   ~
>   ~    http://www.apache.org/licenses/LICENSE-2.0
>   ~
>   ~  Unless required by applicable law or agreed to in writing,
>   ~  software distributed under the License is distributed on an
>   ~  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>   ~  KIND, either express or implied.  See the License for the
>   ~  specific language governing permissions and limitations
>   ~  under the License.
>
> -->
> <autoConfig>
>     <!--  =================================================  -->
>     <!--                   Parameters                        -->
>     <!--  =================================================  -->
>     <!--
>      Change this to edit wait time for test artifact deployment
>     -->
>     <parameter name="deployment.delay">60000</parameter>
>     <!--
>      Change this to product|platform/cloud to execute test on specific
> environment
>     -->
>     <parameter name="execution.environment">product</parameter>
>     <!--
>      Change this to user/tenant to execute test with user mode or tenant
> mode
>     -->
>     <parameter name="execution.mode">user</parameter>
>     <!--
>      Change this to true if you want to enable cloud mode
>     -->
>     <parameter name="cloud.enable">true</parameter>
>     <!--
>      Change this to true if you want to enable to run tests on clustered
> environment
>     -->
>     <parameter name="clustering">false</parameter>
>     <!--
>      Change this to true if you want to generate coverage statistics
>     -->
>     <parameter name="coverage">true</parameter>
>     <!--
>      Change this to true if you want to enable framework dashboard
>     -->
>     <parameter name="framework.dashboard">false</parameter>
>     <!--
>      Browser type with used by framework to execute UI test, supported
> types - chrome|firefox|opera|ie|htmlUnit
>     -->
>     <browserManager>
>         <!-- Change to enable remote webDriver -->
>         <remoteDriver enable="true">
>             <!-- URL of remote webDriver server  -->
>             <remoteDirverUrl url="http://10.100.2.51:4444/wd/hub/"/>
>         </remoteDriver>
>         <!-- Type of the browser selenium tests are running" -->
>         <browser type="firefox">
>             <!--
>             path to webDriver executable - required only for chrome
>             -->
>             <parameter name="webdriver.path">/home/test/name/webDriver
> </parameter>
>         </browser>
>     </browserManager>
>     <!--
>     Database configuration to be used for data service testing. DB
> configuration in dbs files will be replaced with
>                below configuration at test run time
>     -->
>     <dbConfig>
>         <configuration name="dataService">
>             <url>jdbc:h2:testDB</url>
>             <username>wso2carbon</username>
>             <password>wso2carbon</password>
>             <driverClassName>org.h2.Driver</driverClassName>
>         </configuration>
>         <configuration name="testDashboard">
>             <url>jdbc:mysql://127.0.0.1:3306/FRAMEWORK_DB</url>
>             <username>root</username>
>             <password>root</password>
>             <driverClassName>com.mysql.jdbc.Driver</driverClassName>
>         </configuration>
>         <configuration name="rss">
>             <username>testUser1</username>
>             <password>testUser1</password>
>         </configuration>
>     </dbConfig>
>     <security>
>         <!--
>                     KeyStore which will be used for encrypting/decrypting
> passwords
>                     and other sensitive information.
>         -->
>         <keyStore>
>             <!--  Keystore file location -->
>             <fileName>wso2carbon.jks</fileName>
>             <!--  Keystore type (JKS/PKCS12 etc.) -->
>             <type>JKS</type>
>             <!--  Keystore password -->
>             <password>wso2carbon</password>
>             <!--  Private Key alias -->
>             <keyAlias>wso2carbon</keyAlias>
>             <!--  Private Key password -->
>             <keyPassword>wso2carbon</keyPassword>
>         </keyStore>
>         <!--
>                     System wide trust-store which is used to maintain the
> certificates of all
>                     the trusted parties.
>         -->
>         <trustStore>
>             <!--  trust-store file location  -->
>             <fileName>client-truststore.jks</fileName>
>             <!--  trust-store type (JKS/PKCS12 etc.)  -->
>             <type>JKS</type>
>             <!--  trust-store password  -->
>             <password>wso2carbon</password>
>         </trustStore>
>     </security>
>     <p2Repo>
>         <parameter repo-id="online-repository">https://wso2.org/repo
> </parameter>
>         <parameter repo
> -id="file-repository">file:///home/krishantha/test</parameter>
>     </p2Repo>
>     <!--
>                System wide users who to be registered at the test
> initiation
>     -->
>     <userManager>
>         <tenant key="testten1" domain="carbon.super">
>             <!-- superTenant element illustrates this tenant will act as
> a super tenet -->
>             <superTenant>true</superTenant>
>             <tenantAdmin>
>                 <userName>admin</userName>
>                 <password>admin</password>
>             </tenantAdmin>
>             <tenantUsers>
>                 <user key="user1">
>                     <userName>test1</userName>
>                     <password>123</password>
>                 </user>
>                 <user key="user2">
>                     <userName>test1</userName>
>                     <password>123</password>
>                 </user>
>             </tenantUsers>
>         </tenant>
>         <tenant key="testten1" domain="test.domain">
>             <tenantAdmin>
>                 <userName>testadmin</userName>
>                 <password>admin123</password>
>             </tenantAdmin>
>             <tenantUsers>
>                 <user key="user1">
>                     <userName>test1</userName>
>                     <password>123</password>
>                 </user>
>                 <user key="user2">
>                     <userName>test2</userName>
>                     <password>123</password>
>                 </user>
>             </tenantUsers>
>         </tenant>
>     </userManager>
>     <!--
>    This section will initiate the initial deployment of the platform
> required by
>    the test suites.
> -->
>     <platform>
>         <product id="AS">
>             <!--
>             cluster instance details to be used to platform test execution
>             -->
>             <cluster>
>                 <!--
>                      List of workers which will assign id the suite is
> directed to execute
>                          in a clustered environment with worker manager
> separation
>                 -->
>                 <!--Types worker/manager/lb_worker/lb_manager-->
>                 <instance name="asw001" type="worker">
>                     <host>localhost</host>
>                     <httpport>9764</httpport>
>                     <httpsport>9444</httpsport>
>                     <webContext>/</webContext>
>                 </instance>
>                 <instance name="asw002" type="worker">
>                     <host>localhost</host>
>                     <httpport>9764</httpport>
>                     <httpsport>9444</httpsport>
>                     <webContext>/</webContext>
>                 </instance>
>                 <!--
>                     List of managers which will assign id the suite is
> directed to execute
>                         in a clustered environment with worker manager
> separation
>                    -->
>                 <instance name="asm001" type="manager">
>                     <host>localhost</host>
>                     <httpport>9764</httpport>
>                     <httpsport>9444</httpsport>
>                     <webContext>/</webContext>
>                 </instance>
>                 <instance name="asm002" type="manager">
>                     <host>localhost</host>
>                     <httpport>9764</httpport>
>                     <httpsport>9444</httpsport>
>                     <webContext>/</webContext>
>                 </instance>
>                 <!--Configuration of the fronted LB on a LB fronted
> deployment-->
>                 <instance name="lbw001" type="lb_worker">
>                     <host>localhost</host>
>                     <httpport>9763</httpport>
>                     <httpsport>9443</httpsport>
>                     <webContext>/</webContext>
>                 </instance>
>                 <instance name="lbm001" type="lb_manager">
>                     <host>localhost</host>
>                     <httpport>9765</httpport>
>                     <httpsport>9445</httpsport>
>                     <webContext>/</webContext>
>                 </instance>
>             </cluster>
>             <!--
>             Product instance details to be used for integration test level
>             -->
>             <instances>
>                 <!--Types individual/lb-->
>                 <instance type="individual" id="001">
>                     <host>localhost</host>
>                     <httpport>9764</httpport>
>                     <httpsport>9444</httpsport>
>                     <webContext>/</webContext>
>                 </instance>
>                 <instance type="individual" id="002">
>                     <host>localhost</host>
>                     <httpport>9763</httpport>
>                     <httpsport>9443</httpsport>
>                     <webContext>/</webContext>
>                 </instance>
>                 <instance type="lb" id="lb002">
>                     <host>localhost</host>
>                     <httpport>9763</httpport>
>                     <httpsport>9443</httpsport>
>                     <webContext>/</webContext>
>                 </instance>
>             </instances>
>         </product>
>         <product id="ESB">
>             <cluster>
>                 <instance name="esbw001" type="instance">
>                     <host>localhost</host>
>                     <httpport>9764</httpport>
>                     <httpsport>9444</httpsport>
>                     <webContext>/</webContext>
>                 </instance>
>                 <instance name="esbw002" type="instance">
>                     <host>localhost</host>
>                     <httpport>9764</httpport>
>                     <httpsport>9444</httpsport>
>                     <webContext>/</webContext>
>                 </instance>
>                 <instance name="esbm001" type="manager">
>                     <host>localhost</host>
>                     <httpport>9764</httpport>
>                     <httpsport>9444</httpsport>
>                     <webContext>/</webContext>
>                 </instance>
>                 <instance name="esbm002" type="manager">
>                     <host>localhost</host>
>                     <httpport>9764</httpport>
>                     <httpsport>9444</httpsport>
>                     <webContext>/</webContext>
>                 </instance>
>                 <instance name="lbw001" type="lb_worker">
>                     <host>localhost</host>
>                     <httpport>9763</httpport>
>                     <httpsport>9443</httpsport>
>                     <webContext>/</webContext>
>                 </instance>
>                 <instance name="lbm001" type="lb_manager">
>                     <host>localhost</host>
>                     <httpport>9765</httpport>
>                     <httpsport>9445</httpsport>
>                     <webContext>/</webContext>
>                 </instance>
>             </cluster>
>             <instances>
>                 <instance type="individual" id="in001">
>                     <host>localhost</host>
>                     <httpport>9764</httpport>
>                     <httpsport>9444</httpsport>
>                     <webContext>/</webContext>
>                 </instance>
>                 <instance type="individual" id="in002">
>                     <host>localhost</host>
>                     <httpport>9763</httpport>
>                     <httpsport>9443</httpsport>
>                     <webContext>/</webContext>
>                 </instance>
>                 <instance type="lb" id="lb002">
>                     <host>localhost</host>
>                     <httpport>9763</httpport>
>                     <httpsport>9443</httpsport>
>                     <webContext>/</webContext>
>                 </instance>
>             </instances>
>         </product>
>     </platform>
> </autoConfig>
>
>
> Thank You,
> Dharshana.
>
>
> On Fri, Aug 2, 2013 at 9:02 AM, Dharshana Warusavitharana <
> [email protected]> wrote:
>
>> Hi All,
>>
>> The WSO2 Test Automation Framework is currently using three different
>> property files to read the context needed for executing automation tests.
>>
>> 1. automation.property
>> 2. TenantList.csv
>> 3. UserList.csv
>>
>> The main objective of the above property files is to provide
>>
>> 1. Environment details.
>> 2. Endpoint details (Servers and server URLs)
>> 3. User details.
>> 4. Environment based settings
>>
>> In to automation framework to build the environment for the automated
>> test execution.
>>
>> But with the new refactoring effort of the automation core API we are
>> planning to give much user friendly API and easy to manage set of
>> configurations through a single configuration file.
>>
>> The challenge is bundling all above requirements in a single
>> configuration file with maximum level of readability and manageability.
>>
>> At the moment we have derived a XML configuration file based on the
>> inputs from our previous code reviews and discussions with Azeez. And your
>> valued inputs are welcome for coming out with an optimized config for the
>> automation API.
>>
>>
>> I'm  attaching the derived configuration file with this mail and will
>> post the whole XML in-line with the mail as well.
>>
>> Your valued inputs are welcome.
>>
>> Thank You,
>> Dharshana.
>>
>>
>> --
>>
>> Dharshana Warusavitharana
>> Senior Software Engineer , Test Automation
>> WSO2 Inc. http://wso2.com
>> email : [email protected] <[email protected]>
>> cell : +94772202595
>> blog : http://dharshanaw.blogspot.com
>>
>> lean . enterprise . middleware
>>
>
>
>
> --
>
> Dharshana Warusavitharana
> Senior Software Engineer , Test Automation
> WSO2 Inc. http://wso2.com
> email : [email protected] <[email protected]>
> cell : +94772202595
> blog : http://dharshanaw.blogspot.com
>
> lean . enterprise . middleware
>



-- 

Dharshana Warusavitharana
Senior Software Engineer , Test Automation
WSO2 Inc. http://wso2.com
email : [email protected] <[email protected]>
cell : +94772202595
blog : http://dharshanaw.blogspot.com

lean . enterprise . middleware
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to