`

testng和junit搭配selenium

 
阅读更多
  testng和junit可以搭配selenium来做动态提供数据源的测试,先来看junit的,大家的场景都是提供不同关键字,然后检索google,

junit的
  

import static org.junit.Assert.fail;
 
import com.thoughtworks.selenium.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
 
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriverBackedSelenium;
import org.openqa.selenium.firefox.FirefoxDriver;
 
import java.util.Arrays;
import java.util.List;
 
@RunWith(Parameterized.class)
public class JunitGoogleBase {
  public Selenium selenium;
  WebDriver driver;
  private String testData;
   
  public JunitGoogleBase(String testData){
   this.testData=testData;
  }
   
  @Parameters
   public static List< Object[]> data() {
    return Arrays.asList(new Object[][]{{"testing"},{"Software testing"}});
   }
 
  @Before
  public void setUp() throws Exception {
   driver= new FirefoxDriver();
   selenium = new WebDriverBackedSelenium(driver, "http://www.google.com"); 
   selenium.open("http://www.google.com");
  }
 
  @Test
  public void testSearch() throws Exception {
   selenium.open("/");
   selenium.type("id=lst-ib", testData);
   selenium.click("//input[@value='Google Search']");
   for (int second = 0;; second++) {
    if (second >= 60) fail("timeout");
    try { if (selenium.isElementPresent("link=Software testing - Wikipedia, the free encyclopedia")) break; } catch (Exception e) {}
    Thread.sleep(1000);
   }
   selenium.click("link=Software testing - Wikipedia, the free encyclopedia");
   for (int second = 0;; second++) {
    if (second >= 60) fail("timeout");
    try { if (selenium.isTextPresent("Software testing")) break; } catch (Exception e) {}
    Thread.sleep(1000);
   }
    
  }
 
  @After
  public void tearDown() throws Exception {
   selenium.stop();
    
  }
}


TESTNG的
  
import com.thoughtworks.selenium.*;
 
 
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriverBackedSelenium;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
 
 
 
public class TestNGGoogleBase {
  public Selenium selenium;
  WebDriver driver;
   
  @DataProvider(name="parameter")
   public static Object[][] data() {
    return new Object[][]{{"testing"},{"Software testing"}};
   }
 
  @BeforeMethod
  public void setUp() throws Exception {
   driver= new FirefoxDriver();
   selenium = new WebDriverBackedSelenium(driver, "http://www.google.com"); 
   selenium.open("http://www.google.com");
  }
 
  @Test(dataProvider="parameter")
  public void testSearch(String testData) throws Exception {
   selenium.open("/");
   selenium.type("id=lst-ib", testData);
   selenium.click("//input[@value='Google Search']");
   for (int second = 0;; second++) {
    if (second >= 60) Assert.fail("timeout");
    try { if (selenium.isElementPresent("link=Software testing - Wikipedia, the free encyclopedia")) break; } catch (Exception e) {}
    Thread.sleep(1000);
   }
   selenium.click("link=Software testing - Wikipedia, the free encyclopedia");
   for (int second = 0;; second++) {
    if (second >= 60) Assert.fail("timeout");
    try { if (selenium.isTextPresent("Software testing")) break; } catch (Exception e) {}
    Thread.sleep(1000);
   }
  }
 
  @AfterMethod
  public void tearDown() throws Exception {
   selenium.stop();
  }
  


  
分享到:
评论

相关推荐

    全栈自动化测试实战 基于testng,httpclient,selenium.appium

    本书以testng、httpclient和selenium.appium为技术核心,详细介绍了如何进行端到端的自动化测试。下面将分别阐述这些工具在自动化测试中的作用及其相关知识点。 TestNG是一款强大的测试框架,它继承了JUnit的优点并...

    Selenium终极自动化测试环境搭建【Eclipse+Junit+TestNG+Python】

    在搭建 Selenium 终极自动化测试环境时,需要安装 JDK、Eclipse、Junit、TestNG 和 Python 等软件。其中,JDK 是 Java 开发工具包,Eclipse 是一个集成开发环境,Junit 和 TestNG 是测试框架,Python 是一种流行的...

    java+selenium+maven+testng自动化测试框架实例(实际项目)

    **TestNG**: TestNG是另一个流行的测试框架,提供了比JUnit更高级的功能,如并发测试、参数化测试、测试套件和报告。TestNG可以和Selenium结合使用,用于组织和运行测试用例,以及生成详细的测试报告。它支持注解,...

    Selenium+Eclipse+Junit+TestNG.docx

    本文将详细介绍如何使用 Selenium+Eclipse+Junit+TestNG 搭建自动化测试框架,包括安装 JDK、Eclipse、Selenium IDE、Selenium RC、IEDriverServer、Selenium Client Drivers、Firefox、Firebug、Xpath checker 和 ...

    终极自动化测试环境搭建:Selenium+Eclipse+Junit+TestNG+Python

    终极自动化测试环境搭建:Selenium+Eclipse+Junit+TestNG+Python 本文旨在指导读者搭建一个终极自动化测试环境,利用 Selenium+Eclipse+Junit+TestNG+Python 实现自动化测试。下面是详细的搭建过程: 一、安装 JDK...

    testNG+selenium相关jar包

    TestNG是一款强大的测试框架,它在JUnit的基础上进行了很多改进,提供了更多高级功能,如并行测试、参数化、测试套件和报告等。而Selenium则是一个用于Web应用程序测试的工具,支持多种浏览器和编程语言,允许测试...

    selenium+testng页面测试

    【标题】"selenium+testng页面测试"涉及的核心知识点主要围绕自动化测试工具Selenium以及测试框架TestNG展开,同时也提到了报告生成和错误处理机制。以下是对这些知识点的详细阐述: 1. **Selenium**: Selenium 是...

    selenium3+java+Maven+TestNG+ReportNG+Excel自动化参数测试框架源码

    这是一个基于Selenium 3、Java、Maven、TestNG、ReportNG和Excel的自动化测试框架。这个框架结合了多种强大的工具和技术,旨在提高软件测试的效率和准确性,尤其是在Web应用程序的自动化测试领域。 1. **Selenium 3...

    Selenium+TestNG 框架的WEB自动化源码

    Selenium和TestNG是两种广泛应用于Web自动化测试的开源工具,它们在软件开发流程中扮演着重要的角色。Selenium是一个强大的浏览器自动化框架,支持多种编程语言,如Java、Python、C#等,允许开发者编写脚本来模拟...

    Selenium+Eclipse+Junit+TestNG自动化学习笔记

    ### Selenium+Eclipse+JUnit+TestNG自动化测试学习笔记 #### 一、环境搭建与配置 ...通过上述步骤和技巧,可以有效地搭建起基于Selenium+Eclipse+JUnit+TestNG的自动化测试环境,并实现高效的Web应用测试。

    Selenium2.0+ Maven+TestNG

    这段代码定义了项目的构建属性,包括源代码编码、编译插件以及Selenium和TestNG的依赖。 **构建与导入Eclipse** 1. 在`test`文件夹下,创建一个批处理文件`build.bat`,内容如下: ```batch @echo off setlocal ...

    ant + Selenium2 + testNG 整合的相关例子

    1. **构建脚本**:一个XML配置文件(通常是build.xml),定义了Ant任务,包括编译Java源代码、生成Selenium和TestNG的测试类、运行测试并生成报告等。 2. **测试类**:使用Java编写的Selenium WebDriver和TestNG...

    Selenium终极自动化测试环境搭建(一):Selenium+Eclipse+Junit+TestNG.docx

    在 Eclipse 中,需要创建一个新的 Java 项目,添加 Junit 和 Selenium 相关的依赖项,然后编写测试用例来执行自动化测试。 Selenium 终极自动化测试环境搭建需要完成以上七个步骤,包括安装 JDK、下载 Eclipse 和 ...

    testNG_ejecutarPruebas_selenium:乌纳尔·帕古纳·Kong特拉

    标题 "testNG_ejecutarPruebas_selenium:乌纳尔·帕古纳·Kong特拉" 提到的是一个测试项目,它结合了TestNG和Selenium用于执行自动化测试。TestNG是一个强大的测试框架,而Selenium是用于Web应用程序自动化测试的...

    Selenium+TestNG自动化测试

    TestNG是另一个流行的自动化测试框架,它增强了JUnit的功能,提供了更灵活的测试配置,如并行测试、分组测试和依赖管理。Selenium与TestNG结合使用,能够构建出高效且可扩展的自动化测试体系。 总结来说,Selenium+...

    selenium 用于web测试

    4. TestNG/JUnit:Selenium通常与TestNG或JUnit这样的测试框架结合使用,来组织和运行测试用例,提供断言功能以及测试报告。 5. Grid:Selenium Grid用于分布式测试,它可以同时在多台机器上运行测试,大大提高了...

    seleniumFramework:使用Java,Maven,TestNG和POM的selenium Framework项目

    【标题】"seleniumFramework:使用Java,Maven,TestNG和POM的selenium Framework项目"是一个基于Java编程语言的自动化测试框架,它利用了Selenium WebDriver进行Web应用程序的功能测试。这个框架集成了Maven作为...

Global site tag (gtag.js) - Google Analytics