Selenium2(webdriver)入门之TestNG的安装与简单使用

简介:

 上一篇已经搭建好了Eclipse+selenium2的环境,这一篇主要记录下TestNG的使用。

一、在Eclipse中安装TestNG

1、打开eclipse-->help-->Install New Software-->Add,输入Name和Location后,点击OK。

TestNG官方下载地址:http://testng.org/doc/download.html

2、然后选中TestNG,单击Next安装

3、安装好TestNG后重启eclipse查看是否安装好,Help-->About Eclipse-->Installation Details,如图:

二、使用TestNG来运行单个测试案例:

1、新建TestHelloWorldTestNG.java类,目录结构如下:

2、测试代码: 

复制代码
 1 package com.selenium;
 2 
 3 import org.openqa.selenium.By;
 4 import org.openqa.selenium.WebDriver;
 5 import org.openqa.selenium.WebElement;
 6 import org.openqa.selenium.firefox.*;
 7 import org.testng.annotations.*;
 8 import org.testng.Assert;
 9 
10 
11 public class TestHelloWorldTestNG {
12 
13     WebDriver driver;
14     @Test
15     public void helloWorld() throws Exception {        
16         //如果火狐浏览器没有默认安装在C盘,需要制定其路径
17         //System.setProperty("webdriver.firefox.bin", "D:/Program Files/Mozilla firefox/firefox.exe"); 
18         driver = new FirefoxDriver();
19         driver.get("http://www.baidu.com/");
20         
21         driver.manage().window().maximize();
22         
23         WebElement txtbox = driver.findElement(By.name("wd"));
24         txtbox.sendKeys("Glen");
25         
26         WebElement btn = driver.findElement(By.id("su"));
27         btn.click();
28                 
29         String expectedTitle = "Glen_百度搜索";
30         String actualTitle = driver.getTitle();
31         
32         Assert.assertEquals(actualTitle,expectedTitle);            
33     }
34     
35     @AfterTest
36     public void tearDown(){
37         driver.quit();
38     }
39 
40 }
复制代码

3、然后右键Run As-->TestNG Test,运行结果如下:  

复制代码
[TestNG] Running:
  C:\Users\Administrator\AppData\Local\Temp\testng-eclipse-332204777\testng-customsuite.xml

PASSED: helloWorld

===============================================
    Default test
    Tests run: 1, Failures: 0, Skips: 0
===============================================


===============================================
Default suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================

[TestNG] Time taken by [FailedReporter passed=0 failed=0 skipped=0]: 1 ms
[TestNG] Time taken by org.testng.reporters.jq.Main@15d56d5: 34 ms
[TestNG] Time taken by org.testng.reporters.JUnitReportReporter@19106c7: 11 ms
[TestNG] Time taken by org.testng.reporters.EmailableReporter2@1632c2d: 4 ms
[TestNG] Time taken by org.testng.reporters.XMLReporter@cdedfd: 11 ms
[TestNG] Time taken by org.testng.reporters.SuiteHTMLReporter@13caecd: 22 ms
复制代码

 

、使用TestNG来运行多个测试案例:

1、增加一个失败的测试类TestHelloWorldTestNG_Fail.java:

复制代码
 1 package com.selenium;
 2 
 3 import org.openqa.selenium.By;
 4 import org.openqa.selenium.WebDriver;
 5 import org.openqa.selenium.WebElement;
 6 import org.openqa.selenium.firefox.*;
 7 import org.testng.annotations.*;
 8 import org.testng.Assert;
 9 
10 
11 public class TestHelloWorldTestNG_Fail {
12 
13     WebDriver driver;
14     @Test
15     public void helloWorld() throws Exception {        
16         //如果火狐浏览器没有默认安装在C盘,需要制定其路径
17         //System.setProperty("webdriver.firefox.bin", "D:/Program Files/Mozilla firefox/firefox.exe"); 
18         driver = new FirefoxDriver();
19         driver.get("http://www.baidu.com/");
20         
21         driver.manage().window().maximize();
22         
23         WebElement txtbox = driver.findElement(By.name("wd"));
24         txtbox.sendKeys("Glen");
25         
26         WebElement btn = driver.findElement(By.id("su"));
27         btn.click();
28                 
29         String expectedTitle = "Glen_百度";
30         String actualTitle = driver.getTitle();
31         
32         Assert.assertEquals(actualTitle,expectedTitle);
33     }
34     
35     @AfterTest
36     public void tearDown(){
37         driver.quit();
38     }
39 
40 }
复制代码

 2、在项目下新建一个Suite.xml文件:  

