├── .classpath ├── .project ├── .settings └── org.eclipse.jdt.core.prefs ├── bin ├── JavaSessions │ ├── ArrayListConcept.class │ ├── DataTypes.class │ ├── FinalKeyword.class │ ├── FunctonInJava.class │ ├── IfElse.class │ ├── IncrementAndDecrement.class │ ├── LoopsConcept.class │ ├── StaticArray.class │ ├── StringConcatenation.class │ ├── StringManipulation.class │ └── WrapperClasses.class ├── OOP1 │ ├── BMW.class │ ├── Car.class │ ├── TestCar.class │ └── Truck.class ├── OOP2 │ ├── ICICIBank.class │ ├── TestBank.class │ ├── UKBank.class │ └── USBank.class ├── SeleniumSessions │ ├── AlertPopUpHandle.class │ ├── CalendarSelectTest.class │ ├── CheckVisibilityElement.class │ ├── CustomXpath.class │ ├── DragAndDropConcept.class │ ├── DynamicWebTableHandle.class │ ├── ElementVisibilityTest.class │ ├── ExplicitWaitConcept.class │ ├── FileUploadPopUp.class │ ├── FindElementsConcept.class │ ├── FrameHandling.class │ ├── FrameHandlingConcept.class │ ├── GoogleSearchTest.class │ ├── HandleDropBox.class │ ├── HandleFileUploadPopUp.class │ ├── HandleWindowPopUp.class │ ├── HtmlUnitDriverConcept.class │ ├── ImplicitWaitConcept.class │ ├── JavaScriptExecutorConcept.class │ ├── LocatorConcept.class │ ├── MouseMovementConcept.class │ ├── Navigations.class │ ├── ReadPropFile.class │ ├── SelectCalendarByJS.class │ ├── TakeScreenshotConcept.class │ ├── WebDriverBasics.class │ ├── config.properties │ ├── element.png │ ├── google.png │ ├── google1.png │ └── testngNotes ├── com │ ├── datadriven │ │ └── test │ │ │ ├── DataDrivenTest.class │ │ │ ├── ExcelOperations.class │ │ │ ├── HalfEbdayTest.class │ │ │ └── ParameterizeTest.class │ ├── excel │ │ └── utility │ │ │ └── Xls_Reader.class │ ├── parameters │ │ └── ParameterTest.class │ ├── test │ │ ├── ExceptionTimeOutTest.class │ │ ├── GoogleTest.class │ │ ├── GoogleTitleTest.class │ │ ├── InvocationCountTest.class │ │ ├── TestNgBasics.class │ │ ├── TestNgFeatures.class │ │ └── utility │ │ │ └── TestUtil.class │ └── testdata │ │ └── HalfEbayTestData.xlsx └── testng.xml ├── src ├── JavaSessions │ ├── ArrayListConcept.java │ ├── DataTypes.java │ ├── FinalKeyword.java │ ├── FunctonInJava.java │ ├── IfElse.java │ ├── IncrementAndDecrement.java │ ├── LoopsConcept.java │ ├── StaticArray.java │ ├── StringConcatenation.java │ ├── StringManipulation.java │ └── WrapperClasses.java ├── OOP1 │ ├── BMW.java │ ├── Car.java │ ├── TestCar.java │ └── Truck.java ├── OOP2 │ ├── ICICIBank.java │ ├── TestBank.java │ ├── UKBank.java │ └── USBank.java ├── SeleniumSessions │ ├── AlertPopUpHandle.java │ ├── CalendarSelectTest.java │ ├── CheckVisibilityElement.java │ ├── CustomXpath.java │ ├── DragAndDropConcept.java │ ├── DynamicWebTableHandle.java │ ├── ElementVisibilityTest.java │ ├── ExplicitWaitConcept.java │ ├── FileUploadPopUp.java │ ├── FindElementsConcept.java │ ├── FrameHandling.java │ ├── FrameHandlingConcept.java │ ├── GoogleSearchTest.java │ ├── HandleDropBox.java │ ├── HandleFileUploadPopUp.java │ ├── HandleWindowPopUp.java │ ├── HtmlUnitDriverConcept.java │ ├── ImplicitWaitConcept.java │ ├── JavaScriptExecutorConcept.java │ ├── LocatorConcept.java │ ├── MouseMovementConcept.java │ ├── Navigations.java │ ├── ReadPropFile.java │ ├── SelectCalendarByJS.java │ ├── TakeScreenshotConcept.java │ ├── WebDriverBasics.java │ ├── config.properties │ ├── element.png │ ├── google.png │ ├── google1.png │ └── testngNotes ├── com │ ├── datadriven │ │ └── test │ │ │ ├── DataDrivenTest.java │ │ │ ├── ExcelOperations.java │ │ │ ├── HalfEbdayTest.java │ │ │ └── ParameterizeTest.java │ ├── excel │ │ └── utility │ │ │ └── Xls_Reader.java │ ├── parameters │ │ └── ParameterTest.java │ ├── test │ │ ├── ExceptionTimeOutTest.java │ │ ├── GoogleTest.java │ │ ├── GoogleTitleTest.java │ │ ├── InvocationCountTest.java │ │ ├── TestNgBasics.java │ │ ├── TestNgFeatures.java │ │ └── utility │ │ │ └── TestUtil.java │ └── testdata │ │ └── HalfEbayTestData.xlsx └── testng.xml └── test-output ├── Default suite ├── Default test.html ├── Default test.xml └── testng-failed.xml ├── TestNG Session Test Automation Suite ├── Different testng Feature Test.html ├── Different testng Feature Test.xml └── testng-failed.xml ├── Yahoo App Test Automation Suite ├── Yahoo App Test.html └── Yahoo App Test.xml ├── bullet_point.png ├── collapseall.gif ├── emailable-report.html ├── failed.png ├── index.html ├── jquery-1.7.1.min.js ├── junitreports ├── TEST-com.datadriven.test.HalfEbdayTest.xml ├── TEST-com.parameters.ParameterTest.xml ├── TEST-com.test.ExceptionTimeOutTest.xml ├── TEST-com.test.GoogleTest.xml ├── TEST-com.test.GoogleTitleTest.xml ├── TEST-com.test.InvocationCountTest.xml ├── TEST-com.test.TestNgBasics.xml └── TEST-com.test.TestNgFeatures.xml ├── navigator-bullet.png ├── old ├── Default suite │ ├── Default test.properties │ ├── classes.html │ ├── groups.html │ ├── index.html │ ├── main.html │ ├── methods-alphabetical.html │ ├── methods-not-run.html │ ├── methods.html │ ├── reporter-output.html │ ├── testng.xml.html │ └── toc.html ├── TestNG Session Test Automation Suite │ ├── Different testng Feature Test.properties │ ├── classes.html │ ├── groups.html │ ├── index.html │ ├── main.html │ ├── methods-alphabetical.html │ ├── methods-not-run.html │ ├── methods.html │ ├── reporter-output.html │ ├── testng.xml.html │ └── toc.html ├── Yahoo App Test Automation Suite │ ├── Yahoo App Test.properties │ ├── classes.html │ ├── groups.html │ ├── index.html │ ├── main.html │ ├── methods-alphabetical.html │ ├── methods-not-run.html │ ├── methods.html │ ├── reporter-output.html │ ├── testng.xml.html │ └── toc.html └── index.html ├── passed.png ├── skipped.png ├── testng-failed.xml ├── testng-reports.css ├── testng-reports.js ├── testng-results.xml └── testng.css /.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | MorningSessions 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 5 | org.eclipse.jdt.core.compiler.compliance=1.8 6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 10 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 11 | org.eclipse.jdt.core.compiler.source=1.8 12 | -------------------------------------------------------------------------------- /bin/JavaSessions/ArrayListConcept.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/JavaSessions/ArrayListConcept.class -------------------------------------------------------------------------------- /bin/JavaSessions/DataTypes.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/JavaSessions/DataTypes.class -------------------------------------------------------------------------------- /bin/JavaSessions/FinalKeyword.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/JavaSessions/FinalKeyword.class -------------------------------------------------------------------------------- /bin/JavaSessions/FunctonInJava.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/JavaSessions/FunctonInJava.class -------------------------------------------------------------------------------- /bin/JavaSessions/IfElse.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/JavaSessions/IfElse.class -------------------------------------------------------------------------------- /bin/JavaSessions/IncrementAndDecrement.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/JavaSessions/IncrementAndDecrement.class -------------------------------------------------------------------------------- /bin/JavaSessions/LoopsConcept.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/JavaSessions/LoopsConcept.class -------------------------------------------------------------------------------- /bin/JavaSessions/StaticArray.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/JavaSessions/StaticArray.class -------------------------------------------------------------------------------- /bin/JavaSessions/StringConcatenation.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/JavaSessions/StringConcatenation.class -------------------------------------------------------------------------------- /bin/JavaSessions/StringManipulation.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/JavaSessions/StringManipulation.class -------------------------------------------------------------------------------- /bin/JavaSessions/WrapperClasses.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/JavaSessions/WrapperClasses.class -------------------------------------------------------------------------------- /bin/OOP1/BMW.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/OOP1/BMW.class -------------------------------------------------------------------------------- /bin/OOP1/Car.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/OOP1/Car.class -------------------------------------------------------------------------------- /bin/OOP1/TestCar.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/OOP1/TestCar.class -------------------------------------------------------------------------------- /bin/OOP1/Truck.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/OOP1/Truck.class -------------------------------------------------------------------------------- /bin/OOP2/ICICIBank.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/OOP2/ICICIBank.class -------------------------------------------------------------------------------- /bin/OOP2/TestBank.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/OOP2/TestBank.class -------------------------------------------------------------------------------- /bin/OOP2/UKBank.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/OOP2/UKBank.class -------------------------------------------------------------------------------- /bin/OOP2/USBank.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/OOP2/USBank.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/AlertPopUpHandle.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/AlertPopUpHandle.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/CalendarSelectTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/CalendarSelectTest.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/CheckVisibilityElement.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/CheckVisibilityElement.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/CustomXpath.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/CustomXpath.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/DragAndDropConcept.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/DragAndDropConcept.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/DynamicWebTableHandle.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/DynamicWebTableHandle.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/ElementVisibilityTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/ElementVisibilityTest.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/ExplicitWaitConcept.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/ExplicitWaitConcept.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/FileUploadPopUp.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/FileUploadPopUp.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/FindElementsConcept.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/FindElementsConcept.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/FrameHandling.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/FrameHandling.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/FrameHandlingConcept.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/FrameHandlingConcept.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/GoogleSearchTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/GoogleSearchTest.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/HandleDropBox.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/HandleDropBox.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/HandleFileUploadPopUp.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/HandleFileUploadPopUp.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/HandleWindowPopUp.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/HandleWindowPopUp.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/HtmlUnitDriverConcept.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/HtmlUnitDriverConcept.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/ImplicitWaitConcept.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/ImplicitWaitConcept.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/JavaScriptExecutorConcept.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/JavaScriptExecutorConcept.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/LocatorConcept.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/LocatorConcept.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/MouseMovementConcept.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/MouseMovementConcept.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/Navigations.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/Navigations.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/ReadPropFile.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/ReadPropFile.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/SelectCalendarByJS.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/SelectCalendarByJS.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/TakeScreenshotConcept.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/TakeScreenshotConcept.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/WebDriverBasics.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/WebDriverBasics.class -------------------------------------------------------------------------------- /bin/SeleniumSessions/config.properties: -------------------------------------------------------------------------------- 1 | name = Tom 2 | age = 25 3 | 4 | URL = https://scgi.half.ebay.com/ws/eBayISAPI.dll?RegisterEnterInfo 5 | browser = chrome 6 | 7 | #username = test@gmail.com 8 | #passowrd = test123 9 | 10 | ######################### Register Page - Test Data ##################### 11 | firstName = David 12 | lastName = Peter 13 | city = London 14 | 15 | ######################### Register Page - Object Repository ##################### 16 | firstname_xpath = //*[@id='firstname'] 17 | lastname_xpath = //*[@id='lastname'] 18 | city_xpath = //*[@id='city'] 19 | 20 | 21 | 22 | ######################### Login Page - Object Repository ##################### 23 | 24 | email_id = 694368614 25 | password_id = 1459101852 26 | signin_btn_id = ut_sgnBt 27 | forgotpassword_link_xpath = //*[@id='inflowfyp'] 28 | 29 | 30 | -------------------------------------------------------------------------------- /bin/SeleniumSessions/element.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/element.png -------------------------------------------------------------------------------- /bin/SeleniumSessions/google.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/google.png -------------------------------------------------------------------------------- /bin/SeleniumSessions/google1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/SeleniumSessions/google1.png -------------------------------------------------------------------------------- /bin/SeleniumSessions/testngNotes: -------------------------------------------------------------------------------- 1 | TestNG -- unit test framework 2 | TDD -- Test Driven Development 3 | 4 | purpose--design test cases in a systematic way 5 | --html reports 6 | --diff annotations 7 | --priorities/sequence 8 | --dependency 9 | --grouping 10 | --data provider 11 | 12 | 13 | testng--open source, free 14 | JAR files 15 | 16 | --Java unit testing framework 17 | 18 | 19 | install Testng in Eclipse: 20 | http://beust.com/eclipse/ 21 | 22 | -------------------------------------------------------------------------------- /bin/com/datadriven/test/DataDrivenTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/com/datadriven/test/DataDrivenTest.class -------------------------------------------------------------------------------- /bin/com/datadriven/test/ExcelOperations.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/com/datadriven/test/ExcelOperations.class -------------------------------------------------------------------------------- /bin/com/datadriven/test/HalfEbdayTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/com/datadriven/test/HalfEbdayTest.class -------------------------------------------------------------------------------- /bin/com/datadriven/test/ParameterizeTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/com/datadriven/test/ParameterizeTest.class -------------------------------------------------------------------------------- /bin/com/excel/utility/Xls_Reader.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/com/excel/utility/Xls_Reader.class -------------------------------------------------------------------------------- /bin/com/parameters/ParameterTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/com/parameters/ParameterTest.class -------------------------------------------------------------------------------- /bin/com/test/ExceptionTimeOutTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/com/test/ExceptionTimeOutTest.class -------------------------------------------------------------------------------- /bin/com/test/GoogleTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/com/test/GoogleTest.class -------------------------------------------------------------------------------- /bin/com/test/GoogleTitleTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/com/test/GoogleTitleTest.class -------------------------------------------------------------------------------- /bin/com/test/InvocationCountTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/com/test/InvocationCountTest.class -------------------------------------------------------------------------------- /bin/com/test/TestNgBasics.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/com/test/TestNgBasics.class -------------------------------------------------------------------------------- /bin/com/test/TestNgFeatures.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/com/test/TestNgFeatures.class -------------------------------------------------------------------------------- /bin/com/test/utility/TestUtil.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/com/test/utility/TestUtil.class -------------------------------------------------------------------------------- /bin/com/testdata/HalfEbayTestData.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/bin/com/testdata/HalfEbayTestData.xlsx -------------------------------------------------------------------------------- /bin/testng.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/JavaSessions/ArrayListConcept.java: -------------------------------------------------------------------------------- 1 | package JavaSessions; 2 | 3 | import java.util.ArrayList; 4 | 5 | public class ArrayListConcept { 6 | 7 | public static void main(String[] args) { 8 | 9 | 10 | //ArrayList is a class in Java 11 | 12 | ArrayList ar = new ArrayList(); 13 | 14 | ar.add(100);//0 15 | ar.add(200);//1 16 | ar.add(300);//2 17 | 18 | System.out.println(ar.size()); //size of arraylist 19 | 20 | ar.add(400);//3 21 | ar.add(500);//4 22 | 23 | System.out.println(ar.size()); 24 | 25 | ar.remove(3); 26 | 27 | System.out.println(ar.size()); 28 | 29 | ar.add("Tom"); 30 | ar.add(12.33); 31 | ar.add('M'); 32 | ar.add(25); 33 | 34 | System.out.println(ar.get(0)); 35 | System.out.println(ar.get(6)); 36 | 37 | //System.out.println(ar.get(10)); //IndexOutOfBoundsException 38 | 39 | //to print all the values: use for loop: 40 | 41 | for(int i=0; i < >= <= == != conditional operators 8 | 9 | int a = 30; 10 | int b = 20; 11 | 12 | if(b>a){ 13 | System.out.println("b is greather than a"); 14 | } 15 | else{ 16 | System.out.println("a is greater than b"); 17 | } 18 | 19 | 20 | int c = 10; 21 | 22 | if(c==10){ 23 | System.out.println("pass"); 24 | } 25 | else{ 26 | System.out.println("Fail"); 27 | } 28 | 29 | 30 | int p = 5; 31 | int q = 20; 32 | int z = p+q; 33 | 34 | if(z >= 30){ 35 | System.out.println("Passed"); 36 | } 37 | else{ 38 | System.out.println("Failed"); 39 | } 40 | 41 | 42 | if(true){ 43 | System.out.println("Passed the conditon"); 44 | } 45 | //dead code: 46 | // else{ 47 | // System.out.println("Failed"); 48 | // } 49 | 50 | 51 | } 52 | 53 | } 54 | -------------------------------------------------------------------------------- /src/JavaSessions/IncrementAndDecrement.java: -------------------------------------------------------------------------------- 1 | package JavaSessions; 2 | 3 | public class IncrementAndDecrement { 4 | 5 | public static void main(String[] args) { 6 | 7 | 8 | int i = 1; 9 | int j = i++; //post increment 10 | 11 | System.out.println(i);//2 12 | System.out.println(j);//1 13 | 14 | int m = 1; 15 | int n = ++m; //pre increment 16 | 17 | System.out.println(m);//2 18 | System.out.println(n); //2 19 | 20 | 21 | int p = 2; 22 | int q = p--; //post decrement 23 | 24 | System.out.println(p);//1 25 | System.out.println(q);//2 26 | 27 | int x = 2; 28 | int y = --x; //pre decrement 29 | 30 | System.out.println(x);//1 31 | System.out.println(y);//1 32 | 33 | 34 | int g = -1; 35 | int h = g++; 36 | System.out.println(g);//0 37 | System.out.println(h);//-1 38 | 39 | 40 | int k = -5; 41 | int l = k--; 42 | System.out.println(k);//-6 43 | System.out.println(l);//-5 44 | 45 | 46 | int c = -5; 47 | int d = --c; 48 | System.out.println(c);//-6 49 | System.out.println(d);//-6 50 | 51 | 52 | 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /src/JavaSessions/LoopsConcept.java: -------------------------------------------------------------------------------- 1 | package JavaSessions; 2 | 3 | public class LoopsConcept { 4 | 5 | public static void main(String[] args) { 6 | 7 | 8 | //1. while: 9 | int i = 1; //Initialization 10 | while(i<=10){ //conditional 11 | System.out.println(i); 12 | i++; //incremental/decremental 13 | } 14 | 15 | 16 | //2. for: 17 | for(int j=1; j<=10; j++){ 18 | System.out.println(j); 19 | } 20 | 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/JavaSessions/StaticArray.java: -------------------------------------------------------------------------------- 1 | package JavaSessions; 2 | 3 | public class StaticArray { 4 | 5 | public static void main(String args[]) { 6 | 7 | //limitations of array: 8 | //1. size is fixed: static array : to overcome this problem, we use dynamic array or ArrayList 9 | //2. stores similar types of values: to overcome this problem, we use dynamic array or Object array 10 | 11 | //1. int: 12 | int i[] = new int[4]; 13 | i[0]=10; 14 | i[1]=20; 15 | i[2]=30; 16 | i[3]=40; 17 | 18 | System.out.println(i[1]); 19 | System.out.println(i[0]+i[1]); 20 | System.out.println(i.length); //size of array 21 | 22 | //System.out.println(i[4]); //ArrayIndexOutOfBoundsException 23 | 24 | //to print all the values of array: use for loop: 25 | for(int k = 0; k html tag: 58 | driver.findElement(By.xpath("//a[contains(text(),'My Account')]")).click(); 59 | 60 | 61 | 62 | 63 | } 64 | 65 | } 66 | -------------------------------------------------------------------------------- /src/SeleniumSessions/DragAndDropConcept.java: -------------------------------------------------------------------------------- 1 | package SeleniumSessions; 2 | 3 | import org.openqa.selenium.By; 4 | import org.openqa.selenium.WebDriver; 5 | import org.openqa.selenium.chrome.ChromeDriver; 6 | import org.openqa.selenium.interactions.Actions; 7 | 8 | public class DragAndDropConcept { 9 | 10 | public static void main(String[] args) { 11 | 12 | 13 | System.setProperty("webdriver.chrome.driver", "/Users/naveenkhunteta/Downloads/chromedriver"); 14 | WebDriver driver = new ChromeDriver(); //launch chrome 15 | driver.manage().window().maximize(); 16 | driver.manage().deleteAllCookies(); 17 | 18 | driver.get("http://jqueryui.com/droppable/"); 19 | 20 | driver.switchTo().frame(0);//switch to frame if its present 21 | 22 | Actions action = new Actions(driver); 23 | 24 | action.clickAndHold(driver.findElement(By.xpath("//*[@id='draggable']"))) 25 | .moveToElement(driver.findElement(By.xpath("//*[@id='droppable']"))) 26 | .release() 27 | .build() 28 | .perform(); 29 | 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/SeleniumSessions/DynamicWebTableHandle.java: -------------------------------------------------------------------------------- 1 | package SeleniumSessions; 2 | 3 | import java.util.concurrent.TimeUnit; 4 | 5 | import org.openqa.selenium.By; 6 | import org.openqa.selenium.WebDriver; 7 | import org.openqa.selenium.chrome.ChromeDriver; 8 | 9 | public class DynamicWebTableHandle { 10 | 11 | public static void main(String[] args) throws InterruptedException { 12 | 13 | 14 | System.setProperty("webdriver.chrome.driver", "/Users/naveenkhunteta/Downloads/chromedriver"); 15 | 16 | WebDriver driver = new ChromeDriver(); // launch chrome 17 | 18 | driver.manage().window().maximize(); // maximize window 19 | driver.manage().deleteAllCookies(); // delete all the cookies 20 | 21 | // dynamic wait 22 | driver.manage().timeouts().pageLoadTimeout(40, TimeUnit.SECONDS); 23 | driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 24 | 25 | driver.get("https://www.freecrm.com/"); // enter URL 26 | 27 | driver.findElement(By.name("username")).sendKeys("naveenk"); 28 | driver.findElement(By.name("password")).sendKeys("test@123"); 29 | Thread.sleep(3000); 30 | 31 | driver.findElement(By.xpath("//input[@type='submit']")).click(); 32 | 33 | driver.switchTo().frame("mainpanel"); 34 | Thread.sleep(2000); 35 | 36 | driver.findElement(By.xpath("//a[contains(text(),'Contacts')]")).click(); 37 | 38 | //*[@id='vContactsForm']/table/tbody/tr[4]/td[2]/a 39 | //*[@id='vContactsForm']/table/tbody/tr[5]/td[2]/a 40 | //*[@id='vContactsForm']/table/tbody/tr[6]/td[2]/a 41 | //*[@id='vContactsForm']/table/tbody/tr[7]/td[2]/a 42 | 43 | 44 | //Method-1: 45 | String before_xpath = "//*[@id='vContactsForm']/table/tbody/tr["; 46 | String after_xpath = "]/td[2]/a"; 47 | 48 | for(int i=4; i<=7; i++){ 49 | String name = driver.findElement(By.xpath(before_xpath + i + after_xpath)).getText(); 50 | System.out.println(name); 51 | if(name.contains("test2 test2")){ //i=6 52 | //*[@id='vContactsForm']/table/tbody/tr[6]/td[1]/input 53 | driver.findElement(By.xpath("//*[@id='vContactsForm']/table/tbody/tr["+i+"]/td[1]/input")).click(); 54 | } 55 | } 56 | 57 | //Method-2: 58 | driver.findElement(By.xpath("//a[contains(text(),'test2 test2')]/parent::td//preceding-sibling::td//input[@name='contact_id']")).click(); 59 | driver.findElement(By.xpath("//a[contains(text(),'ui uiii')]/parent::td//preceding-sibling::td//input[@name='contact_id']")).click(); 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | } 71 | 72 | } 73 | -------------------------------------------------------------------------------- /src/SeleniumSessions/ElementVisibilityTest.java: -------------------------------------------------------------------------------- 1 | package SeleniumSessions; 2 | 3 | import java.util.concurrent.TimeUnit; 4 | 5 | import org.openqa.selenium.By; 6 | import org.openqa.selenium.WebDriver; 7 | import org.openqa.selenium.chrome.ChromeDriver; 8 | 9 | public class ElementVisibilityTest { 10 | 11 | public static void main(String[] args) { 12 | 13 | 14 | System.setProperty("webdriver.chrome.driver", "/Users/naveenkhunteta/Downloads/chromedriver"); 15 | 16 | WebDriver driver = new ChromeDriver(); // launch chrome 17 | 18 | driver.manage().window().maximize(); // maximize window 19 | driver.manage().deleteAllCookies(); // delete all the cookies 20 | 21 | // dynamic wait 22 | driver.manage().timeouts().pageLoadTimeout(40, TimeUnit.SECONDS); 23 | driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 24 | 25 | driver.get("https://www.freecrm.com/register/"); // enter URL 26 | 27 | //1. isDisplayed() method: applicanle for all the elements 28 | boolean b1 = driver.findElement(By.id("submitButton")).isDisplayed(); //for submit button 29 | System.out.println(b1); //true 30 | 31 | //2. isEnabled() method: 32 | boolean b2 = driver.findElement(By.id("submitButton")).isEnabled(); 33 | System.out.println(b2);//false 34 | 35 | //select I Agree checkbox: 36 | driver.findElement(By.name("agreeTerms")).click(); //--submit button is enabled now 37 | boolean b3 = driver.findElement(By.id("submitButton")).isEnabled(); 38 | System.out.println(b3);//true 39 | 40 | 41 | //3. isSelected() method: only applicable for checkbox, dropdown, radiobutton 42 | boolean b4 = driver.findElement(By.name("agreeTerms")).isSelected(); 43 | System.out.println(b4);//true 44 | 45 | 46 | //de-select the checkbox: 47 | driver.findElement(By.name("agreeTerms")).click(); 48 | boolean b5 = driver.findElement(By.name("agreeTerms")).isSelected(); 49 | System.out.println(b5);//false 50 | 51 | 52 | 53 | 54 | 55 | 56 | } 57 | 58 | } 59 | -------------------------------------------------------------------------------- /src/SeleniumSessions/ExplicitWaitConcept.java: -------------------------------------------------------------------------------- 1 | package SeleniumSessions; 2 | 3 | import java.util.concurrent.TimeUnit; 4 | 5 | import org.openqa.selenium.By; 6 | import org.openqa.selenium.StaleElementReferenceException; 7 | import org.openqa.selenium.WebDriver; 8 | import org.openqa.selenium.WebElement; 9 | import org.openqa.selenium.chrome.ChromeDriver; 10 | import org.openqa.selenium.support.ui.ExpectedConditions; 11 | import org.openqa.selenium.support.ui.WebDriverWait; 12 | 13 | 14 | public class ExplicitWaitConcept { 15 | 16 | public static void main(String[] args) { 17 | 18 | 19 | System.setProperty("webdriver.chrome.driver", "/Users/naveenkhunteta/Downloads/chromedriver"); 20 | WebDriver driver = new ChromeDriver(); // launch chrome 21 | driver.manage().window().maximize(); 22 | driver.manage().deleteAllCookies(); 23 | 24 | driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS); 25 | driver.manage().timeouts().implicitlyWait(40, TimeUnit.SECONDS); 26 | 27 | driver.get("http://www.facebook.com"); 28 | 29 | clickOn(driver, driver.findElement(By.xpath("//*[@id='u_0_2']")), 20);//login button 30 | 31 | clickOn(driver, driver.findElement(By.xpath("//*[@id='reg_pages_msg']/a")), 10); //create a page link 32 | 33 | 34 | } 35 | 36 | 37 | 38 | public static void clickOn(WebDriver driver, WebElement locator, int timeout) { 39 | new WebDriverWait(driver, timeout).ignoring(StaleElementReferenceException.class).until(ExpectedConditions.elementToBeClickable(locator)); 40 | locator.click(); 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /src/SeleniumSessions/FileUploadPopUp.java: -------------------------------------------------------------------------------- 1 | package SeleniumSessions; 2 | 3 | public class FileUploadPopUp { 4 | 5 | public static void main(String[] args) { 6 | 7 | 8 | 9 | 10 | 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/SeleniumSessions/FindElementsConcept.java: -------------------------------------------------------------------------------- 1 | package SeleniumSessions; 2 | 3 | import java.util.List; 4 | import java.util.concurrent.TimeUnit; 5 | 6 | import org.openqa.selenium.By; 7 | import org.openqa.selenium.WebDriver; 8 | import org.openqa.selenium.WebElement; 9 | import org.openqa.selenium.chrome.ChromeDriver; 10 | 11 | public class FindElementsConcept { 12 | 13 | public static void main(String[] args) { 14 | 15 | System.setProperty("webdriver.chrome.driver", "/Users/naveenkhunteta/Downloads/chromedriver"); 16 | 17 | WebDriver driver = new ChromeDriver(); //launch chrome 18 | 19 | driver.manage().window().maximize(); //maximize window 20 | driver.manage().deleteAllCookies(); //delete all the cookies 21 | 22 | //dynamic wait 23 | driver.manage().timeouts().pageLoadTimeout(40, TimeUnit.SECONDS); 24 | driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 25 | 26 | driver.get("http://www.facebook.com"); //enter URL 27 | 28 | 29 | //1. get the total count of links on the page 30 | //2. get the text of each link on the page 31 | 32 | //all the links are represented by html tag: 33 | 34 | List linkList = driver.findElements(By.tagName("a")); 35 | 36 | //size of linkList: 37 | System.out.println(linkList.size()); 38 | 39 | for(int i=0; i list = driver.findElements(By.xpath("//ul[@role='listbox']//li/descendant::div[@class='sbqs_c']")); 31 | 32 | System.out.println("total number of suggestions in search box:::===>" + list.size()); 33 | 34 | for(int i=0; i handler = driver.getWindowHandles(); 28 | 29 | Iterator it = handler.iterator(); 30 | 31 | String parentWindowId = it.next(); 32 | System.out.println("parent window id:"+ parentWindowId); 33 | 34 | 35 | String childWindowId = it.next(); 36 | System.out.println("Child window id:"+childWindowId); 37 | 38 | driver.switchTo().window(childWindowId); 39 | 40 | Thread.sleep(2000); 41 | 42 | System.out.println("child window pop up title"+driver.getTitle()); 43 | 44 | driver.close(); 45 | 46 | driver.switchTo().window(parentWindowId); 47 | 48 | Thread.sleep(2000); 49 | 50 | System.out.println("parent window title"+driver.getTitle()); 51 | 52 | 53 | 54 | } 55 | 56 | } 57 | -------------------------------------------------------------------------------- /src/SeleniumSessions/HtmlUnitDriverConcept.java: -------------------------------------------------------------------------------- 1 | package SeleniumSessions; 2 | 3 | import java.util.concurrent.TimeUnit; 4 | 5 | import org.openqa.selenium.By; 6 | import org.openqa.selenium.WebDriver; 7 | import org.openqa.selenium.chrome.ChromeDriver; 8 | import org.openqa.selenium.htmlunit.HtmlUnitDriver; 9 | 10 | public class HtmlUnitDriverConcept { 11 | 12 | public static void main(String[] args) throws InterruptedException { 13 | 14 | System.setProperty("webdriver.chrome.driver", "/Users/naveenkhunteta/Downloads/chromedriver"); 15 | 16 | //WebDriver driver = new ChromeDriver(); //launch chrome 17 | 18 | //htmlunitdriver is not available in Selenium 3.x version. 19 | //htmlunitdriver -- to use this concept, we have to download htmlunitdriver JAR file. 20 | 21 | //advantages: 22 | //1. testing is happening behind the scene -- no browser is launched 23 | //2. Very fast -- execution of test cases -- very fast -- performance of the script 24 | //3. not suitable for Actions class -- user actions -- mousemovement, doubleClick, drag and drop 25 | //4. Ghost Driver -- HeadLess Browser: 26 | //--HtmlUnit Driver -- JAva 27 | //--PhantomJS -- JavaScript 28 | 29 | 30 | WebDriver driver = new HtmlUnitDriver(); 31 | 32 | driver.manage().window().maximize(); //maximize window 33 | driver.manage().deleteAllCookies(); //delete all the cookies 34 | 35 | //dynamic wait 36 | driver.manage().timeouts().pageLoadTimeout(20, TimeUnit.SECONDS); 37 | driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); 38 | 39 | driver.get("http://www.freecrm.com"); 40 | 41 | System.out.println("Before login, title is:==="+ driver.getTitle()); 42 | 43 | driver.findElement(By.name("username")).sendKeys("naveenk"); 44 | driver.findElement(By.name("password")).sendKeys("test@123"); 45 | 46 | driver.findElement(By.xpath("//input[@type='submit']")).click(); 47 | 48 | Thread.sleep(2000); 49 | 50 | System.out.println("after login, title is:==="+ driver.getTitle()); 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | } 59 | 60 | } 61 | -------------------------------------------------------------------------------- /src/SeleniumSessions/ImplicitWaitConcept.java: -------------------------------------------------------------------------------- 1 | package SeleniumSessions; 2 | 3 | import java.util.concurrent.TimeUnit; 4 | 5 | import org.openqa.selenium.WebDriver; 6 | import org.openqa.selenium.chrome.ChromeDriver; 7 | 8 | public class ImplicitWaitConcept { 9 | 10 | public static void main(String[] args) { 11 | 12 | 13 | System.setProperty("webdriver.chrome.driver", "/Users/naveenkhunteta/Downloads/chromedriver"); 14 | 15 | WebDriver driver = new ChromeDriver(); //launch chrome 16 | driver.get("http://www.half.ebay.com"); //enter URL 17 | 18 | driver.manage().window().maximize(); //maximize window 19 | driver.manage().deleteAllCookies(); //delete all the cookies 20 | 21 | //dynamic wait 22 | driver.manage().timeouts().pageLoadTimeout(40, TimeUnit.SECONDS); 23 | driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 24 | 25 | 26 | 27 | 28 | 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/SeleniumSessions/JavaScriptExecutorConcept.java: -------------------------------------------------------------------------------- 1 | /* 2 | * @author Naveen Khunteta 3 | */ 4 | 5 | package SeleniumSessions; 6 | 7 | import java.io.File; 8 | import java.io.IOException; 9 | import java.util.concurrent.TimeUnit; 10 | 11 | import org.apache.commons.io.FileUtils; 12 | import org.openqa.selenium.By; 13 | import org.openqa.selenium.JavascriptExecutor; 14 | import org.openqa.selenium.OutputType; 15 | import org.openqa.selenium.TakesScreenshot; 16 | import org.openqa.selenium.WebDriver; 17 | import org.openqa.selenium.WebElement; 18 | import org.openqa.selenium.chrome.ChromeDriver; 19 | 20 | public class JavaScriptExecutorConcept { 21 | 22 | public static void main(String[] args) throws IOException { 23 | 24 | System.setProperty("webdriver.chrome.driver", "/Users/naveenkhunteta/Downloads/chromedriver"); 25 | 26 | WebDriver driver = new ChromeDriver(); //launch chrome 27 | 28 | driver.manage().window().maximize(); //maximize window 29 | driver.manage().deleteAllCookies(); //delete all the cookies 30 | 31 | //dynamic wait 32 | driver.manage().timeouts().pageLoadTimeout(40, TimeUnit.SECONDS); 33 | driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 34 | 35 | driver.get("https://www.freecrm.com"); //enter URL 36 | 37 | driver.findElement(By.name("username")).sendKeys("naveenk"); 38 | driver.findElement(By.name("password")).sendKeys("test@1234"); 39 | //driver.findElement(By.xpath("//input[contains(@type,'submit')]")).click(); 40 | 41 | //executeScript -- to execute JavaScript code 42 | 43 | WebElement loginBtn = driver.findElement(By.xpath("//input[contains(@type,'submit')]")); //login button 44 | 45 | 46 | flash(loginBtn, driver); //highlight the element 47 | 48 | drawBorder(loginBtn, driver); //draw a border 49 | //take screenshot: 50 | // Take screenshot and store as a file format 51 | File src = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE); 52 | // now copy the screenshot to desired location using copyFile //method 53 | FileUtils.copyFile(src, new File("/Users/naveenkhunteta/Documents/workspace/MorningSessions/src/SeleniumSessions/element.png")); 54 | 55 | //generate Alert 56 | //generateAlert(driver, "There is an issue with Login button on Login Page"); 57 | 58 | //click on any element by using JS executor 59 | clickElementByJS(loginBtn, driver); 60 | 61 | //refresh the page: 62 | //1. by using selenium: 63 | driver.navigate().refresh(); 64 | 65 | //2. by using JS executor: 66 | refreshBrowserByJS(driver); 67 | 68 | //get the tile of the page by JS: 69 | System.out.println(getTitleByJS(driver)); 70 | 71 | //get the page text: 72 | System.out.println(getPageInnerText(driver)); 73 | 74 | //scroll page down: 75 | //scrollPageDown(driver); 76 | 77 | WebElement forgotPwdLink = driver.findElement(By.xpath("//a[contains(text(),'Forgot Password?')]")); 78 | scrollIntoView(forgotPwdLink, driver); 79 | 80 | } 81 | 82 | 83 | public static void flash(WebElement element, WebDriver driver) { 84 | JavascriptExecutor js = ((JavascriptExecutor) driver); 85 | String bgcolor = element.getCssValue("backgroundColor"); 86 | for (int i = 0; i < 10; i++) { 87 | changeColor("rgb(0,200,0)", element,driver);//1 88 | changeColor(bgcolor, element,driver);//2 89 | } 90 | } 91 | public static void changeColor(String color, WebElement element, WebDriver driver) { 92 | JavascriptExecutor js = ((JavascriptExecutor) driver); 93 | js.executeScript("arguments[0].style.backgroundColor = '"+color+"'", element); 94 | 95 | try { 96 | Thread.sleep(20); 97 | } catch (InterruptedException e) { 98 | } 99 | } 100 | 101 | 102 | public static void drawBorder(WebElement element, WebDriver driver){ 103 | JavascriptExecutor js = ((JavascriptExecutor) driver); 104 | js.executeScript("arguments[0].style.border='3px solid red'", element); 105 | } 106 | 107 | public static void generateAlert(WebDriver driver, String message){ 108 | JavascriptExecutor js = ((JavascriptExecutor) driver); 109 | js.executeScript("alert('"+message+"')"); 110 | 111 | } 112 | 113 | public static void clickElementByJS(WebElement element, WebDriver driver){ 114 | JavascriptExecutor js = ((JavascriptExecutor) driver); 115 | js.executeScript("arguments[0].click();", element); 116 | 117 | } 118 | 119 | public static void refreshBrowserByJS(WebDriver driver){ 120 | JavascriptExecutor js = ((JavascriptExecutor) driver); 121 | js.executeScript("history.go(0)"); 122 | } 123 | 124 | public static String getTitleByJS(WebDriver driver){ 125 | JavascriptExecutor js = ((JavascriptExecutor) driver); 126 | String title = js.executeScript("return document.title;").toString(); 127 | return title; 128 | } 129 | 130 | public static String getPageInnerText(WebDriver driver){ 131 | JavascriptExecutor js = ((JavascriptExecutor) driver); 132 | String pageText = js.executeScript("return document.documentElement.innerText;").toString(); 133 | return pageText; 134 | } 135 | 136 | public static void scrollPageDown(WebDriver driver){ 137 | JavascriptExecutor js = ((JavascriptExecutor) driver); 138 | js.executeScript("window.scrollTo(0,document.body.scrollHeight)"); 139 | } 140 | 141 | public static void scrollIntoView(WebElement element, WebDriver driver){ 142 | JavascriptExecutor js = ((JavascriptExecutor) driver); 143 | js.executeScript("arguments[0].scrollIntoView(true);", element); 144 | } 145 | 146 | 147 | 148 | } 149 | -------------------------------------------------------------------------------- /src/SeleniumSessions/LocatorConcept.java: -------------------------------------------------------------------------------- 1 | package SeleniumSessions; 2 | 3 | import org.openqa.selenium.By; 4 | import org.openqa.selenium.WebDriver; 5 | import org.openqa.selenium.chrome.ChromeDriver; 6 | 7 | public class LocatorConcept { 8 | 9 | public static void main(String[] args) { 10 | 11 | 12 | System.setProperty("webdriver.chrome.driver", "/Users/naveenkhunteta/Downloads/chromedriver"); 13 | WebDriver driver = new ChromeDriver(); //launch chrome 14 | 15 | driver.get("https://scgi.half.ebay.com/ws/eBayISAPI.dll?RegisterEnterInfo&usage=2943&ru="); //enter url 16 | 17 | //1. xpath: -- 2 18 | //absolute xath should not be used. -- html/body/div[1]/div[5]/div[2]/a 19 | //only relative xpath should be used. -- //*[@id='firstname'] 20 | 21 | // driver.findElement(By.xpath("//*[@id='firstname']")).sendKeys("Tom"); 22 | // 23 | // driver.findElement(By.xpath("//*[@id='lastname']")).sendKeys("Peter"); 24 | // 25 | // driver.findElement(By.xpath("//*[@id='address1']")).sendKeys("12, new street"); 26 | 27 | 28 | 29 | //2. id: --1 30 | // driver.findElement(By.id("firstname")).sendKeys("Tom"); 31 | // driver.findElement(By.id("lastname")).sendKeys("Peter"); 32 | 33 | //3. name: --3 34 | driver.findElement(By.name("firstname")).sendKeys("Tom"); 35 | driver.findElement(By.name("lastname")).sendKeys("Peter"); 36 | 37 | 38 | //4. linkText : this is only for links 39 | //driver.findElement(By.linkText("Sign in")).click(); 40 | 41 | //5. partialLinkText: not useful 42 | //driver.findElement(By.partialLinkText("How to pick")).click(); 43 | 44 | 45 | //6. CSSSelector: ---2 46 | //if id is there--- #{id} 47 | //if class is there --- .{class} 48 | driver.findElement(By.cssSelector("#address1")).sendKeys("12 new strt"); 49 | 50 | //7. class name: not useful --4 51 | driver.findElement(By.className("ancAsb")).click(); 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | } 60 | 61 | } 62 | -------------------------------------------------------------------------------- /src/SeleniumSessions/MouseMovementConcept.java: -------------------------------------------------------------------------------- 1 | package SeleniumSessions; 2 | 3 | import org.openqa.selenium.By; 4 | import org.openqa.selenium.WebDriver; 5 | import org.openqa.selenium.chrome.ChromeDriver; 6 | import org.openqa.selenium.interactions.Actions; 7 | 8 | public class MouseMovementConcept { 9 | 10 | public static void main(String[] args) throws InterruptedException { 11 | 12 | 13 | System.setProperty("webdriver.chrome.driver", "/Users/naveenkhunteta/Downloads/chromedriver"); 14 | WebDriver driver = new ChromeDriver(); //launch chrome 15 | driver.manage().window().maximize(); 16 | driver.manage().deleteAllCookies(); 17 | 18 | driver.get("http://spicejet.com/"); 19 | 20 | Actions action = new Actions(driver); 21 | 22 | action.moveToElement(driver.findElement(By.linkText("About Us"))).build().perform(); 23 | 24 | Thread.sleep(3000); 25 | 26 | driver.findElement(By.linkText("Fleet")).click(); 27 | 28 | //a[contains(text(),'Sales')] 29 | 30 | 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/SeleniumSessions/Navigations.java: -------------------------------------------------------------------------------- 1 | package SeleniumSessions; 2 | 3 | import java.util.concurrent.TimeUnit; 4 | 5 | import org.openqa.selenium.WebDriver; 6 | import org.openqa.selenium.chrome.ChromeDriver; 7 | import org.openqa.selenium.firefox.FirefoxDriver; 8 | 9 | public class Navigations { 10 | 11 | public static void main(String[] args) throws InterruptedException { 12 | 13 | 14 | //get() vs navigate().to() 15 | 16 | System.setProperty("webdriver.chrome.driver", "/Users/naveenkhunteta/Downloads/chromedriver"); 17 | WebDriver driver = new ChromeDriver(); //launch chrome 18 | driver.manage().window().maximize(); 19 | driver.manage().deleteAllCookies(); 20 | driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS); 21 | 22 | driver.get("http://www.google.com"); 23 | 24 | driver.navigate().to("http://www.amazon.com"); 25 | 26 | //back and forward buttons simulation: 27 | driver.navigate().back(); 28 | 29 | Thread.sleep(2000); 30 | 31 | driver.navigate().forward(); 32 | 33 | Thread.sleep(2000); 34 | 35 | driver.navigate().back(); 36 | 37 | driver.navigate().refresh(); 38 | 39 | 40 | 41 | 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/SeleniumSessions/ReadPropFile.java: -------------------------------------------------------------------------------- 1 | package SeleniumSessions; 2 | 3 | import java.io.FileInputStream; 4 | import java.io.FileNotFoundException; 5 | import java.io.IOException; 6 | import java.util.Properties; 7 | 8 | import org.openqa.selenium.By; 9 | import org.openqa.selenium.WebDriver; 10 | import org.openqa.selenium.chrome.ChromeDriver; 11 | import org.openqa.selenium.firefox.FirefoxDriver; 12 | import org.openqa.selenium.ie.InternetExplorerDriver; 13 | 14 | public class ReadPropFile { 15 | 16 | 17 | public static WebDriver driver; 18 | 19 | public static void main(String[] args) throws IOException { 20 | 21 | Properties prop = new Properties(); 22 | 23 | FileInputStream ip = new FileInputStream( 24 | "/Users/naveenkhunteta/Documents/workspace/MorningSessions/src/SeleniumSessions/config.properties"); 25 | 26 | prop.load(ip); 27 | 28 | System.out.println(prop.getProperty("name")); 29 | 30 | System.out.println(prop.getProperty("age")); 31 | 32 | String url = prop.getProperty("URL"); 33 | 34 | System.out.println(url); 35 | 36 | String browserName = prop.getProperty("browser"); 37 | 38 | System.out.println(browserName); 39 | 40 | if (browserName.equals("chrome")) { 41 | System.setProperty("webdriver.chrome.driver", "/Users/naveenkhunteta/Downloads/chromedriver"); 42 | driver = new ChromeDriver(); // launch chrome 43 | } 44 | else if(browserName.equals("FF")){ 45 | System.setProperty("webdriver.chrome.driver", "/Users/naveenkhunteta/Downloads/geckodriver"); 46 | driver = new FirefoxDriver(); 47 | } 48 | else if(browserName.equals("IE")){ 49 | System.setProperty("webdriver.chrome.driver", "/Users/naveenkhunteta/Downloads/internetexplorerdriver"); 50 | driver = new InternetExplorerDriver(); 51 | } 52 | 53 | driver.get(url); 54 | 55 | driver.findElement(By.xpath(prop.getProperty("firstname_xpath"))).sendKeys(prop.getProperty("firstName")); 56 | 57 | driver.findElement(By.xpath(prop.getProperty("lastname_xpath"))).sendKeys(prop.getProperty("lastName")); 58 | 59 | driver.findElement(By.xpath(prop.getProperty("city_xpath"))).sendKeys(prop.getProperty("city")); 60 | 61 | 62 | } 63 | 64 | } 65 | -------------------------------------------------------------------------------- /src/SeleniumSessions/SelectCalendarByJS.java: -------------------------------------------------------------------------------- 1 | package SeleniumSessions; 2 | 3 | import java.util.concurrent.TimeUnit; 4 | 5 | import org.openqa.selenium.By; 6 | import org.openqa.selenium.JavascriptExecutor; 7 | import org.openqa.selenium.WebDriver; 8 | import org.openqa.selenium.WebElement; 9 | import org.openqa.selenium.chrome.ChromeDriver; 10 | 11 | import com.gargoylesoftware.htmlunit.javascript.background.JavaScriptExecutor; 12 | 13 | 14 | public class SelectCalendarByJS { 15 | 16 | public static void main(String[] args) { 17 | 18 | System.setProperty("webdriver.chrome.driver", "/Users/naveenkhunteta/Downloads/chromedriver"); 19 | 20 | WebDriver driver = new ChromeDriver(); // launch chrome 21 | 22 | driver.manage().window().maximize(); // maximize window 23 | driver.manage().deleteAllCookies(); // delete all the cookies 24 | 25 | //dynamic wait 26 | driver.manage().timeouts().pageLoadTimeout(40, TimeUnit.SECONDS); 27 | driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); 28 | 29 | driver.get("http://spicejet.com/"); // enter URL 30 | 31 | WebElement date = driver.findElement(By.id("ctl00_mainContent_txt_Fromdate")); 32 | String dateVal = "30-12-2017"; 33 | 34 | selectDateByJS(driver, date, dateVal); 35 | 36 | } 37 | 38 | 39 | public static void selectDateByJS(WebDriver driver, WebElement element, String dateVal){ 40 | JavascriptExecutor js = ((JavascriptExecutor) driver); 41 | js.executeScript("arguments[0].setAttribute('value','"+dateVal+"');", element); 42 | 43 | } 44 | 45 | 46 | 47 | 48 | 49 | } 50 | -------------------------------------------------------------------------------- /src/SeleniumSessions/TakeScreenshotConcept.java: -------------------------------------------------------------------------------- 1 | package SeleniumSessions; 2 | 3 | import java.io.File; 4 | import java.io.IOException; 5 | import java.util.concurrent.TimeUnit; 6 | 7 | import org.apache.commons.io.FileUtils; 8 | import org.openqa.selenium.OutputType; 9 | import org.openqa.selenium.TakesScreenshot; 10 | import org.openqa.selenium.WebDriver; 11 | import org.openqa.selenium.chrome.ChromeDriver; 12 | 13 | public class TakeScreenshotConcept { 14 | 15 | public static void main(String[] args) throws IOException { 16 | 17 | System.setProperty("webdriver.chrome.driver", "/Users/naveenkhunteta/Downloads/chromedriver"); 18 | WebDriver driver = new ChromeDriver(); // launch chrome 19 | driver.manage().window().maximize(); 20 | driver.manage().deleteAllCookies(); 21 | driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS); 22 | 23 | driver.get("http://www.google.com"); 24 | 25 | // Take screenshot and store as a file format 26 | File src = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE); 27 | // now copy the screenshot to desired location using copyFile //method 28 | FileUtils.copyFile(src, new File("/Users/naveenkhunteta/Documents/workspace/MorningSessions/src/SeleniumSessions/google.png")); 29 | 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/SeleniumSessions/WebDriverBasics.java: -------------------------------------------------------------------------------- 1 | package SeleniumSessions; 2 | 3 | import org.openqa.selenium.WebDriver; 4 | import org.openqa.selenium.chrome.ChromeDriver; 5 | import org.openqa.selenium.firefox.FirefoxDriver; 6 | 7 | public class WebDriverBasics { 8 | 9 | public static void main(String[] args) { 10 | 11 | 12 | //1. FF browser: 13 | //geckodriver 14 | // C:\\downloads\\geckodriver.exe -- windows 15 | // System.setProperty("webdriver.gecko.driver", "/Users/naveenkhunteta/Downloads/geckodriver"); 16 | // WebDriver driver = new FirefoxDriver(); //launch FF 17 | 18 | 19 | //2. chrome browser: 20 | System.setProperty("webdriver.chrome.driver", "/Users/naveenkhunteta/Downloads/chromedriver"); 21 | WebDriver driver = new ChromeDriver(); //launch chrome 22 | driver.get("http://www.google.com"); //enter url 23 | 24 | String title = driver.getTitle(); //get title 25 | 26 | System.out.println(title); 27 | 28 | //validation point: 29 | if(title.equals("Google")){ 30 | System.out.println("correct title"); 31 | } 32 | else{ 33 | System.out.println("in-correct title"); 34 | } 35 | 36 | 37 | System.out.println(driver.getCurrentUrl()); 38 | 39 | //System.out.println(driver.getPageSource()); 40 | 41 | driver.quit(); //quit the browser 42 | 43 | 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /src/SeleniumSessions/config.properties: -------------------------------------------------------------------------------- 1 | name = Tom 2 | age = 25 3 | 4 | URL = https://scgi.half.ebay.com/ws/eBayISAPI.dll?RegisterEnterInfo 5 | browser = chrome 6 | 7 | #username = test@gmail.com 8 | #passowrd = test123 9 | 10 | ######################### Register Page - Test Data ##################### 11 | firstName = David 12 | lastName = Peter 13 | city = London 14 | 15 | ######################### Register Page - Object Repository ##################### 16 | firstname_xpath = //*[@id='firstname'] 17 | lastname_xpath = //*[@id='lastname'] 18 | city_xpath = //*[@id='city'] 19 | 20 | 21 | 22 | ######################### Login Page - Object Repository ##################### 23 | 24 | email_id = 694368614 25 | password_id = 1459101852 26 | signin_btn_id = ut_sgnBt 27 | forgotpassword_link_xpath = //*[@id='inflowfyp'] 28 | 29 | 30 | -------------------------------------------------------------------------------- /src/SeleniumSessions/element.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/src/SeleniumSessions/element.png -------------------------------------------------------------------------------- /src/SeleniumSessions/google.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/src/SeleniumSessions/google.png -------------------------------------------------------------------------------- /src/SeleniumSessions/google1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/src/SeleniumSessions/google1.png -------------------------------------------------------------------------------- /src/SeleniumSessions/testngNotes: -------------------------------------------------------------------------------- 1 | TestNG -- unit test framework 2 | TDD -- Test Driven Development 3 | 4 | purpose--design test cases in a systematic way 5 | --html reports 6 | --diff annotations 7 | --priorities/sequence 8 | --dependency 9 | --grouping 10 | --data provider 11 | 12 | 13 | testng--open source, free 14 | JAR files 15 | 16 | --Java unit testing framework 17 | 18 | 19 | install Testng in Eclipse: 20 | http://beust.com/eclipse/ 21 | 22 | -------------------------------------------------------------------------------- /src/com/datadriven/test/DataDrivenTest.java: -------------------------------------------------------------------------------- 1 | package com.datadriven.test; 2 | 3 | import org.openqa.selenium.By; 4 | import org.openqa.selenium.WebDriver; 5 | import org.openqa.selenium.chrome.ChromeDriver; 6 | import org.openqa.selenium.support.ui.Select; 7 | 8 | import com.excel.utility.Xls_Reader; 9 | 10 | public class DataDrivenTest { 11 | 12 | public static void main(String[] args) { 13 | 14 | //get test data from excel: 15 | Xls_Reader reader = new Xls_Reader("/Users/naveenkhunteta/Documents/workspace/MorningSessions/src/com/testdata/HalfEbayTestData.xlsx"); 16 | 17 | String firstName = reader.getCellData("RegTestData", "firstname", 2); 18 | System.out.println(firstName); 19 | 20 | String lastName = reader.getCellData("RegTestData", "lastname", 2); 21 | System.out.println(lastName); 22 | 23 | String address1 = reader.getCellData("RegTestData", "address1", 2); 24 | System.out.println(address1); 25 | 26 | String address2 = reader.getCellData("RegTestData", "address2", 2); 27 | System.out.println(address2); 28 | 29 | String city = reader.getCellData("RegTestData", "city", 2); 30 | System.out.println(city); 31 | 32 | String state = reader.getCellData("RegTestData", "state", 2); 33 | System.out.println(state); 34 | 35 | String zipCode = reader.getCellData("RegTestData", "zipcode", 2); 36 | System.out.println(zipCode); 37 | 38 | String emailAddress = reader.getCellData("RegTestData", "emailaddress", 2); 39 | System.out.println(emailAddress); 40 | 41 | 42 | //webdriver code: 43 | System.setProperty("webdriver.chrome.driver", "/Users/naveenkhunteta/Downloads/chromedriver"); 44 | WebDriver driver = new ChromeDriver(); // launch chrome 45 | driver.get("https://scgi.half.ebay.com/ws/eBayISAPI.dll?RegisterEnterInfo&usage=2943&ru="); // enter url 46 | 47 | driver.findElement(By.xpath("//*[@id='firstname']")).sendKeys(firstName); 48 | 49 | driver.findElement(By.xpath("//*[@id='lastname']")).sendKeys(lastName); 50 | 51 | driver.findElement(By.xpath("//*[@id='address1']")).sendKeys(address1); 52 | 53 | driver.findElement(By.xpath("//*[@id='address1']")).sendKeys(address2); 54 | 55 | driver.findElement(By.xpath("//*[@id='city']")).sendKeys(city); 56 | 57 | Select select = new Select(driver.findElement(By.xpath("//*[@id='state']"))); 58 | select.selectByVisibleText(state); 59 | 60 | driver.findElement(By.xpath("//*[@id='zip']")).sendKeys(zipCode); 61 | 62 | driver.findElement(By.xpath("//*[@id='email']")).sendKeys(emailAddress); 63 | driver.findElement(By.xpath("//*[@id='retype_email']")).sendKeys(emailAddress); 64 | 65 | 66 | 67 | } 68 | 69 | } 70 | -------------------------------------------------------------------------------- /src/com/datadriven/test/ExcelOperations.java: -------------------------------------------------------------------------------- 1 | package com.datadriven.test; 2 | 3 | import com.excel.utility.Xls_Reader; 4 | 5 | public class ExcelOperations { 6 | 7 | public static void main(String[] args) { 8 | 9 | //get test data from excel: 10 | Xls_Reader reader = new Xls_Reader("/Users/naveenkhunteta/Documents/workspace/MorningSessions/src/com/testdata/HalfEbayTestData.xlsx"); 11 | 12 | 13 | if(!reader.isSheetExist("HomePage")){ 14 | reader.addSheet("HomePage"); 15 | } 16 | 17 | int colCount = reader.getColumnCount("RegTestData"); 18 | System.out.println("Total cols present in RegTestData sheet:====" + colCount); 19 | System.out.println(reader.getCellRowNum("RegTestData", "firstname", "Tom")); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/com/datadriven/test/HalfEbdayTest.java: -------------------------------------------------------------------------------- 1 | package com.datadriven.test; 2 | 3 | import java.util.ArrayList; 4 | import java.util.Iterator; 5 | import java.util.concurrent.TimeUnit; 6 | 7 | import org.openqa.selenium.By; 8 | import org.openqa.selenium.WebDriver; 9 | import org.openqa.selenium.chrome.ChromeDriver; 10 | import org.openqa.selenium.support.ui.Select; 11 | import org.testng.annotations.AfterMethod; 12 | import org.testng.annotations.BeforeMethod; 13 | import org.testng.annotations.DataProvider; 14 | import org.testng.annotations.Test; 15 | 16 | import com.test.utility.TestUtil; 17 | 18 | public class HalfEbdayTest { 19 | 20 | WebDriver driver; 21 | 22 | @BeforeMethod 23 | public void setUp(){ 24 | System.setProperty("webdriver.chrome.driver", "/Users/naveenkhunteta/Downloads/chromedriver"); 25 | driver = new ChromeDriver(); // launch chrome 26 | driver.manage().window().maximize(); 27 | driver.manage().deleteAllCookies(); 28 | driver.manage().timeouts().pageLoadTimeout(40, TimeUnit.SECONDS); 29 | driver.manage().timeouts().implicitlyWait(40, TimeUnit.SECONDS); 30 | 31 | driver.get("https://scgi.half.ebay.com/ws/eBayISAPI.dll?RegisterEnterInfo&usage=2943&ru="); // enter url 32 | } 33 | 34 | 35 | @DataProvider 36 | public Iterator getTestData(){ 37 | ArrayList testData = TestUtil.getDataFromExcel(); 38 | return testData.iterator(); 39 | } 40 | 41 | 42 | 43 | @Test(dataProvider="getTestData",priority=1) 44 | public void halfEbayRegPageTest(String firstName, String lastName, String address1, String address2, 45 | String city, String state, String zipCode, String emailAddress){ 46 | 47 | //enter data: 48 | driver.findElement(By.xpath("//*[@id='firstname']")).clear(); 49 | driver.findElement(By.xpath("//*[@id='firstname']")).sendKeys(firstName); 50 | 51 | driver.findElement(By.xpath("//*[@id='lastname']")).clear(); 52 | driver.findElement(By.xpath("//*[@id='lastname']")).sendKeys(lastName); 53 | 54 | driver.findElement(By.xpath("//*[@id='address1']")).clear(); 55 | driver.findElement(By.xpath("//*[@id='address1']")).sendKeys(address1); 56 | 57 | driver.findElement(By.xpath("//*[@id='address1']")).clear(); 58 | driver.findElement(By.xpath("//*[@id='address1']")).sendKeys(address2); 59 | 60 | driver.findElement(By.xpath("//*[@id='city']")).clear(); 61 | driver.findElement(By.xpath("//*[@id='city']")).sendKeys(city); 62 | 63 | Select select = new Select(driver.findElement(By.xpath("//*[@id='state']"))); 64 | select.selectByVisibleText(state); 65 | 66 | driver.findElement(By.xpath("//*[@id='zip']")).clear(); 67 | driver.findElement(By.xpath("//*[@id='zip']")).sendKeys(zipCode); 68 | 69 | driver.findElement(By.xpath("//*[@id='email']")).clear(); 70 | driver.findElement(By.xpath("//*[@id='email']")).sendKeys(emailAddress); 71 | 72 | driver.findElement(By.xpath("//*[@id='retype_email']")).clear(); 73 | driver.findElement(By.xpath("//*[@id='retype_email']")).sendKeys(emailAddress); 74 | 75 | 76 | 77 | } 78 | 79 | 80 | 81 | 82 | 83 | 84 | @AfterMethod 85 | public void tearDown(){ 86 | driver.quit(); 87 | } 88 | 89 | 90 | 91 | 92 | } 93 | -------------------------------------------------------------------------------- /src/com/datadriven/test/ParameterizeTest.java: -------------------------------------------------------------------------------- 1 | package com.datadriven.test; 2 | 3 | import org.openqa.selenium.By; 4 | import org.openqa.selenium.WebDriver; 5 | import org.openqa.selenium.chrome.ChromeDriver; 6 | import org.openqa.selenium.support.ui.Select; 7 | 8 | import com.excel.utility.Xls_Reader; 9 | 10 | public class ParameterizeTest { 11 | 12 | public static void main(String[] args) { 13 | 14 | //webdriver code: 15 | System.setProperty("webdriver.chrome.driver", "/Users/naveenkhunteta/Downloads/chromedriver"); 16 | WebDriver driver = new ChromeDriver(); // launch chrome 17 | driver.get("https://scgi.half.ebay.com/ws/eBayISAPI.dll?RegisterEnterInfo&usage=2943&ru="); // enter url 18 | 19 | 20 | //Data Driven Approach (Parameterization) -- used to create data driven framework: driving the test data from excel files 21 | 22 | //get test data from excel: 23 | Xls_Reader reader = new Xls_Reader("/Users/naveenkhunteta/Documents/workspace/MorningSessions/src/com/testdata/HalfEbayTestData.xlsx"); 24 | int rowCount = reader.getRowCount("RegTestData"); 25 | 26 | reader.addColumn("RegTestData", "Status"); 27 | 28 | //Parameterization: 29 | for(int rowNum = 2; rowNum<=rowCount; rowNum++){ 30 | System.out.println("====="); 31 | String firstName = reader.getCellData("RegTestData", "firstname", rowNum); 32 | System.out.println(firstName); 33 | 34 | String lastName = reader.getCellData("RegTestData", "lastname", rowNum); 35 | System.out.println(lastName); 36 | 37 | String address1 = reader.getCellData("RegTestData", "address1", rowNum); 38 | System.out.println(address1); 39 | 40 | String address2 = reader.getCellData("RegTestData", "address2", rowNum); 41 | System.out.println(address2); 42 | 43 | String city = reader.getCellData("RegTestData", "city", rowNum); 44 | System.out.println(city); 45 | 46 | String state = reader.getCellData("RegTestData", "state", rowNum); 47 | System.out.println(state); 48 | 49 | String zipCode = reader.getCellData("RegTestData", "zipcode", rowNum); 50 | System.out.println(zipCode); 51 | 52 | String emailAddress = reader.getCellData("RegTestData", "emailaddress", rowNum); 53 | System.out.println(emailAddress); 54 | 55 | //enter data: 56 | driver.findElement(By.xpath("//*[@id='firstname']")).clear(); 57 | driver.findElement(By.xpath("//*[@id='firstname']")).sendKeys(firstName); 58 | 59 | driver.findElement(By.xpath("//*[@id='lastname']")).clear(); 60 | driver.findElement(By.xpath("//*[@id='lastname']")).sendKeys(lastName); 61 | 62 | driver.findElement(By.xpath("//*[@id='address1']")).clear(); 63 | driver.findElement(By.xpath("//*[@id='address1']")).sendKeys(address1); 64 | 65 | driver.findElement(By.xpath("//*[@id='address1']")).clear(); 66 | driver.findElement(By.xpath("//*[@id='address1']")).sendKeys(address2); 67 | 68 | driver.findElement(By.xpath("//*[@id='city']")).clear(); 69 | driver.findElement(By.xpath("//*[@id='city']")).sendKeys(city); 70 | 71 | Select select = new Select(driver.findElement(By.xpath("//*[@id='state']"))); 72 | select.selectByVisibleText(state); 73 | 74 | driver.findElement(By.xpath("//*[@id='zip']")).clear(); 75 | driver.findElement(By.xpath("//*[@id='zip']")).sendKeys(zipCode); 76 | 77 | driver.findElement(By.xpath("//*[@id='email']")).clear(); 78 | driver.findElement(By.xpath("//*[@id='email']")).sendKeys(emailAddress); 79 | 80 | driver.findElement(By.xpath("//*[@id='retype_email']")).clear(); 81 | driver.findElement(By.xpath("//*[@id='retype_email']")).sendKeys(emailAddress); 82 | 83 | reader.setCellData("RegTestData", "Status", rowNum, "Pass"); //write the data into a cell 84 | 85 | } 86 | 87 | 88 | 89 | } 90 | 91 | } 92 | -------------------------------------------------------------------------------- /src/com/parameters/ParameterTest.java: -------------------------------------------------------------------------------- 1 | package com.parameters; 2 | 3 | import org.openqa.selenium.By; 4 | import org.openqa.selenium.WebDriver; 5 | import org.openqa.selenium.chrome.ChromeDriver; 6 | import org.openqa.selenium.firefox.FirefoxDriver; 7 | import org.testng.annotations.Parameters; 8 | import org.testng.annotations.Test; 9 | 10 | public class ParameterTest { 11 | 12 | WebDriver driver; 13 | 14 | @Test 15 | @Parameters({ "env", "browser", "url", "emailId" }) 16 | public void yahooLoginTest(String env, String browser, String url, String emailId) { 17 | 18 | if (browser.equals("chrome")) { 19 | System.setProperty("webdriver.chrome.driver", "/Users/naveenkhunteta/Downloads/chromedriver"); 20 | driver = new ChromeDriver(); 21 | }else if(browser.equals("firefox")){ 22 | System.setProperty("webdriver.gecko.driver", "/Users/naveenkhunteta/Downloads/geckodriver"); 23 | driver = new FirefoxDriver(); 24 | 25 | 26 | } 27 | 28 | driver.get(url); 29 | 30 | driver.findElement(By.xpath("//*[@id='login-username']")).clear(); 31 | driver.findElement(By.xpath("//*[@id='login-username']")).sendKeys(emailId); // enter 32 | // username 33 | driver.findElement(By.xpath("//*[@id='login-signin']")).click(); // click 34 | // on 35 | // next 36 | // button 37 | 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/com/test/ExceptionTimeOutTest.java: -------------------------------------------------------------------------------- 1 | package com.test; 2 | 3 | import org.testng.annotations.Test; 4 | 5 | public class ExceptionTimeOutTest { 6 | 7 | 8 | // @Test(invocationTimeOut=2,expectedExceptions=NumberFormatException.class) 9 | // public void infintLoopTest(){ 10 | // int i = 1; 11 | // while(i==1){ 12 | // System.out.println(i); 13 | // } 14 | // } 15 | 16 | @Test(expectedExceptions=NumberFormatException.class) 17 | public void test1(){ 18 | String x = "100A"; 19 | Integer.parseInt(x); 20 | } 21 | 22 | 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/com/test/GoogleTest.java: -------------------------------------------------------------------------------- 1 | package com.test; 2 | 3 | import java.util.concurrent.TimeUnit; 4 | 5 | import org.openqa.selenium.By; 6 | import org.openqa.selenium.WebDriver; 7 | import org.openqa.selenium.chrome.ChromeDriver; 8 | import org.testng.annotations.AfterMethod; 9 | import org.testng.annotations.BeforeMethod; 10 | import org.testng.annotations.Test; 11 | 12 | public class GoogleTest { 13 | 14 | 15 | WebDriver driver; 16 | 17 | //1 //4 //7 18 | @BeforeMethod 19 | public void setUp(){ 20 | System.setProperty("webdriver.chrome.driver", "/Users/naveenkhunteta/Downloads/chromedriver"); 21 | driver = new ChromeDriver(); //launch chrome 22 | driver.manage().window().maximize(); 23 | driver.manage().deleteAllCookies(); 24 | driver.manage().timeouts().pageLoadTimeout(40, TimeUnit.SECONDS); 25 | driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 26 | driver.get("http://www.google.com"); 27 | } 28 | 29 | 30 | //2 31 | @Test(priority=1,groups="Title") 32 | public void googleTitleTest(){ 33 | String title = driver.getTitle(); 34 | System.out.println(title); 35 | 36 | } 37 | 38 | //8 39 | @Test(priority=3,groups="Logo") 40 | public void googleLogoTest(){ 41 | boolean b = driver.findElement(By.xpath("//*[@id='hplogo']")).isDisplayed(); 42 | } 43 | 44 | //5 45 | @Test(priority=2,groups="Link Test") 46 | public void mailLinkTest(){ 47 | boolean b = driver.findElement(By.linkText("GMail")).isDisplayed(); 48 | } 49 | 50 | @Test(priority=4,groups="Test") 51 | public void test1(){ 52 | System.out.println("test1"); 53 | } 54 | 55 | @Test(priority=5,groups="Test") 56 | public void test2(){ 57 | System.out.println("test1"); 58 | } 59 | 60 | @Test(priority=6,groups="Test") 61 | public void test3(){ 62 | System.out.println("test1"); 63 | } 64 | 65 | 66 | //3 //6 //9 67 | @AfterMethod 68 | public void tearDown(){ 69 | driver.quit(); 70 | } 71 | 72 | 73 | 74 | 75 | } 76 | -------------------------------------------------------------------------------- /src/com/test/GoogleTitleTest.java: -------------------------------------------------------------------------------- 1 | package com.test; 2 | 3 | import java.util.concurrent.TimeUnit; 4 | 5 | import org.openqa.selenium.By; 6 | import org.openqa.selenium.WebDriver; 7 | import org.openqa.selenium.chrome.ChromeDriver; 8 | import org.testng.Assert; 9 | import org.testng.annotations.AfterMethod; 10 | import org.testng.annotations.BeforeMethod; 11 | import org.testng.annotations.Test; 12 | 13 | public class GoogleTitleTest { 14 | 15 | WebDriver driver; 16 | 17 | @BeforeMethod 18 | public void setUp(){ 19 | System.setProperty("webdriver.chrome.driver", "/Users/naveenkhunteta/Downloads/chromedriver"); 20 | driver = new ChromeDriver(); //launch chrome 21 | driver.manage().window().maximize(); 22 | driver.manage().deleteAllCookies(); 23 | driver.manage().timeouts().pageLoadTimeout(40, TimeUnit.SECONDS); 24 | driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 25 | driver.get("http://www.google.com"); 26 | } 27 | 28 | 29 | 30 | @Test() 31 | public void googleTitleTest(){ 32 | String title = driver.getTitle(); 33 | System.out.println(title); 34 | 35 | Assert.assertEquals(title, "Google123", "title is not matched"); 36 | 37 | } 38 | 39 | 40 | @Test() 41 | public void googleLogoTest(){ 42 | boolean b = driver.findElement(By.xpath("//*[@id='hplogo']")).isDisplayed(); 43 | Assert.assertTrue(b); 44 | Assert.assertEquals(b, true); 45 | } 46 | 47 | 48 | @AfterMethod 49 | public void tearDown(){ 50 | driver.quit(); 51 | } 52 | 53 | 54 | 55 | 56 | } 57 | -------------------------------------------------------------------------------- /src/com/test/InvocationCountTest.java: -------------------------------------------------------------------------------- 1 | package com.test; 2 | 3 | import org.testng.annotations.Test; 4 | 5 | public class InvocationCountTest { 6 | 7 | @Test(invocationCount=10) 8 | public void sum(){ 9 | int a = 10; 10 | int b = 20; 11 | int c = a+b; 12 | System.out.println("sum is==="+ c); 13 | } 14 | 15 | 16 | 17 | 18 | 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/com/test/TestNgBasics.java: -------------------------------------------------------------------------------- 1 | package com.test; 2 | 3 | import org.testng.annotations.AfterClass; 4 | import org.testng.annotations.AfterMethod; 5 | import org.testng.annotations.AfterSuite; 6 | import org.testng.annotations.AfterTest; 7 | import org.testng.annotations.BeforeClass; 8 | import org.testng.annotations.BeforeMethod; 9 | import org.testng.annotations.BeforeSuite; 10 | import org.testng.annotations.BeforeTest; 11 | import org.testng.annotations.Test; 12 | 13 | public class TestNgBasics { 14 | 15 | // @BeforeSuite -- setup system property for chrome -- I 16 | // @BeforeTest -- launchBrowser -- II 17 | // @BeforeClass -- login to app --III 18 | 19 | // @BeforeMethod -- enter URL --4 20 | // @Test -- google logo test 21 | // @AfterMethod -- logout from app 22 | 23 | // @BeforeMethod -- enter URL 24 | // @Test --- Google Title Test 25 | // @AfterMethod -- logout from app 26 | 27 | // @BeforeMethod -- enter URL 28 | // @Test -- search test 29 | // @AfterMethod -- logout from app 30 | 31 | // @AfterClass -- Close Browser 32 | // @AfterTest -- deleteAllCookies 33 | 34 | 35 | //Pre-conditions annotations -- starting with @Before 36 | @BeforeSuite //1 37 | public void setUp(){ 38 | System.out.println("@BeforeSuite -- setup system property for chrome"); 39 | } 40 | 41 | @BeforeTest //2 42 | public void launchBrowser(){ 43 | System.out.println("@BeforeTest -- launchBrowser"); 44 | } 45 | 46 | 47 | @BeforeClass //3 48 | public void login(){ 49 | System.out.println("@BeforeClass -- login to app"); 50 | } 51 | 52 | 53 | /* 54 | * @BeforeMethod 55 | * @Test -1 56 | * @AfterMethod 57 | * 58 | * @BeforeMethod 59 | * @Test -2 60 | * @AfterMethod 61 | * 62 | * @BeforeMethos 63 | * @Test -3 64 | * @AfterMethod 65 | * 66 | */ 67 | 68 | 69 | 70 | @BeforeMethod //4 71 | public void enterURL(){ 72 | System.out.println("@BeforeMethod -- enter URL"); 73 | } 74 | 75 | 76 | //test cases--starting with @Test 77 | @Test //5 78 | public void googleTitleTest(){ 79 | System.out.println("@Test --- Google Title Test"); 80 | } 81 | 82 | @Test 83 | public void searchTest(){ 84 | System.out.println("@Test -- search test"); 85 | } 86 | 87 | @Test 88 | public void googleLogoTest(){ 89 | System.out.println("@Test -- google logo test"); 90 | } 91 | 92 | 93 | //post conditions -- starting with @After 94 | @AfterMethod //6 95 | public void logOut(){ 96 | System.out.println("@AfterMethod -- logout from app"); 97 | } 98 | 99 | @AfterClass //7 100 | public void closeBrowser(){ 101 | System.out.println("@AfterClass -- Close Browser"); 102 | } 103 | 104 | @AfterTest //8 105 | public void deleteAllCookies(){ 106 | System.out.println("@AfterTest -- deleteAllCookies"); 107 | } 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | } 116 | -------------------------------------------------------------------------------- /src/com/test/TestNgFeatures.java: -------------------------------------------------------------------------------- 1 | package com.test; 2 | 3 | import org.testng.annotations.Test; 4 | 5 | public class TestNgFeatures { 6 | 7 | @Test 8 | public void loginTest(){ 9 | System.out.println("login test"); 10 | //int i = 9/0; 11 | } 12 | 13 | @Test(dependsOnMethods="loginTest") 14 | public void HomePageTest(){ 15 | System.out.println("Home Page test"); 16 | } 17 | 18 | @Test(dependsOnMethods="loginTest") 19 | public void SearchPageTest(){ 20 | System.out.println("SearchPageTest"); 21 | } 22 | 23 | @Test(dependsOnMethods="loginTest") 24 | public void RegPageTest(){ 25 | System.out.println("RegPageTest"); 26 | } 27 | 28 | 29 | 30 | 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/com/test/utility/TestUtil.java: -------------------------------------------------------------------------------- 1 | package com.test.utility; 2 | 3 | import java.util.ArrayList; 4 | 5 | import com.excel.utility.Xls_Reader; 6 | 7 | public class TestUtil { 8 | static Xls_Reader reader; 9 | 10 | 11 | public static ArrayList getDataFromExcel(){ 12 | 13 | ArrayList myData = new ArrayList(); 14 | 15 | try { 16 | reader = new Xls_Reader("/Users/naveenkhunteta/Documents/workspace/MorningSessions/src/com/testdata/HalfEbayTestData.xlsx"); 17 | } catch (Exception e) { 18 | e.printStackTrace(); 19 | } 20 | 21 | for (int rowNum = 2; rowNum <= reader.getRowCount("RegTestData"); rowNum++) { 22 | 23 | String firstName = reader.getCellData("RegTestData", "firstname", rowNum); 24 | String lastName = reader.getCellData("RegTestData", "lastname", rowNum); 25 | String address1 = reader.getCellData("RegTestData", "address1", rowNum); 26 | String address2 = reader.getCellData("RegTestData", "address2", rowNum); 27 | String city = reader.getCellData("RegTestData", "city", rowNum); 28 | String state = reader.getCellData("RegTestData", "state", rowNum); 29 | String zipCode = reader.getCellData("RegTestData", "zipcode", rowNum); 30 | String emailAddress = reader.getCellData("RegTestData", "emailaddress", rowNum); 31 | 32 | Object ob[] = {firstName, lastName, address1, address2, city, state, zipCode, emailAddress}; 33 | myData.add(ob); 34 | 35 | } 36 | return myData; 37 | 38 | } 39 | 40 | 41 | 42 | 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/com/testdata/HalfEbayTestData.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/src/com/testdata/HalfEbayTestData.xlsx -------------------------------------------------------------------------------- /src/testng.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /test-output/Default suite/Default test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | TestNG: Default test 4 | 5 | 6 | 7 | 11 | 53 | 54 | 55 | 56 |

