Tuesday, July 24, 2012

"bash" command on Solaris machine.

Yesterday i had to connect to a Solaris machine through ssh. I faced some inconvenience when press 'tab' for generate rest of the file names, folder names etc.. Not like in Linux environment it push the cursor for 4 spaces to the right without generating the rest of the file name. hmmm.... I had to type the whole file names and folder names. :(   However I deside to find a solution for this headache, cause it becomes a real headache at the end of the day. ........... Thanks for Google.

That's a simple step. "bash". I just need to enter this command. Then its same as usual.


$ bash
bash-3.00$

Monday, June 11, 2012

How to add DNS entry in Windows 7

Open the note pad. (You have to run it as Administrator). Then open   C:\Windows\System32\ drivers\etc\hosts" file in the Note pad  [i assume your windows partission is 'C' ;)]. Add the ip address and the host name at the end of the file. The IP address should be placed in the first column followed by the corresponding host name.

Ex:
192.168.0.24     sec.office.hms

Save the file and close it.
That's all.

Tuesday, May 8, 2012

log4j common conversion pattern.



Yesterday, one of my friend asked about log4j xml file. She's new for development and wants to understand it line by line. How ever she has stuck on conversion line. hmmm... so my work starts from there.. Simply she needs to get the meaning of this line.

   <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="%d{DATE} %-5p [%t] %c{1} - %m%n"/>
   </layout>

This says the layout of the log lines in the log file. According to this pattern it writes a log line like this.

09 May 2012 10:50:14,125 INFO [WrapperListener_start_runner] MuleServer - Mule Server initializing...

Lets see the meanings...

%d{DATE} = %d means the date. The format goes in the {} brackets. DATE - DateTimeDateFormat. ( "dd MMM yyyy HH:mm:ss,SSS" for example, "06 Nov 1994 15:49:37,459"

%-5p = Type of the log entry. INFO, DEBUG, ERROR etc.. -5 means use 5 characters to mention it.

[%t] = Says the tread name. In hear the box brackets will cover the thread name.

%c{1} = The class name. {1} says to mention only the class name. %c will write "org.mule.MuleServer"

- = Simply add dash "-" between class name and message.

%m = The message.

%n = new line.

For quick reference.... http://www.daniel-hirscher.de/Java_files/Log4jQuickRef.pdf

Friday, April 13, 2012

How to recover MongoDB after an Unclean shutdown.

April 13th 10.48pm .... ;)

Sometimes my laptop switch off at once due to lack of battery power. It doesn't support for auto hibernate when it runs with fedora.. :(   So those times my mongod server also crashed. When i start it on the next time it ask to repair the db and direct to their help and support web site. According to that i found this command. It is a simple command to repair the db .. That's....

shell> ./mongod --repair --dbpath=<path_to_db>

I assume that you are in the mongodb bin folder... :)

Wednesday, March 21, 2012

How to find the MAC address on Windows phone. (Old versions)

My previous blog's method works for "Windows Phone 7 7.10.7720" version. But the old versions doesn't have this feature. So I found another two more methods to find out the MAC address on windows phones.

Method 1 (works on "Windows Phone 7 7.10.7720" version on LG at&t)

1) Go to phone dialer.
2) Type ##634# and press "call" button.
3) In the MFG screen enter 277634#*# as password.
4) In "Factory menu" select "Engineer Menu"
5) In "Engineer Menu" select "Device Test"
6) From "Device Test" select "WIFI Test"
7) From "WIFI Test" open "Net.Info."

You will see the MAC address... ;)

For Samsung phones. [I didn't test this method]

1) Go to phone dialer.
2) Type ##634# (might have been ##643#) and press "call" button.
3) In the MFG screen enter 277634#*# as password.
4) Go to Diagnosis.
5) enter *#1234#
6) It should bring up a menu that includes the WiFi Mac Address


Method 2 [I didn't test this one. :P]

1) Enable your router logs.
2) Then enable your phone wi-fi.
3) Select the router from your phone's wifi list and let it to connect.
4) Check the DHCP CLIENT LOG of the router.

How to find the MAC address on Windows phone.

There is a simple way to find out the MAC (Media Access Control) address.
Go to Settings -> About -> More info

That's it. Simple ;)

Portable Wi-Fi hotspot.

