Framework for Selenium Automation Using Modular Design Pattern
Selenium Modular Framework using Testng. Classes to handle the web components are present and can be used directly in the code.
The framework has following features
Extend your test class from InitWebdriver class.
package com.modular.framework;
import org.testng.Assert;
import org.testng.annotations.Test;
import com.modular.framework.helper.InitWebdriver;
import com.modular.framework.helper.Browser.BrowserHelper;
import com.modular.framework.helper.Javascript.JavaScriptHelper;
/**
* @author rsr
*
* Jul 27, 2016
*/
public class TestBrowserWindow extends InitWebdriver {
@Test
public void testBrowser() {
Driver.get("http://www.gmail.com");
JavaScriptHelper.executeScript("window.open('http://www.w3schools.com', '', 'width=100, height=100');");
BrowserHelper.SwitchToWindow(1);
BrowserHelper.browserMaximize();
Assert.assertNotNull(Driver.getTitle());
BrowserHelper.switchToParentWindow();
Assert.assertNotNull(Driver.getTitle());
BrowserHelper.switchToParentWithChildClose();
Assert.assertNotNull(Driver.getTitle());
}
}
<suite name="Suite">
<listeners>
<listener
class-name="com.modular.framework.liteners.reportlistener.ExcelReportListener" ></listener>
<listener
class-name="com.modular.framework.liteners.reportlistener.ExtentReportListener" ></listener>
</listeners>
<test name="Test - 1">
<classes>
<class name="com.modular.framework.TestBrowserWindow" ></class>
</classes>
</test>
</suite>
mvn clean generate-sources test