Default test

57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 |
Tests passed/Failed/Skipped:1/0/0
Started on:Mon Sep 18 01:05:45 IST 2017
Total time:8 seconds (8041 ms)
Included groups:
Excluded groups:

69 | (Hover the method name to see the test class name)

70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 |
PASSED TESTS
Test methodExceptionTime (seconds)Instance
yahooLoginTest
Test class: com.parameters.ParameterTest
Parameters: QA, chrome, https://login.yahoo.com/, test@yahoo.com
7com.parameters.ParameterTest@4883b407

83 | 84 | -------------------------------------------------------------------------------- /test-output/Default suite/Default test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /test-output/Default suite/testng-failed.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /test-output/TestNG Session Test Automation Suite/Different testng Feature Test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | TestNG: Different testng Feature Test 4 | 5 | 6 | 7 | 11 | 53 | 54 | 55 | 56 |

Different testng Feature Test

57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 |
Tests passed/Failed/Skipped:16/1/0
Started on:Wed Sep 13 09:15:57 IST 2017
Total time:9 seconds (9954 ms)
Included groups:
Excluded groups:

69 | (Hover the method name to see the test class name)

70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 115 | 116 | 117 |
FAILED TESTS
Test methodExceptionTime (seconds)Instance
googleTitleTest
Test class: com.test.GoogleTitleTest
java.lang.AssertionError: title is not matched expected [Google123] but found [Google]
 80 | 	at com.test.GoogleTitleTest.googleTitleTest(GoogleTitleTest.java:35)
 81 | ... Removed 30 stack frames