This is another valuable reason to buy a Nexus S phone.. ;). The phone should connect to the network first and then can start its hotspot. [Model number : Nexus s, Android version : 2.3.6]. To connect to the network, set the APN  (Access Point Names).

Menu -> Settings -> wireless network -> Mobite networks -> Access Point Names. Press Menu button. New APN.

I used a mobitel (Sri Lanka) sim. So... these are the mobitel settings

Name : Mobitel
APN : mobitel3g
proxy : 192.168.050.163
port : 8080
username :
password :
And keep all others with default values.

Then enable the data access over mobile network.
Menu -> Settings -> Wireless & networks -> Mobile networks -> Data enabled (put a tick)

Now the phone should allow to connect to the internet. [If there are enough signal strength... :)]
Ok... then convert the phone to allow other devices [laptops, phones etc.. which has Wi-Fi] to use the same network connection. In other word make it a "hotspot".

Steps...
Menu -> Settings -> Wireless & networks -> Tethering & portable hotspot -> Portable Wi-Fi hotspot (put a tick)
You can configure Network SSID (Service Set Identifier) and password in hotspot configurations.

Your portable hotspot is ready to use.... ;)

Tuesday, March 20, 2012

How to take screen shots on nexus s phone.

There are dozens of free applications on the android market for take screen shots. But they are not supported for Nexus S phone. Because it is a unrooted  phone. [I'll talk more about this later.. ;) ] However, after trying several ways i found a successful method. But it need a computer which has android sdk.

Simply you have to follow these 5 steps.  [mm... I tried on windows 7] 

1) Install Android SDK.
2) Enable your phone for USB debugging.
         Menu -> Settings -> Applications -> Development -> USB debugging
3) Connect the phone to the computer through USB.
4) Start DDM.
       You can find an application called DDM inside tools in "android sdk" folder. Start it.
5) Select the phone and go to "Device -> Screen capture" [or press Ctrl+S]

Wednesday, March 14, 2012

quartz...

Story... ;)
Last week I thought to improve my appzone application. Its a message alert system. Which has some groups and users can join to those groups. Then they will recieves messages every morning. The improvement is i just want to set separatem trigger times for each group. Currently i used quartz in spring context file. I created one schedular factory bean, one trigger bean, and one job bean. So simply what i have to do is create each one of those for each group. But its not possible it another group will added. hmmm.... I need a dynamic and more configurable way. Before explain the solution i'll show my old codes.


    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                <ref bean="alertMessageTrigger"/>
            </list>
        </property>
    </bean>

    <bean id="alertMessageTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="alertMessageTimeTrackJob"/>
        <property name="cronExpression" value="0 0 8 * * ?"/>
    </bean>

    <bean name="alertMessageTimeTrackJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject" ref="dailyAlertManager"/>
        <property name="targetMethod" value="startDaily"/>
    </bean>

    <bean id="dailyAlertManager" class="myroad.util.impl.AlertManagerImpl">
        <property name="limit" value="${sms.data.retreive.batch.size}"/>
    </bean>


"AlertManagerImpl" class has a method called "startDaily". So that message will executes by the cron when trigger time occurs. To understand the cron expression please check my old posts.

Ok..  now the solution. I create new class "MySchedularFactoryBean" by extending "SchedularFactoryBean". So to initialize create a bean of that class inside the context file. Now the context.xml has only this.

    <bean class="myroad.say.util.impl.SaySchedulerFactoryBean">
        <property name="groupService" ref="groupService"/>  
    </bean>


This is my class.

public class MySchedulerFactoryBean extends SchedulerFactoryBean {
    private Log logger = LogFactory.getLog(MySchedulerFactoryBean.class);
    private GroupService groupService;
    @Override
    protected void startScheduler(Scheduler scheduler, int startupDelay) throws SchedulerException {
        logger.info("Scheduler starting...");
        try {
            List<Group> groups = groupService.getAllGroups();
            logger.debug("Number of groups in database = " + groups.size());
            for (Group group : groups) {
                if (null == group.getQtzExpression() || group.getQtzExpression().equals("")) {
                    continue;
                }
                JobDetail jobDetail = new JobDetail();
                jobDetail.setName(group.getShortName());
                jobDetail.setJobClass(GroupMsgSendJob.class);

                CronTriggerBean triggerBean = new CronTriggerBean();
                triggerBean.setName(group.getShortName() + "Trigger");
                try {
                    triggerBean.setCronExpression(group.getQtzExpression());
                } catch (ParseException e) {
                    logger.error("Exception while parsing quartz expression for " + group.getShortName() + "Group.", e);
                }
                scheduler.scheduleJob(jobDetail, triggerBean);
            }
        } catch (myroad.say.exception.DBException e) {
            logger.error("DB exception occurs while searching groups for load schedules.", e);
        } catch (SQLException e) {
            logger.error("SQL exception occurs while searching groups for load schedules.", e);
        }
        super.startScheduler(scheduler, startupDelay);
    }

