项目作者: rahulrathore44

项目描述 :
Framework for Selenium Automation Using Modular Design Pattern
高级语言: Java
项目地址: git://github.com/rahulrathore44/ModularFramework.git
创建时间: 2016-07-20T14:32:32Z
项目社区:https://github.com/rahulrathore44/ModularFramework

开源协议:

下载


Modular Framework

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

  1. Modular Design
  2. Maven based framework
  3. Log4j enabled for logging
  4. Report Generation (Excel & Extent reports)
  5. Helper class to handle web component such as (Button,Link etc)
  6. Centralized Configuration (Using Properties file)
  7. POM
  8. Support reading the data form Excel and Database.

Here is the basic code:

Extend your test class from InitWebdriver class.

  1. package com.modular.framework;
  2. import org.testng.Assert;
  3. import org.testng.annotations.Test;
  4. import com.modular.framework.helper.InitWebdriver;
  5. import com.modular.framework.helper.Browser.BrowserHelper;
  6. import com.modular.framework.helper.Javascript.JavaScriptHelper;
  7. /**
  8. * @author rsr
  9. *
  10. * Jul 27, 2016
  11. */
  12. public class TestBrowserWindow extends InitWebdriver {
  13. @Test
  14. public void testBrowser() {
  15. Driver.get("http://www.gmail.com");
  16. JavaScriptHelper.executeScript("window.open('http://www.w3schools.com', '', 'width=100, height=100');");
  17. BrowserHelper.SwitchToWindow(1);
  18. BrowserHelper.browserMaximize();
  19. Assert.assertNotNull(Driver.getTitle());
  20. BrowserHelper.switchToParentWindow();
  21. Assert.assertNotNull(Driver.getTitle());
  22. BrowserHelper.switchToParentWithChildClose();
  23. Assert.assertNotNull(Driver.getTitle());
  24. }
  25. }

Use the testng.xml file to run the test cases

  1. <suite name="Suite">
  2. <listeners>
  3. <listener
  4. class-name="com.modular.framework.liteners.reportlistener.ExcelReportListener" ></listener>
  5. <listener
  6. class-name="com.modular.framework.liteners.reportlistener.ExtentReportListener" ></listener>
  7. </listeners>
  8. <test name="Test - 1">
  9. <classes>
  10. <class name="com.modular.framework.TestBrowserWindow" ></class>
  11. </classes>
  12. </test>
  13. </suite>

To see this whole thing running simply checkout this project and run this command:

mvn clean generate-sources test