Click to show all stack frames 82 |
java.lang.AssertionError: title is not matched expected [Google123] but found [Google]
 83 | 	at org.testng.Assert.fail(Assert.java:93)
 84 | 	at org.testng.Assert.failNotEquals(Assert.java:512)
 85 | 	at org.testng.Assert.assertEqualsImpl(Assert.java:134)
 86 | 	at org.testng.Assert.assertEquals(Assert.java:115)
 87 | 	at org.testng.Assert.assertEquals(Assert.java:189)
 88 | 	at com.test.GoogleTitleTest.googleTitleTest(GoogleTitleTest.java:35)
 89 | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 90 | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 91 | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 92 | 	at java.lang.reflect.Method.invoke(Method.java:498)
 93 | 	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:108)
 94 | 	at org.testng.internal.Invoker.invokeMethod(Invoker.java:669)
 95 | 	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:877)
 96 | 	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1201)
 97 | 	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
 98 | 	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
 99 | 	at org.testng.TestRunner.privateRun(TestRunner.java:776)
100 | 	at org.testng.TestRunner.run(TestRunner.java:634)
101 | 	at org.testng.SuiteRunner.runTest(SuiteRunner.java:425)
102 | 	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:420)
103 | 	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:385)
104 | 	at org.testng.SuiteRunner.run(SuiteRunner.java:334)
105 | 	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
106 | 	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
107 | 	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1318)
108 | 	at org.testng.TestNG.runSuitesLocally(TestNG.java:1243)
109 | 	at org.testng.TestNG.runSuites(TestNG.java:1161)
110 | 	at org.testng.TestNG.run(TestNG.java:1129)
111 | 	at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
112 | 	at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
113 | 	at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
114 | 
0com.test.GoogleTitleTest@5622fdf

