Selenium என்பது ஓர் browser automation tool ஆகும். இது ‘Software Testing’ துறையில் வேலை பார்ப்பவர்களுக்கு உதவும் ஒரு பயனுள்ள கருவி ஆகும். இதைக் கொண்டு Testing துறையில் உள்ளவர்கள் மிகவும் சுலபமாக அவர்களுடைய வேலைகளைச் செய்துவிட முடியும். இதைப் பற்றிக் கற்றுக்கொள்வதற்கு முன்னர் முதலில் நாம் browser, automation, tool எனும் ஒவ்வொரு வார்த்தையைப் பற்றியும் தெளிவாகப் புரிந்து கொள்ள வேண்டும். இதற்கு பின்வரும் கதையைப் படிக்கவும். அதன் பின்னரே நாம் selenium-ன் உதவியைக் கொண்டு எவ்வாறு பல்வேறு வேலைகளை விளையாட்டாகச் செய்வது எனக் கற்க முடியும்.
Automation – ஓர் அறிமுகம்
HTML / JavaScript கொண்டு ஒரு வலைத்தளமானது உருவாக்கப்படுகிறது. அவ்வாறு உருவாக்கப்பட்ட வலைத்தளமானது நேரடியாக பயனர்களைச் சென்றடைவதற்கு முன்னர் ‘Testing’ எனும் துறையின் கீழ் உள்ளவர்கள் அதனை பரிசோதிப்பார்கள். அவர்களுடைய வேலையே அந்த வலைத்தளத்திற்குள் ஒழுங்காக login செய்ய முடிகிறதா, உள்நுழைந்த பின்னர் பயனர்களுக்குத் தெரிய வேண்டிய அனைத்து இணைப்புகளும் ஒழுங்காகத் தெரிகிறதா, பயனர்களால் அந்த இணைப்புகளைப் பின்பற்றி அடுத்தடுத்த வேலைகளைச் செய்ய முடிகிறதா என்பதையெல்லாம் பரிசோதிப்பதே ஆகும். இதையெல்லாம் முதல் முறை செய்யும்போது பரிசோதிப்பவர்களுக்கு ஆர்வமாக இருக்கும். ஆனால் இதையே மீண்டும் மீண்டும் செய்ய வேண்டிய நிலை ஏற்படும் போது அவர்களுக்கும் ஆர்வம் குறைந்து விடும்.
அதாவது முதல் முறை வலைத்தளத்தை முழுவதுமாக பரிசோதித்து முடித்த பின்னர், வலைத்தளம் பயனர்களுக்கு வழங்கப்படும். பின்னர் பயனர்கள் அதனை அவர்களின் தொழிலுக்காக நேரடியாகப் பயன்படுத்தத் தொடங்கிவிடுவார்கள் [IT துறையில் இதனை Application (வலைத்தளம்) Production-க்குச் சென்று விட்டது என்று கூறுவோம்.] .
சிறிது காலப் பயன்பாட்டிற்குப் பின்னர், பயனர்கள் அவர்களின் தொழில் மாறுதலுக்கு ஏற்ப ஏதேனும் ஓர் இடத்தில் ஒரு புதிய படிவத்தை சேர்க்கவோ அல்லது மாற்றவோ வேண்டும் என்று கூறி மீண்டும் நம்மிடம் வருவார்கள். இந்நிலையில் Development துறையானது அவர்களின் விருப்பத்திற்கு ஏற்ப ஓர் புதிய படிவத்தை உருவாக்கி, வலைத்தளத்தின் ஓர் அங்கமாக இணைத்து விடும். இந்த வேலை முடிந்த பின்னர் வலைத்தளமானது மீண்டும் Testing துறையின் கீழ் வரும். இப்போது Testing துறையில் உள்ளவர்கள் புதிதாக சேர்க்கப்பட்ட படிவத்தை மட்டும் பரிசோதிப்பத்துடன் நிறுத்திவிடாமல், மீண்டும் பழைய சோதனைகள் அனைத்தையும் பரிசோதிக்க வேண்டும். இதையே ‘Regression Testing’ என்பார்கள்.
Browser Automation – ஓர் அறிமுகம்
Regression Testing- ன் படி வலைத்தளங்களில் ஒரு சிறிய மாறுதல் செய்யப்பட்டாலும் கூட மீண்டும் முதலிலிருந்து பரிசோதிக்க வேண்டும். அதாவது வலைத்தளத்திற்குள் ஒழுங்காக login செய்ய முடிகிறதா, உள்நுழைந்த பின்னர் பயனர்களுக்குத் தெரிய வேண்டிய அனைத்து இணைப்புகளும் ஒழுங்காகத் தெரிகிறதா, பயனர்களால் அந்த இணைப்புகளைப் பின்பற்றி அடுத்தடுத்த வேலைகளைச் செய்ய முடிகிறதா என்பதையெல்லாம் மீண்டும் மீண்டும் சோதிப்பதன் மூலம் சோதிப்பவர்களுடைய நேரமும் வீணாகிறது, அவர்களுக்கும் அலுப்பு தட்டுகிறது. எனவே இது போன்று திரும்ப திரும்ப செய்யப்படும் வேலைகளையெல்லாம் browser-யே வலைத்தளத்தில் செய்து நமக்கு வெறும் result-ஐ மட்டும் காட்டினால் எவ்வளவு நன்றாக இருக்கும் என்று ஒரு Tester நினைத்ததன் வெளிப்பாடே Browser Automation ஆகும். ஆம்! Browser Automation என்பது Tester-ஆகிய நாம் செய்யும் வேலைகளையெல்லாம் browser-யே செய்யவைத்து நமக்கு வெறும் Pass/Fail எனும் result-ஐ மட்டும் வெளிப்படுத்தும்.
Selenium கருவி – ஓர் அறிமுகம்
நாம் செய்யும் வேலைகளையெல்லாம் browser-ஐயே செய்ய வைப்பது எப்படி என்று ஒரு Tester-க்கு கற்றுக்கொடுக்கும் வகையில் market-ல் பல கருவிகள் உள்ளன. அவற்றில் Rational Functional Tester, Test Complete, Unified Functional Tester, Selenium ஆகியவை மிகவும் பிரபலமாவை ஆகும். இவற்றில் Selenium தவிர மற்றவையெல்லாம் நாம் காசு கொடுத்து வாங்கிய பின்னரே, அதனை பயன்படுத்த முடியும். Selenium மட்டுமே இலவசமாகக் கிடைக்கக்கூடிய ஒன்று. எனவே Selenium மூலம் automation-ஐ இந்தப் புத்தகத்தில் நாம் பயிற்சி செய்து பார்க்கலாம். Automation- க்காக selenium-ல் 4 வகைக் கருவிகள் உள்ளன. அவை பின்வருமாறு.
Selenium IDE
Selenium WebDriver
Selenium Standalone Server
Selenium Grid
‘Selenium IDE’ என்பது சொல்வதைச் சொல்லும் கிளிப்பிள்ளை. இது Firefox browser-ன் plug-in ஆக வரும். இந்த IDE-ஐத் திறந்து வைத்துக்கொண்டு firefox browser-ல் என்ன செய்தாலும், அதை அப்படியே IDE பதிவு செய்து கொள்ளும். இந்தப் பதிவினை நாம் சேமித்துவிட்டு, மீண்டும் நமக்கு எப்போது தேவையோ, அப்போது எடுத்து Run செய்வதன் மூலம், நாம் பதிவின்போது என்னென்னவெல்லம் browser-ல் செய்தோமோ, அவை அப்படியே தானாகவே browser-ல் செய்யப்படும். ஆனால் இது ஒரு முழுமையான ‘Automation Framework’ உருவாக்குவதற்கு உதவாது.
‘Selenium WebDriver’ என்பது ஒரு முழுமையான ‘Automation Framework’ உருவாக்குவதற்குப் பயன்படுகிறது. அதாவது வலைத்தளப் பக்கத்தின் content-ஐ ஒப்பிடுவது, அதனடிப்படையில் ஒருசில செயல்களைச் செய்வது, இறுதி மதிப்புகளை எங்காவது பதிவு செய்வது போன்ற அனைத்தையும் உள்ளடக்கியதே ‘Automation Framework’ ஆகும். இவையெல்லாம் செய்வதற்கு IDE உதவாது. WebDriver-தான் இதற்கு ஒரு சிறந்த கருவி ஆகும். எனவே பரவலாகப் பயன்படுத்தப்படும் Automation Projects-ல் இந்த ‘Selenium Webdriver’-தான் முழுப்பங்கு வகிக்கும்.
‘Selenium Standalone server’ என்பது நமது கணினியில் மட்டுமல்லாமல் தொலைதூரக் கணினிகளுடன் தொடர்பு கொண்டு, அதிலும் சோதனைகளை நிகழ்த்தப் பயன்படும் ஒரு கருவி ஆகும். அதாவது நாம் லினக்ஸ் கணினியில் உள்ள firefox-ல் சோதனைகளை நிகழ்த்திக் கொண்டிருக்கும்போது, அதே சோதனைகளை IE- ல் நிகழ்த்த விரும்பினால், IE browser லினக்ஸ் கணினியில் இருக்காது. எனவே இந்த ‘Selenium Standalone server’ மூலம் மற்றொரு windows கணினியுடன் தொடர்பு கொண்டு, நம்மால் சோதனைகளை IE-ல் நிகழ்த்த முடியும். இதுவே இதன் பயன்பாடு ஆகும்.
‘Selenium Grid’ ஆனது ஒரே நேரத்தில் பல்வேறு கணினிகளுடன் தொடர்பு கொண்டு, நமது சோதனைகளை பல்வேறு வகையான browser-களில் நிகழ்த்த உதவும். வேறுபட்ட இடங்களில் இருக்கும், வெவ்வேறு வகையான இயங்குதளங்களைக் கொண்ட கணினிகளில் ஒரே சமயத்தில், குறைந்த நேரத்தில் சோதனைகளை நிகழ்த்தி முடிப்பதே இதன் சிறப்பு ஆகும்.