    public void setGroupService(GroupService groupService) {
        this.groupService = groupService;
    }
}

For your convienience I'll show my "Group" pojo.

public class Group {
    private int id;
    private String shortName;
    private String description;
    private List<String> synonyms;
    private String successMessage;
    private String responseMsg1;
    private String qtzExpression;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public List<String> getSynonyms() {
        return synonyms;
    }

    public void setSynonyms(List<String> synonyms) {
        this.synonyms = synonyms;
    }

    public String getShortName() {
        return shortName;
    }

    public void setShortName(String shortName) {
        this.shortName = shortName;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getSuccessMessage() {
        return successMessage;
    }

    public void setSuccessMessage(String successMessage) {
        this.successMessage = successMessage;
    }

    public String getResponseMsg1() {
        return responseMsg1;
    }

    public void setResponseMsg1(String responseMsg1) {
        this.responseMsg1 = responseMsg1;
    }

    public String getQtzExpression() {
        return qtzExpression;
    }

    public void setQtzExpression(String qtzExpression) {
        this.qtzExpression = qtzExpression;
    }
}

This one solves my problem. But i have to restart the system after adding new group into the database. mmm... its not a big issue. Because I may add new group once a two or three months ;)

However there is a solution even for that. We can set data source for quarts. Then it will handle the cron expressions dynamically. Also it consumes less proccessing power than my solution.

Tuesday, February 21, 2012

< and > Marks in blogspot.

In my previous post i had to display an xml tags. As usual i wrote the blog and do publish.. :( Ooops.. nothing can see except the first line. The reason was those tags are identified as markup language. Hmm... So the solution should be simple. Use the HTML character entries for < and > marks.
 [< for < and > for >]

tomcat-users.xml sample.


The tomcat fresh copies doesn't has the admin and manager roles defined in the tomcat-users.xml file. So i put this sample xml for future use. ;)


<?xml version='1.0' encoding='utf-8'?> 
<tomcat-users>
<role rolename="admin"/
>
<role rolename="manager"/
>
<role rolename="tomcat"/
>
<role rolename="role1"/
>
<user username="admin" password="secret" roles="manager,admin"/
>
<user username="tomcat" password="tomcat" roles="tomcat"/
>
<user username="role1" password="tomcat" roles="role1"/
>
<user username="both" password="tomcat" roles="tomcat,role1"/
>
</tomcat-users
>

Thursday, February 9, 2012

Gmail's email addresses has children.

There is a fantastic feature in gmail's email addresses. Let say if my email address is abc@gmail.com. If someone send a mail to abc+xyz@gmail.com it will received to me. [huhhh.... ;)]
The biggest advantage i saw is when we are giving our mail address for a group or something else we can join their name to our mail address and give it. After that we can create a filter for that mail address. So we don't need to think which subject they will use or which from address will they use.

Sunday, February 5, 2012

Bugzilla dashboard.

For a QA person it is better to have a dashboard in the Bugzilla which shows the summary of bugs related to the quality checked projects. Because it is a common thing that the opened bugs will remains in the system as resolved. Sometimes as "New" too. Because of those reasons i thought to create an dashboard. [is that sound funny.... ;)] I found that bugzilla has a good API. So i just need to create an attractive interfaces (with color full charts and bla blaa.. ) and little more back end works.

However i got a new idea. It's more simpler than previous. Bugzilla has a feature called "Reports". You can find it at the top menu bar in a bugzilla page. You can generate reports in three dimensional (mm... means X axis Y axis and the type of the table). Just need to choose one or more fields as your axes, and then refine your set of bugs using the rest of the form. [little bit copy paste from report page.. ;)]. Ok... what you have to do is select "Status" for the Horizontal axis and "Products" for the vertical axis. Keep the multiple tables as "". Then select the "Products" that you have quality checked. Then put a tick for "the reporter" in "Email address and bug numbers" criteria and put your mail address in the relevant text box. (Remember to deselect all in "Status" list box.) Press search. 