118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 239 | 240 | 241 |
PASSED TESTS
Test methodExceptionTime (seconds)Instance
googleLogoTest
Test class: com.test.GoogleTitleTest
0com.test.GoogleTitleTest@5622fdf
googleLogoTest
Test class: com.test.TestNgBasics
0com.test.TestNgBasics@7cd62f43
googleTitleTest
Test class: com.test.TestNgBasics
0com.test.TestNgBasics@7cd62f43
loginTest
Test class: com.test.TestNgFeatures
0com.test.TestNgFeatures@7d9d1a19
searchTest
Test class: com.test.TestNgBasics
0com.test.TestNgBasics@7cd62f43
sum
Test class: com.test.InvocationCountTest
0com.test.InvocationCountTest@4883b407
sum
Test class: com.test.InvocationCountTest
0com.test.InvocationCountTest@4883b407
sum
Test class: com.test.InvocationCountTest
0com.test.InvocationCountTest@4883b407
sum
Test class: com.test.InvocationCountTest
0com.test.InvocationCountTest@4883b407
sum
Test class: com.test.InvocationCountTest
0com.test.InvocationCountTest@4883b407
sum
Test class: com.test.InvocationCountTest
0com.test.InvocationCountTest@4883b407
sum
Test class: com.test.InvocationCountTest
0com.test.InvocationCountTest@4883b407
sum
Test class: com.test.InvocationCountTest
0com.test.InvocationCountTest@4883b407
sum
Test class: com.test.InvocationCountTest
0com.test.InvocationCountTest@4883b407
sum
Test class: com.test.InvocationCountTest
0com.test.InvocationCountTest@4883b407
test1
Test class: com.test.ExceptionTimeOutTest
java.lang.NumberFormatException: For input string: "100A"
203 | 	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
204 | 	at java.lang.Integer.parseInt(Integer.java:580)
205 | 	at java.lang.Integer.parseInt(Integer.java:615)
206 | 	at com.test.ExceptionTimeOutTest.test1(ExceptionTimeOutTest.java:19)
207 | ... Removed 25 stack frames
Click to show all stack frames 208 |
java.lang.NumberFormatException: For input string: "100A"
209 | 	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
210 | 	at java.lang.Integer.parseInt(Integer.java:580)
211 | 	at java.lang.Integer.parseInt(Integer.java:615)
212 | 	at com.test.ExceptionTimeOutTest.test1(ExceptionTimeOutTest.java:19)
213 | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
214 | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
215 | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
216 | 	at java.lang.reflect.Method.invoke(Method.java:498)
217 | 	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:108)
218 | 	at org.testng.internal.Invoker.invokeMethod(Invoker.java:669)
219 | 	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:877)
220 | 	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1201)
221 | 	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
222 | 	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
223 | 	at org.testng.TestRunner.privateRun(TestRunner.java:776)
224 | 	at org.testng.TestRunner.run(TestRunner.java:634)
225 | 	at org.testng.SuiteRunner.runTest(SuiteRunner.java:425)
226 | 	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:420)
227 | 	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:385)
228 | 	at org.testng.SuiteRunner.run(SuiteRunner.java:334)
229 | 	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
230 | 	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
231 | 	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1318)
232 | 	at org.testng.TestNG.runSuitesLocally(TestNG.java:1243)
233 | 	at org.testng.TestNG.runSuites(TestNG.java:1161)
234 | 	at org.testng.TestNG.run(TestNG.java:1129)
235 | 	at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
236 | 	at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
237 | 	at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
238 | 
0com.test.ExceptionTimeOutTest@6d4b1c02