复制代码
<suite name="seleniumcn.cn.demo">    
    <test name="test_seleniumcn" >
        <classes>
            <class name="com.selenium.TestHelloWorldTestNG"/>
            <class name="com.selenium.TestHelloWorldTestNG_Fail"/>                
        </classes>
    </test>  
</suite>
复制代码

3、目录结构:

4、右键Suite.xml文件,Run As->TestNG Suite,如此就会运行suite.xml文件中所有的案例。  

复制代码
[TestNG] Running:
  F:\workspace\WebDriverDemo\Suite.xml

===============================================
seleniumcn.cn.demo
Total tests run: 2, Failures: 1, Skips: 0
===============================================
复制代码

5、右键WebDriverDemo刷新项目,目录中会新增加一个test.output文件夹,打开 index.html可以看一个简单的报告。

目录:

报告:

 


本文转自贺满博客园博客,原文链接:http://www.cnblogs.com/puresoul/p/3483092.html,如需转载请自行联系原作者。


目录
相关文章
|
11天前
|
Web App开发 数据采集 前端开发
基于Python的Selenium详解:从入门到实践
基于Python的Selenium详解:从入门到实践
128 0
|
8月前
|
Web App开发 JavaScript 前端开发
Window 10 安装python 3.7 + selenium (附最新安装包)
Window 10 安装python 3.7 + selenium (附最新安装包)
180 0
|
9月前
|
Web App开发 JavaScript
2021最新Selenium真正绕过webdriver检测
2021最新Selenium真正绕过webdriver检测
207 0
|
11天前
|
Web App开发 IDE 测试技术
Selenium WebDriver使用
Selenium WebDriver使用
9 1
|
11天前
|
Java 测试技术 持续交付
深入理解与应用Selenium WebDriver进行自动化测试
【4月更文挑战第25天】 在现代软件开发过程中,自动化测试已成为确保产品质量和加速市场发布的关键步骤。Selenium WebDriver作为业界广泛采用的自动化测试工具之一,提供了一种灵活且高效的方式来模拟用户与Web应用程序交互。本文将探讨Selenium WebDriver的核心概念、架构以及实际应用中的技巧和最佳实践。通过深入分析其工作原理及常见问题解决方案,旨在帮助测试工程师提升测试效率,确保测试结果的准确性和可靠性。
13 1
|
11天前
|
Java 测试技术 定位技术
《手把手教你》系列技巧篇(二十三)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换下卷(详细教程)
【4月更文挑战第15天】本文介绍了如何使用Selenium进行浏览器窗口切换以操作不同页面元素。首先,获取浏览器窗口句柄有两种方法:获取所有窗口句柄的集合和获取当前窗口句柄。然后,通过`switchTo().window()`方法切换到目标窗口句柄。在项目实战部分,给出了一个示例,展示了在百度首页、新闻页面和地图页面之间切换并输入文字的操作。最后,文章还探讨了在某些情况下可能出现的问题,并提供了一个简单的本地HTML页面示例来演示窗口切换的正确操作。
54 0
|
11天前
|
Web App开发 iOS开发 Python
Selenium安装与配置
Selenium是一个用于Web应用程序测试的自动化工具。它直接运行在浏览器中,模拟真实用户的操作。Selenium支持多种主流浏览器,如IE、Mozilla Firefox、Safari、Google Chrome、Opera和Edge等。在爬取数据的时候对于需要登录后才能爬取的情况往往可以利用Selenium来进行模拟登录,登录后进行数据的获取。这里先介绍Selenium的安装与配置,实现通过python来驱动浏览器进行操作。
37 2
|
11天前
|
Web App开发 Linux iOS开发
如何安装 Selenium 的 Chrome driver
如何安装 Selenium 的 Chrome driver
124 0
|
9月前
|
Web App开发 Java 测试技术
selenium-介绍和安装
selenium-介绍和安装
|
8月前
|
Web App开发 Serverless Linux
以 selenium + chromium 为例在函数计算中安装复杂依赖
以 selenium + chromium 为例在函数计算中安装复杂依赖
608 0