Okay.. You will get the summary report. Now what you have to do is make it book marked. 

Your dashboard is successfully installed...!!! 

Tuesday, January 31, 2012

Localized Application.

In sri lanka we can find some localized OS and applications. But how many people use those. As i know more than 99% of computer users use English OS and applications, even though they are speaks only sinhala or Tamil. According to wikipedea the English literacy in Sri Lanka is 10%.

Contradiction.... then why?

The main reason is the computer english is not a problem for 90% of the computer users. So other 10% is a narrow cheap market.

So... is it same for mobile phone applications...?

NO. Actually it is completely different. Mobile technology is a technology that has go masses. (According to the latest updates sri lankans use around 20 million mobile phones which is exactly equal to the sri lankan population.) Sri lankans can use a mobile phone even it has english menus. BUT... they prefer to get the informations (means the value added services.) in their mother language. So 90% of mobiles need local language support. [Wide cheap market.]

Ex: News alerts, Medical information, Fun talks..

Thursday, January 26, 2012

Interesting features in Bugzilla. [OTW]

Sudo Session.


One user impersonate another. This is a very powerful feature in the bugzilla. The users in the Admin group will get this feature in default. When a session starts the impersonated user will get an email from bugzilla. It says the person that impersonate him/her and the reason which is mention by that person. That is the only message that he/she receives and nothing else. The impersonated person can't stop that, but he/she can send a mail to the bugzilla maintainer.


If any other user need to do it?
   To do that you need to be in the "bz_sudoers" group and also you need permission to access to the "users" link in the admin area.


Any Protection?
  Yes, if you are in "bz_sudo_protect" group others can't impersonate you.




Add bug URLs filed.


The bugs can be related to the previous bugs. In that case we can use the "Depends on" or "Blocks" fields. But if that previous bug is in another installation we should use this field (Add bug URLs) to mention that URL. [mm... more than one? Sure, you can mention them comma separately]

Bug life cycle.




Monday, January 23, 2012

qwerty

Qwerty-indelingImage via Wikipedia
May be you are not familiar with this word. Check your key board's first line of letters. The first 6 letters. Actually it use to naming the key pad. Like numerical key pad, "Qwerty key pad" use to mention the other part of the key board.

Friday, January 20, 2012

lsusb

Story.
I bought a wireless keyboard and a mouse. How ever it doesn't work on my machine. (Compaq 420 Lap)  But it start to work on my friends machine. It has Windows and my one has Fedora 13. (Honestly i didn't mumble anything to sales person....) Surprisingly it works in Fedora 16 machine.

Question.
How to check whether my machine detect the device?

Answer.
lsusb - List information of all USB buses and all the devices connected to them.

There is a same kind of command for PCI. Its slpci - List all pci devices.

http://linux.about.com/library/cmd/blcmdl8_lsusb.htm

p.s. That start to work after changing the USB port. :D

Thursday, January 19, 2012

Windows phone application features.

There are two mandatory basic features that a windows mobile application should have.

  1. If user press "Back" button on the phone at the application's home page, it should log out.
  2. If user press "Windows" button on the phone at any page in the application it should minimize.  
These features are common for the android applications too. But the second one is not exactly matching. Actually there is no windows key on android phones. ;)  Instead of that it has "Home" button.

Wednesday, January 18, 2012

Whining. [Bugzilla - over the wall]

[Two three days before i had to add some new versions and components to the bugzilla. So as usual i sent mails to sys admin. Due to more mails i got chance to get some authentication for "Product" area in Admin page. Other than that some how i got the permission for "Whining" too..] :) story.

"Set queries which will be run at some specified date and time, and get the result of these queries directly per email. This is a good way to create reminders and to keep track of the activity in your installation." Yes.. I have copy pasted the whining description from bugzilla. In my words whining helps to filter the bugs and email in predefine time or time periods. The saved names of search criteria can use to filter the bugs in whining. Whining let us to do the scheduling.

http://www.bugzilla.org/docs/tip/en/html/whining.html