242 | 243 | -------------------------------------------------------------------------------- /test-output/TestNG Session Test Automation Suite/Different testng Feature Test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /test-output/TestNG Session Test Automation Suite/testng-failed.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /test-output/Yahoo App Test Automation Suite/Yahoo App Test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | TestNG: Yahoo App Test 4 | 5 | 6 | 7 | 11 | 53 | 54 | 55 | 56 |

Yahoo App Test

57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 |
Tests passed/Failed/Skipped:1/0/0
Started on:Mon Sep 18 00:58:53 IST 2017
Total time:9 seconds (9437 ms)
Included groups:
Excluded groups:

69 | (Hover the method name to see the test class name)

70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 |
PASSED TESTS
Test methodExceptionTime (seconds)Instance
yahooLoginTest
Test class: com.parameters.ParameterTest
Parameters: https://login.yahoo.com/, test@yahoo.com
9com.parameters.ParameterTest@4883b407

83 | 84 | -------------------------------------------------------------------------------- /test-output/Yahoo App Test Automation Suite/Yahoo App Test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /test-output/bullet_point.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/test-output/bullet_point.png -------------------------------------------------------------------------------- /test-output/collapseall.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/test-output/collapseall.gif -------------------------------------------------------------------------------- /test-output/emailable-report.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | TestNG Report 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
Test# Passed# Skipped# FailedTime (ms)Included GroupsExcluded Groups
Default suite
Default test1008,041
14 | 15 |
ClassMethodStartTime (ms)
Default suite
Default test — passed
com.parameters.ParameterTestyahooLoginTest15056769455727996
16 |

Default test

com.parameters.ParameterTest#yahooLoginTest

Parameter #1Parameter #2Parameter #3Parameter #4
QAchromehttps://login.yahoo.com/test@yahoo.com

back to summary

17 | 18 | 19 | -------------------------------------------------------------------------------- /test-output/failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/test-output/failed.png -------------------------------------------------------------------------------- /test-output/junitreports/TEST-com.datadriven.test.HalfEbdayTest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /test-output/junitreports/TEST-com.parameters.ParameterTest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /test-output/junitreports/TEST-com.test.ExceptionTimeOutTest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /test-output/junitreports/TEST-com.test.GoogleTest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 17 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /test-output/junitreports/TEST-com.test.GoogleTitleTest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /test-output/junitreports/TEST-com.test.InvocationCountTest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /test-output/junitreports/TEST-com.test.TestNgBasics.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /test-output/junitreports/TEST-com.test.TestNgFeatures.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /test-output/navigator-bullet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/test-output/navigator-bullet.png -------------------------------------------------------------------------------- /test-output/old/Default suite/Default test.properties: -------------------------------------------------------------------------------- 1 | [SuiteResult context=Default test] -------------------------------------------------------------------------------- /test-output/old/Default suite/classes.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Class nameMethod nameGroups
com.parameters.ParameterTest  
@Test
 yahooLoginTest 