Other than that there are two more things to do.

  1. Need to set a cron job in bugzilla installed machine.
    */15 * * * * cd  ; ./whine.pl [pls check my previous post for crons] ;) 
  2. Need to become a member of "bz_canusewhines" group. [mmm.. you need to access for groups area in admin page. else contact sys admin]

    Note: Better to take the membership of "
    bz_canusewhineatothers" group too. It gives permission to create whines for others.
mm... i guess this is more usable for Managers and people who more concern about project status. 

Advantages.
  1. No need to think more about CC list of bugzilla components.
  2. This is a some kind of a automation for bugzilla status reports.

Monday, January 16, 2012

Chrome back button shortcut.

Chrome browser has a back button in the upper left hand corner. But sometimes chrome opens pop up pages which doesn't has any button. Actually i court in trapped there. When doing Testopia test run it create pop up windows for bug reporting. One time i forgot to select the "Componet" and hit "Submit". [$#@@#$]
Bugzilla gives an error message saying "You didn't select component... bla bla.. Go Back". But how to go back.... The backspace button also didn't work for me. :( However the Alt key helps me. (The key of the day... :D)

Alt + left arrow.            

hmm... you are correct. 'Alt + right arrow' is the "Next" button short cut key.

Make window transparent. (Fedora)

This is a short cut key i accidentally found. I'm working in Fedora V13.
Alt + Mouse wheel

When we are working in one window and need to see another lightly. [say  you need to write steps by looking at a graph.]

Sunday, January 15, 2012

Robotium

Like selenium (Which i talked earlier..) this also a test automation tool. But this time there is a different. This tool use to automate android applications. There are lot of features that i like.
  • Its free. [No need a credit card.. ;)]
  • No need to have the source code of application.
  • Need to write the test cases from user point of view.
  • Seems easy to write the test cases. [still not start to swim... :P]
  • Can view the GUIs changing while test run. 
  • According to the Robotium people there is a benefit like "Integrates smoothly with Maven or Ant to run tests as part of continuous integration". Sounds good.  Means we can filter more bugs before the QA release... ;)

Wednesday, January 11, 2012

'BUDU AMMO' Mark in command prompt.

[:D ..... Exclamation mark "!"] It's a some kind of a recall command. We can use it to recall a command which we use earlier without typing its all things. [mm... you need an example. Right?]
OK.. lets say you use "ssh root@192.168.0.11" earlier to connect to another machine. And you have already disconnect from it. Again you need to connect to it. So simply what you need to do is type "!ssh" and press enter.
It will grab the rest of that command. You can use it to "cp", "mv" etc...

How it works.
It start to go through its history [means what we have entered previously. You can get it using "history" command. ;)] from bottom to up. [mm... last come first go] It check's whether there are commands start with the given letters. It will execute the first match.