@BeforeClass
@BeforeMethod
@AfterMethod
@AfterClass
29 | -------------------------------------------------------------------------------- /test-output/old/Default suite/groups.html: -------------------------------------------------------------------------------- 1 |

Groups used for this test run

-------------------------------------------------------------------------------- /test-output/old/Default suite/index.html: -------------------------------------------------------------------------------- 1 | Results for Default suite 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /test-output/old/Default suite/main.html: -------------------------------------------------------------------------------- 1 | Results for Default suite 2 | Select a result on the left-hand pane. 3 | -------------------------------------------------------------------------------- /test-output/old/Default suite/methods-alphabetical.html: -------------------------------------------------------------------------------- 1 |

Methods run, sorted chronologically

>> means before, << means after


Default suite

(Hover the method name to see the test class name)

2 | 3 | 4 | 5 | 6 |
TimeDelta (ms)Suite
configuration
Test
configuration
Class
configuration
Groups
configuration
Method
configuration
Test
method
ThreadInstances
17/09/18 01:05:45 0      yahooLoginTestmain@422250493
7 | -------------------------------------------------------------------------------- /test-output/old/Default suite/methods-not-run.html: -------------------------------------------------------------------------------- 1 |

Methods that were not run

2 |
-------------------------------------------------------------------------------- /test-output/old/Default suite/methods.html: -------------------------------------------------------------------------------- 1 |

Methods run, sorted chronologically

>> means before, << means after


Default suite

(Hover the method name to see the test class name)

2 | 3 | 4 | 5 | 6 |
TimeDelta (ms)Suite
configuration
Test
configuration
Class
configuration
Groups
configuration
Method
configuration
Test
method
ThreadInstances
17/09/18 01:05:45 0      yahooLoginTestmain@422250493
7 | -------------------------------------------------------------------------------- /test-output/old/Default suite/reporter-output.html: -------------------------------------------------------------------------------- 1 |

Reporter output

-------------------------------------------------------------------------------- /test-output/old/Default suite/testng.xml.html: -------------------------------------------------------------------------------- 1 | testng.xml for Default suite<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite guice-stage="DEVELOPMENT" name="Default suite">
  <parameter name="browser" value="chrome"/>
  <parameter name="emailId" value="test@yahoo.com"/>
  <parameter name="env" value="QA"/>
  <parameter name="url" value="https://login.yahoo.com/"/>
  <test verbose="2" name="Default test">
    <classes>
      <class name="com.parameters.ParameterTest"/>
    </classes>
  </test> <!-- Default test -->
</suite> <!-- Default suite -->
-------------------------------------------------------------------------------- /test-output/old/Default suite/toc.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Results for Default suite 4 | 5 | 6 | 7 | 8 |

Results for
Default suite

9 | 10 | 11 | 12 | 13 | 17 | 18 | 19 | 20 | 21 | 22 |
1 test1 class1 method:
14 |   chronological
15 |   alphabetical
16 |   not run (0)
0 groupreporter outputtestng.xml
23 | 24 |

29 |

25 |
Default test (1/0/0) 26 | Results 27 |
28 |
30 | -------------------------------------------------------------------------------- /test-output/old/TestNG Session Test Automation Suite/Different testng Feature Test.properties: -------------------------------------------------------------------------------- 1 | [SuiteResult context=Different testng Feature Test] -------------------------------------------------------------------------------- /test-output/old/TestNG Session Test Automation Suite/classes.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 |
Class nameMethod nameGroups
com.test.GoogleTest  
@Test
 googleLogoTestLogo
 mailLinkTestLink Test
 test2Test
 test3Test
 googleTitleTestTitle
 test1Test
@BeforeClass
@BeforeMethod
 setUp 
@AfterMethod
 tearDown 
@AfterClass
com.test.GoogleTitleTest  
@Test
 googleLogoTest 
 googleTitleTest 
@BeforeClass
@BeforeMethod
 setUp 
@AfterMethod
 tearDown 
@AfterClass
com.test.InvocationCountTest  
@Test
 sum 
@BeforeClass
@BeforeMethod
@AfterMethod
@AfterClass
com.test.TestNgFeatures  
@Test
 SearchPageTest 
 HomePageTest 
 RegPageTest 
 loginTest 
@BeforeClass
@BeforeMethod
@AfterMethod
@AfterClass
com.test.TestNgBasics  
@Test
 googleLogoTest 
 googleTitleTest 
 searchTest 
@BeforeClass
 login 
@BeforeMethod
 enterURL 
@AfterMethod
 logOut 
@AfterClass
 closeBrowser 
com.test.ExceptionTimeOutTest  
@Test
 test1 
@BeforeClass
@BeforeMethod
@AfterMethod
@AfterClass
221 | -------------------------------------------------------------------------------- /test-output/old/TestNG Session Test Automation Suite/groups.html: -------------------------------------------------------------------------------- 1 |

Groups used for this test run

2 | 3 | 4 | 5 | 6 |
Group nameMethods
Link TestGoogleTest.mailLinkTest()[pri:2, instance:com.test.GoogleTest@6093dd95]
LogoGoogleTest.googleLogoTest()[pri:3, instance:com.test.GoogleTest@6093dd95]
TestGoogleTest.test3()[pri:6, instance:com.test.GoogleTest@6093dd95]
GoogleTest.test2()[pri:5, instance:com.test.GoogleTest@6093dd95]
GoogleTest.test1()[pri:4, instance:com.test.GoogleTest@6093dd95]
TitleGoogleTest.googleTitleTest()[pri:1, instance:com.test.GoogleTest@6093dd95]
7 | -------------------------------------------------------------------------------- /test-output/old/TestNG Session Test Automation Suite/index.html: -------------------------------------------------------------------------------- 1 | Results for TestNG Session Test Automation Suite 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /test-output/old/TestNG Session Test Automation Suite/main.html: -------------------------------------------------------------------------------- 1 | Results for TestNG Session Test Automation Suite 2 | Select a result on the left-hand pane. 3 | -------------------------------------------------------------------------------- /test-output/old/TestNG Session Test Automation Suite/methods-alphabetical.html: -------------------------------------------------------------------------------- 1 |

Methods run, sorted chronologically

>> means before, << means after


TestNG Session Test Automation Suite

(Hover the method name to see the test class name)

2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 |
TimeDelta (ms)Suite
configuration
Test
configuration
Class
configuration
Groups
configuration
Method
configuration
Test
method
ThreadInstances
17/09/13 09:16:07 0   <<closeBrowser    main@1164371389
17/09/13 09:16:07 11  <<deleteAllCookies     main@1164371389
17/09/13 09:16:07 -17     >>enterURL  main@1164371389
17/09/13 09:16:07 -10     >>enterURL  main@1164371389
17/09/13 09:16:07 -3     >>enterURL  main@1164371389
17/09/13 09:16:02 -4412      googleLogoTestmain@1164371389
17/09/13 09:16:07 -17      googleLogoTestmain@1164371389
17/09/13 09:16:07 -185      googleTitleTestmain@1164371389
17/09/13 09:16:07 -10      googleTitleTestmain@1164371389
17/09/13 09:15:57 -9940  >>launchBrowser     main@1164371389
17/09/13 09:16:07 -13     <<logOut  main@1164371389
17/09/13 09:16:07 -4     <<logOut  main@1164371389
17/09/13 09:16:07 -1     <<logOut  main@1164371389
17/09/13 09:16:07 -17   >>login    main@1164371389
17/09/13 09:16:07 2      loginTestmain@1164371389
17/09/13 09:16:07 -3      searchTestmain@1164371389
17/09/13 09:15:57 -9952 >>setUp      main@1164371389
17/09/13 09:15:57 -9898     >>setUp  main@1164371389
17/09/13 09:16:03 -4003     >>setUp  main@1164371389
17/09/13 09:16:07 -71      summain@1164371389
17/09/13 09:16:07 -64      summain@1164371389
17/09/13 09:16:07 -54      summain@1164371389
17/09/13 09:16:07 -50      summain@1164371389
17/09/13 09:16:07 -48      summain@1164371389
17/09/13 09:16:07 -42      summain@1164371389
17/09/13 09:16:07 -37      summain@1164371389
17/09/13 09:16:07 -27      summain@1164371389
17/09/13 09:16:07 -24      summain@1164371389
17/09/13 09:16:07 -21      summain@1164371389
17/09/13 09:16:03 -4093     <<tearDown  main@1164371389
17/09/13 09:16:07 -168     <<tearDown  main@1164371389
17/09/13 09:15:57 -9916      test1main@1164371389
69 | -------------------------------------------------------------------------------- /test-output/old/TestNG Session Test Automation Suite/methods-not-run.html: -------------------------------------------------------------------------------- 1 |

Methods that were not run

2 |
-------------------------------------------------------------------------------- /test-output/old/TestNG Session Test Automation Suite/methods.html: -------------------------------------------------------------------------------- 1 |

Methods run, sorted chronologically

>> means before, << means after


TestNG Session Test Automation Suite

(Hover the method name to see the test class name)

2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 |
TimeDelta (ms)Suite
configuration
Test
configuration
Class
configuration
Groups
configuration
Method
configuration
Test
method
ThreadInstances
17/09/13 09:15:57 0 >>setUp      main@1164371389
17/09/13 09:15:57 12  >>launchBrowser     main@1164371389
17/09/13 09:15:57 36      test1main@1164371389
17/09/13 09:15:57 54     >>setUp  main@1164371389
17/09/13 09:16:02 5540      googleLogoTestmain@1164371389
17/09/13 09:16:03 5859     <<tearDown  main@1164371389
17/09/13 09:16:03 5949     >>setUp  main@1164371389
17/09/13 09:16:07 9767      googleTitleTestmain@1164371389
17/09/13 09:16:07 9784     <<tearDown  main@1164371389
17/09/13 09:16:07 9881      summain@1164371389
17/09/13 09:16:07 9888      summain@1164371389
17/09/13 09:16:07 9898      summain@1164371389
17/09/13 09:16:07 9902      summain@1164371389
17/09/13 09:16:07 9904      summain@1164371389
17/09/13 09:16:07 9910      summain@1164371389
17/09/13 09:16:07 9915      summain@1164371389
17/09/13 09:16:07 9925      summain@1164371389
17/09/13 09:16:07 9928      summain@1164371389
17/09/13 09:16:07 9931      summain@1164371389
17/09/13 09:16:07 9935   >>login    main@1164371389
17/09/13 09:16:07 9935     >>enterURL  main@1164371389
17/09/13 09:16:07 9935      googleLogoTestmain@1164371389
17/09/13 09:16:07 9939     <<logOut  main@1164371389
17/09/13 09:16:07 9942     >>enterURL  main@1164371389
17/09/13 09:16:07 9942      googleTitleTestmain@1164371389
17/09/13 09:16:07 9948     <<logOut  main@1164371389
17/09/13 09:16:07 9949     >>enterURL  main@1164371389
17/09/13 09:16:07 9949      searchTestmain@1164371389
17/09/13 09:16:07 9951     <<logOut  main@1164371389
17/09/13 09:16:07 9952   <<closeBrowser    main@1164371389
17/09/13 09:16:07 9954      loginTestmain@1164371389
17/09/13 09:16:07 9963  <<deleteAllCookies     main@1164371389
69 | -------------------------------------------------------------------------------- /test-output/old/TestNG Session Test Automation Suite/reporter-output.html: -------------------------------------------------------------------------------- 1 |

Reporter output

-------------------------------------------------------------------------------- /test-output/old/TestNG Session Test Automation Suite/testng.xml.html: -------------------------------------------------------------------------------- 1 | testng.xml for TestNG Session Test Automation Suite<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite guice-stage="DEVELOPMENT" name="TestNG Session Test Automation Suite">
  <test name="Different testng Feature Test">
    <classes>
      <class name="com.test.ExceptionTimeOutTest"/>
      <class name="com.test.GoogleTest"/>
      <class name="com.test.GoogleTitleTest"/>
      <class name="com.test.InvocationCountTest"/>
      <class name="com.test.TestNgBasics"/>
      <class name="com.test.TestNgFeatures"/>
    </classes>
  </test> <!-- Different testng Feature Test -->
</suite> <!-- TestNG Session Test Automation Suite -->
-------------------------------------------------------------------------------- /test-output/old/TestNG Session Test Automation Suite/toc.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Results for TestNG Session Test Automation Suite 4 | 5 | 6 | 7 | 8 |

Results for
TestNG Session Test Automation Suite

9 | 10 | 11 | 12 | 13 | 17 | 18 | 19 | 20 | 21 | 22 |
1 test6 classes17 methods:
14 |   chronological
15 |   alphabetical
16 |   not run (0)
4 groupsreporter outputtestng.xml
23 | 24 |

29 |

25 |
Different testng Feature Test (16/1/0) 26 | Results 27 |
28 |
30 | -------------------------------------------------------------------------------- /test-output/old/Yahoo App Test Automation Suite/Yahoo App Test.properties: -------------------------------------------------------------------------------- 1 | [SuiteResult context=Yahoo App Test] -------------------------------------------------------------------------------- /test-output/old/Yahoo App Test Automation Suite/classes.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Class nameMethod nameGroups
com.parameters.ParameterTest  
@Test
 yahooLoginTest 
@BeforeClass
@BeforeMethod
@AfterMethod
@AfterClass
29 | -------------------------------------------------------------------------------- /test-output/old/Yahoo App Test Automation Suite/groups.html: -------------------------------------------------------------------------------- 1 |

Groups used for this test run

-------------------------------------------------------------------------------- /test-output/old/Yahoo App Test Automation Suite/index.html: -------------------------------------------------------------------------------- 1 | Results for Yahoo App Test Automation Suite 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /test-output/old/Yahoo App Test Automation Suite/main.html: -------------------------------------------------------------------------------- 1 | Results for Yahoo App Test Automation Suite 2 | Select a result on the left-hand pane. 3 | -------------------------------------------------------------------------------- /test-output/old/Yahoo App Test Automation Suite/methods-alphabetical.html: -------------------------------------------------------------------------------- 1 |

Methods run, sorted chronologically

>> means before, << means after


Yahoo App Test Automation Suite

(Hover the method name to see the test class name)

2 | 3 | 4 | 5 | 6 |
TimeDelta (ms)Suite
configuration
Test
configuration
Class
configuration
Groups
configuration
Method
configuration
Test
method
ThreadInstances
17/09/18 00:58:53 0      yahooLoginTestmain@422250493
7 | -------------------------------------------------------------------------------- /test-output/old/Yahoo App Test Automation Suite/methods-not-run.html: -------------------------------------------------------------------------------- 1 |