Other ways...
You can use "Ctrl + R" shortcut at the command prompt. Then the prompt becomes like this
(reverse-i-search)`':
then you can start to type your command. It will automatically search a matching command from the history. When you got it, simply you need to press enter.

Testopia [Over the wall]

While we doing a test run some times we met some bugs related to other products. (mm.. other means not related to the testing product. Say SRS) Then what we are doing is initiate a bug for it. (Yes.. that's the normal procedure and it will track to closure) But other than that to get the maximum from Testopia we can create a test case for that bug. The Testopia extension (for Bugzilla...) provide a link "Create a test case" at the top of the bug page. 
We need to select the product. Then need to set the Priority, Category and Status. Testopia load the bug description to the Action field. From that we can "cut" and "copy" the "Setup" and "Expected Results" fields.

Advantage.
  1. The method of finding the bug will never dismiss. Each and every test run we can check whether the same bug occurs again due to another change.
  2. If the same bug occurs again the tester don't need to memorize whether this has a reported bug. Cause Testopia care about it. 

Tuesday, January 10, 2012

Report a bug.

As i mention earlier Testopia is a Test case management system. While running a test run we check the product met the requirements. If it is yes, the test case will pass. Else fails. So we have to track it in the next version. Because of the we report a bug in Bugzilla. Testopia was designed to bind those bugs with the particular test case. 
When reporting a bug through the testopia it automatically generates Product name, Component and Version. Other than that we have to set the platform, OS, bug status, title and description. Among those things title and the description are the most important things. 
Title - Should be a single line. But need to describe the bug very briefly.
Description - Should consist of three major parts with optional part. 

  1. Steps to reproduce. - It should be clear for any developer. Not only for the implementor.
  2. Actual outcome - Clearly mention what you see/get.
  3. Expected outcome - If the bug reporting for a test case clearly mention the requirement. 
  4. Position of the requirement in the SRS. (Optional) - SRS name, Version and the requirement number or  page number with line number.

Thursday, January 5, 2012

Testopia

Don't say it as "Test" --  "Opia". There is no meaning. But using that words can understand that is a something related to testing. I have familier with Bugzilla. This Testopia is something like a plugin working on the bugzilla. As we know we use bugzilla for report bugs of a program while doing the testing. This Testopia helps to organize test cases. (mmm... not the code related test cases. Im talking about SRS test cases written by a QAE)
So no need to write the test cases on excel sheets anymore. So any one can view the test cases easily related to the particular projects.
The other important thing is we can create test runs. That means we can select particular test cases and create a test run for a project. So while doing the test run it automatically show the progress in the dash board. And also while doing the test run we can report bugs for failed test cases. (.. Nice,, isn't it.)

[Ok.. i know your question... ;)     Its coming soon on My Road....  How to install Testopia]

Wednesday, January 4, 2012

Login without a password.

ssh-keygen
hmm... This is use to generate the private and public keys to authenticate ssh. Yesterday i had to use this command to generate a public key as per our network admins request. [You are wrong... he's a good one..! ;)] He told me that i don't need to type the password each and every time when i'm connecting to the GIT. [mm...  it's a version control system like SVN.]
Fortunately it light up a new idea. [yes... new for me.. :D] 
Ok.. These are the steps.

1) $> ssh-keygen -t rsa         : Generate private/public rsa keys.

         Enter file in which to save the key (/home/kumudu/.ssh/id_ras) : <return>
         Enter passphrase (empty for no passphrase):  <return>

         Enter same passphrase again:  <return>
         Your identification has been saved in /home/kumudu/.ssh/id_rsa.
         Your public key has been saved in /home/kumudu/.ssh/id_rsa.pub.
         The key fingerprint is:
         67:5b:54:e8:1f:eb:46:7a:00:3b:72:33:9a:cc:d3:32 kumudu@hmslp030
         The key's randomart image is:
         +--[ RSA 2048]----+
          |                          ..  |
          |                         ..   |
          |                        ..    |
          |                       ... .  |
          |                 S oo.. o |
          |                 .o*o. +  |
          |                o *.+ =   |
          |                   E . . +  |
          |                    +   o   |
         +-------------------+

Ok... Your public key is in /.ssh/id_rsa.pub file. 

2) $> ssh-add      :  This will add the generated keys to ssh. (If you miss this you will get a message like "Agent admitted failure to sign using the key." while connecting to the remote machine.  [I spend lot of time to find this...])

3) Copy that public key onto remote machines' .ssh/authorized_keys file. (mmm... normally this file doesn't exist. Just create a new file named "authorized_keys" in .ssh folder and copy the public key into it.)

4) Then make the file permission as follows. (Actually i don't know the exact reason for this. Without this permission ssh refuse to use the key)
       $> chmod 600 .ssh/authorized_keys

5) $> ssh <profile_name>@<remote_host>


hmmm... thats all.. I tested it on fedora machine and ubuntu machine. 

Advantages.
  • If someone ask for login to your machine through ssh, simply ask him to send the rsa public key. Then add it to your autherized_keys file. [you don't need to expose your password]
  • The other person don't need to remember your password. [yes.. yes... only the ip ;)]
  • If you want to stop him just remove the key... 



Monday, January 2, 2012

Selenium

Yesterday i thought to find a test tool. My requirement was to find a tool for test web pages. Also it should be a simple one. (Yes... i don't like to jump at once..) How ever i found "Canoo web test", "Selenium", "Watin" and "Watir" as popular test tools. But Selenium is familiar for me. Cause there was a simulator called as selenium which i was used 3 years ago. (http://www.seleniumsoftware.com/downloads.html

SeleniumHQ (Web application testing tool) http://seleniumhq.org/
It has lot of tools. Selenium 1, Selenium 2, Selenium IDE, Selenium Grid like wise. As per the introduction this Selenium IDE is the easiest tool to learn. (Woww.. it can plug in to firefox. )
It has a feature called record. As a beginner i feel it was very attractive feature. We can record what we do on a particular web page and rerun it. (Yes... it generates all the commands automatically when we running the trail)

to be cont....