Methods that were not run

2 |
-------------------------------------------------------------------------------- /test-output/old/Yahoo App Test Automation Suite/methods.html: -------------------------------------------------------------------------------- 1 |

Methods run, sorted chronologically

>> means before, << means after


Yahoo App Test Automation Suite

(Hover the method name to see the test class name)

2 | 3 | 4 | 5 | 6 |
TimeDelta (ms)Suite
configuration
Test
configuration
Class
configuration
Groups
configuration
Method
configuration
Test
method
ThreadInstances
17/09/18 00:58:53 0      yahooLoginTestmain@422250493
7 | -------------------------------------------------------------------------------- /test-output/old/Yahoo App Test Automation Suite/reporter-output.html: -------------------------------------------------------------------------------- 1 |

Reporter output

-------------------------------------------------------------------------------- /test-output/old/Yahoo App Test Automation Suite/testng.xml.html: -------------------------------------------------------------------------------- 1 | testng.xml for Yahoo App Test Automation Suite<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite guice-stage="DEVELOPMENT" name="Yahoo App Test Automation Suite">
  <test name="Yahoo App Test">
    <parameter name="emailId" value="test@yahoo.com"/>
    <parameter name="url" value="https://login.yahoo.com/"/>
    <classes>
      <class name="com.parameters.ParameterTest"/>
    </classes>
  </test> <!-- Yahoo App Test -->
</suite> <!-- Yahoo App Test Automation Suite -->
-------------------------------------------------------------------------------- /test-output/old/Yahoo App Test Automation Suite/toc.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Results for Yahoo App Test Automation Suite 4 | 5 | 6 | 7 | 8 |

Results for
Yahoo App Test Automation Suite

9 | 10 | 11 | 12 | 13 | 17 | 18 | 19 | 20 | 21 | 22 |
1 test1 class1 method:
14 |   chronological
15 |   alphabetical
16 |   not run (0)
0 groupreporter outputtestng.xml
23 | 24 |

29 |

25 |
Yahoo App Test (1/0/0) 26 | Results 27 |
28 |
30 | -------------------------------------------------------------------------------- /test-output/old/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |

Test results

6 | 7 | 8 | 9 |
SuitePassedFailedSkippedtestng.xml
Total100 
Default suite100Link
10 | -------------------------------------------------------------------------------- /test-output/passed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/test-output/passed.png -------------------------------------------------------------------------------- /test-output/skipped.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naveenanimation20/SeleniumJavaCourse/07996997fe9b87e90f301e66c017b09057e53676/test-output/skipped.png -------------------------------------------------------------------------------- /test-output/testng-failed.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /test-output/testng-reports.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0px 0px 5px 5px; 3 | } 4 | 5 | ul { 6 | margin: 0px; 7 | } 8 | 9 | li { 10 | list-style-type: none; 11 | } 12 | 13 | a { 14 | text-decoration: none; 15 | } 16 | 17 | a:hover { 18 | text-decoration: underline; 19 | } 20 | 21 | .navigator-selected { 22 | background: #ffa500; 23 | } 24 | 25 | .wrapper { 26 | position: absolute; 27 | top: 60px; 28 | bottom: 0; 29 | left: 400px; 30 | right: 0; 31 | overflow: auto; 32 | } 33 | 34 | .navigator-root { 35 | position: absolute; 36 | top: 60px; 37 | bottom: 0; 38 | left: 0; 39 | width: 400px; 40 | overflow-y: auto; 41 | } 42 | 43 | .suite { 44 | margin: 0px 10px 10px 0px; 45 | background-color: #fff8dc; 46 | } 47 | 48 | .suite-name { 49 | padding-left: 10px; 50 | font-size: 25px; 51 | font-family: Times; 52 | } 53 | 54 | .main-panel-header { 55 | padding: 5px; 56 | background-color: #9FB4D9; //afeeee; 57 | font-family: monospace; 58 | font-size: 18px; 59 | } 60 | 61 | .main-panel-content { 62 | padding: 5px; 63 | margin-bottom: 10px; 64 | background-color: #DEE8FC; //d0ffff; 65 | } 66 | 67 | .rounded-window { 68 | border-radius: 10px; 69 | border-style: solid; 70 | border-width: 1px; 71 | } 72 | 73 | .rounded-window-top { 74 | border-top-right-radius: 10px 10px; 75 | border-top-left-radius: 10px 10px; 76 | border-style: solid; 77 | border-width: 1px; 78 | overflow: auto; 79 | } 80 | 81 | .light-rounded-window-top { 82 | border-top-right-radius: 10px 10px; 83 | border-top-left-radius: 10px 10px; 84 | } 85 | 86 | .rounded-window-bottom { 87 | border-style: solid; 88 | border-width: 0px 1px 1px 1px; 89 | border-bottom-right-radius: 10px 10px; 90 | border-bottom-left-radius: 10px 10px; 91 | overflow: auto; 92 | } 93 | 94 | .method-name { 95 | font-size: 12px; 96 | font-family: monospace; 97 | } 98 | 99 | .method-content { 100 | border-style: solid; 101 | border-width: 0px 0px 1px 0px; 102 | margin-bottom: 10; 103 | padding-bottom: 5px; 104 | width: 80%; 105 | } 106 | 107 | .parameters { 108 | font-size: 14px; 109 | font-family: monospace; 110 | } 111 | 112 | .stack-trace { 113 | white-space: pre; 114 | font-family: monospace; 115 | font-size: 12px; 116 | font-weight: bold; 117 | margin-top: 0px; 118 | margin-left: 20px; 119 | } 120 | 121 | .testng-xml { 122 | font-family: monospace; 123 | } 124 | 125 | .method-list-content { 126 | margin-left: 10px; 127 | } 128 | 129 | .navigator-suite-content { 130 | margin-left: 10px; 131 | font: 12px 'Lucida Grande'; 132 | } 133 | 134 | .suite-section-title { 135 | margin-top: 10px; 136 | width: 80%; 137 | border-style: solid; 138 | border-width: 1px 0px 0px 0px; 139 | font-family: Times; 140 | font-size: 18px; 141 | font-weight: bold; 142 | } 143 | 144 | .suite-section-content { 145 | list-style-image: url(bullet_point.png); 146 | } 147 | 148 | .top-banner-root { 149 | position: absolute; 150 | top: 0; 151 | height: 45px; 152 | left: 0; 153 | right: 0; 154 | padding: 5px; 155 | margin: 0px 0px 5px 0px; 156 | background-color: #0066ff; 157 | font-family: Times; 158 | color: #fff; 159 | text-align: center; 160 | } 161 | 162 | .top-banner-title-font { 163 | font-size: 25px; 164 | } 165 | 166 | .test-name { 167 | font-family: 'Lucida Grande'; 168 | font-size: 16px; 169 | } 170 | 171 | .suite-icon { 172 | padding: 5px; 173 | float: right; 174 | height: 20; 175 | } 176 | 177 | .test-group { 178 | font: 20px 'Lucida Grande'; 179 | margin: 5px 5px 10px 5px; 180 | border-width: 0px 0px 1px 0px; 181 | border-style: solid; 182 | padding: 5px; 183 | } 184 | 185 | .test-group-name { 186 | font-weight: bold; 187 | } 188 | 189 | .method-in-group { 190 | font-size: 16px; 191 | margin-left: 80px; 192 | } 193 | 194 | table.google-visualization-table-table { 195 | width: 100%; 196 | } 197 | 198 | .reporter-method-name { 199 | font-size: 14px; 200 | font-family: monospace; 201 | } 202 | 203 | .reporter-method-output-div { 204 | padding: 5px; 205 | margin: 0px 0px 5px 20px; 206 | font-size: 12px; 207 | font-family: monospace; 208 | border-width: 0px 0px 0px 1px; 209 | border-style: solid; 210 | } 211 | 212 | .ignored-class-div { 213 | font-size: 14px; 214 | font-family: monospace; 215 | } 216 | 217 | .ignored-methods-div { 218 | padding: 5px; 219 | margin: 0px 0px 5px 20px; 220 | font-size: 12px; 221 | font-family: monospace; 222 | border-width: 0px 0px 0px 1px; 223 | border-style: solid; 224 | } 225 | 226 | .border-failed { 227 | border-top-left-radius: 10px 10px; 228 | border-bottom-left-radius: 10px 10px; 229 | border-style: solid; 230 | border-width: 0px 0px 0px 10px; 231 | border-color: #f00; 232 | } 233 | 234 | .border-skipped { 235 | border-top-left-radius: 10px 10px; 236 | border-bottom-left-radius: 10px 10px; 237 | border-style: solid; 238 | border-width: 0px 0px 0px 10px; 239 | border-color: #edc600; 240 | } 241 | 242 | .border-passed { 243 | border-top-left-radius: 10px 10px; 244 | border-bottom-left-radius: 10px 10px; 245 | border-style: solid; 246 | border-width: 0px 0px 0px 10px; 247 | border-color: #19f52d; 248 | } 249 | 250 | .times-div { 251 | text-align: center; 252 | padding: 5px; 253 | } 254 | 255 | .suite-total-time { 256 | font: 16px 'Lucida Grande'; 257 | } 258 | 259 | .configuration-suite { 260 | margin-left: 20px; 261 | } 262 | 263 | .configuration-test { 264 | margin-left: 40px; 265 | } 266 | 267 | .configuration-class { 268 | margin-left: 60px; 269 | } 270 | 271 | .configuration-method { 272 | margin-left: 80px; 273 | } 274 | 275 | .test-method { 276 | margin-left: 100px; 277 | } 278 | 279 | .chronological-class { 280 | background-color: #0ccff; 281 | border-style: solid; 282 | border-width: 0px 0px 1px 1px; 283 | } 284 | 285 | .method-start { 286 | float: right; 287 | } 288 | 289 | .chronological-class-name { 290 | padding: 0px 0px 0px 5px; 291 | color: #008; 292 | } 293 | 294 | .after, .before, .test-method { 295 | font-family: monospace; 296 | font-size: 14px; 297 | } 298 | 299 | .navigator-suite-header { 300 | font-size: 22px; 301 | margin: 0px 10px 5px 0px; 302 | background-color: #deb887; 303 | text-align: center; 304 | } 305 | 306 | .collapse-all-icon { 307 | padding: 5px; 308 | float: right; 309 | } 310 | -------------------------------------------------------------------------------- /test-output/testng-reports.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | $('a.navigator-link').click(function() { 3 | // Extract the panel for this link 4 | var panel = getPanelName($(this)); 5 | 6 | // Mark this link as currently selected 7 | $('.navigator-link').parent().removeClass('navigator-selected'); 8 | $(this).parent().addClass('navigator-selected'); 9 | 10 | showPanel(panel); 11 | }); 12 | 13 | installMethodHandlers('failed'); 14 | installMethodHandlers('skipped'); 15 | installMethodHandlers('passed', true); // hide passed methods by default 16 | 17 | $('a.method').click(function() { 18 | showMethod($(this)); 19 | return false; 20 | }); 21 | 22 | // Hide all the panels and display the first one (do this last 23 | // to make sure the click() will invoke the listeners) 24 | $('.panel').hide(); 25 | $('.navigator-link').first().click(); 26 | 27 | // Collapse/expand the suites 28 | $('a.collapse-all-link').click(function() { 29 | var contents = $('.navigator-suite-content'); 30 | if (contents.css('display') == 'none') { 31 | contents.show(); 32 | } else { 33 | contents.hide(); 34 | } 35 | }); 36 | }); 37 | 38 | // The handlers that take care of showing/hiding the methods 39 | function installMethodHandlers(name, hide) { 40 | function getContent(t) { 41 | return $('.method-list-content.' + name + "." + t.attr('panel-name')); 42 | } 43 | 44 | function getHideLink(t, name) { 45 | var s = 'a.hide-methods.' + name + "." + t.attr('panel-name'); 46 | return $(s); 47 | } 48 | 49 | function getShowLink(t, name) { 50 | return $('a.show-methods.' + name + "." + t.attr('panel-name')); 51 | } 52 | 53 | function getMethodPanelClassSel(element, name) { 54 | var panelName = getPanelName(element); 55 | var sel = '.' + panelName + "-class-" + name; 56 | return $(sel); 57 | } 58 | 59 | $('a.hide-methods.' + name).click(function() { 60 | var w = getContent($(this)); 61 | w.hide(); 62 | getHideLink($(this), name).hide(); 63 | getShowLink($(this), name).show(); 64 | getMethodPanelClassSel($(this), name).hide(); 65 | }); 66 | 67 | $('a.show-methods.' + name).click(function() { 68 | var w = getContent($(this)); 69 | w.show(); 70 | getHideLink($(this), name).show(); 71 | getShowLink($(this), name).hide(); 72 | showPanel(getPanelName($(this))); 73 | getMethodPanelClassSel($(this), name).show(); 74 | }); 75 | 76 | if (hide) { 77 | $('a.hide-methods.' + name).click(); 78 | } else { 79 | $('a.show-methods.' + name).click(); 80 | } 81 | } 82 | 83 | function getHashForMethod(element) { 84 | return element.attr('hash-for-method'); 85 | } 86 | 87 | function getPanelName(element) { 88 | return element.attr('panel-name'); 89 | } 90 | 91 | function showPanel(panelName) { 92 | $('.panel').hide(); 93 | var panel = $('.panel[panel-name="' + panelName + '"]'); 94 | panel.show(); 95 | } 96 | 97 | function showMethod(element) { 98 | var hashTag = getHashForMethod(element); 99 | var panelName = getPanelName(element); 100 | showPanel(panelName); 101 | var current = document.location.href; 102 | var base = current.substring(0, current.indexOf('#')) 103 | document.location.href = base + '#' + hashTag; 104 | var newPosition = $(document).scrollTop() - 65; 105 | $(document).scrollTop(newPosition); 106 | } 107 | 108 | function drawTable() { 109 | for (var i = 0; i < suiteTableInitFunctions.length; i++) { 110 | window[suiteTableInitFunctions[i]](); 111 | } 112 | 113 | for (var k in window.suiteTableData) { 114 | var v = window.suiteTableData[k]; 115 | var div = v.tableDiv; 116 | var data = v.tableData 117 | var table = new google.visualization.Table(document.getElementById(div)); 118 | table.draw(data, { 119 | showRowNumber : false 120 | }); 121 | } 122 | } 123 | -------------------------------------------------------------------------------- /test-output/testng-results.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /test-output/testng.css: -------------------------------------------------------------------------------- 1 | .invocation-failed, .test-failed { background-color: #DD0000; } 2 | .invocation-percent, .test-percent { background-color: #006600; } 3 | .invocation-passed, .test-passed { background-color: #00AA00; } 4 | .invocation-skipped, .test-skipped { background-color: #CCCC00; } 5 | 6 | .main-page { 7 | font-size: x-large; 8 | } 9 | 10 | --------------------------------------------------------------------------------