一 使用说明
整个Demo通过ANT 和 TestNG的结合使用, 同时引入 log4J 方便记录日志。
最后 通过 testng-results.xsl 文件将 TestNG 生成的报告美化。
Demo 运行4个百度搜索脚本,每一个脚本都会在 IE firefox Chorme 中分别执行一次。
Demo 下载地址:
开源测试交流群 群共享 :237754909
文件名 : ATS-WD.rar
115网盘下载
CSDN 下载
1. 安装 ANT
apache-ant-1.7.1-bin.zip
下载地址:
http://archive.apache.org/dist/ant/binaries/apache-ant-1.7.1-bin.zip
第一步 解压apache-ant-1.7.1-bin.zip到某个盘符,这里以C盘做为例。
第二步 将bin所在目录设置为path环境变量的值之一:C:\apache-ant-1.7.1\bin
第三步 设置环境变量ANT_HOME为:C:\apache-ant-1.7.1
第四步 打开Dos窗口,输入ant -version检查是否正确,如果正确如下图
C:\Documents and Settings\Administrator>ant -version
Apache Ant version 1.7.1 compiled on June 27 2008
2. 配置firefox的安装目录
修改 src目录下的 testng.xml 文件
<parameter name="firefox_dir"
value="D:/Program Files/Mozilla Firefox/Mozilla Firefox/firefox.exe" />
value 为 本地 firefox的安装目录
3. 执行脚本
第一种方法 :在eclipse中导入项目,运行 ant 脚本 build.xml
第二种方法 :用dos进入到ATS-WD的目录,直接输入命令 ant 即可。
4. 查看报告
通过ANT运行后的测试报告如下:
在线展示:
http://opentest.cn/test-output/Report.html
截图中的 饼图需要第三方插件支持,firefox和chrome可以正常显示。ie中不会显示。
在本地运行后,开打 test-output目录下的 Report.html 可以查看报告。
二 脚本设计
具体实现说明:
主要方法是使用 InternetExplorerDriver FirefoxDriver ChromeDriver 运行相同的测试脚本。
将每一种Driver 的启动写成 @Test 的方法,如下所示:
@Test
@Parameters( { "webSite" })
public void setUp_InternetExplorerDriver(String webSite) throws Exception {
//.\\lib\\IEDriverServer.exe 是lib目录下的驱动
System.setProperty("webdriver.ie.driver", ".\\lib\\IEDriverServer.exe");
DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,
true);
driver = new InternetExplorerDriver(capabilities);
baseUrl = webSite;
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
script(driver);
}
@Test
@Parameters( { "firefox_dir", "webSite" })
public void setUp_FirefoxDriver(String firefox_dir, String webSite)
throws Exception {
//firefox_dir 为本机 firefox安装目录
System.setProperty("webdriver.firefox.bin", firefox_dir);
driver = new FirefoxDriver();
baseUrl = webSite;
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
script(driver);
}
@Test
@Parameters( { "webSite" })
public void setUp_ChromeDriver(String webSite) throws Exception {
//.\\lib\\IEDriverServer.exe 是lib目录下的驱动
System.setProperty("webdriver.chrome.driver", "./lib/chromedriver.exe");
driver = new ChromeDriver();
baseUrl = webSite;
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
script(driver);
}
对于具体的测试脚本,写成一个新的方法,每一个driver都会调用该方法,如下所示:
private void script(WebDriver driver) throws Exception {
try {
logger.log("开始");
driver.get(baseUrl);
driver.findElement(By.id("kw")).clear();
driver.findElement(By.id("kw")).sendKeys("selenium");
driver.findElement(By.id("kw")).submit();
driver.findElement(By.linkText("下一页>")).click();
driver.findElement(By.linkText("下一页>")).click();
driver.findElement(By.linkText("下一页>")).click();
assertEquals("selenium", driver.findElement(By.id("kw"))
.getAttribute("value"));
logger.log("结束");
} catch (Exception e) {
throw e;
} finally {
tearDown();
}
}
三 ANT TestNG 配置
ANT 脚本文件为 根目录下 的 build.xml
主要任务是 : 编译脚本、调用TestNG执行脚本、将TestNG生成的报告美化。
TestNG 配置文件为 src目录下的 testng.xml
通过配置 testng.xml 可以到达 脚本 参数化 , 并发执行脚本的目的,如下所示
<suite name="WebDriver兼容性测试" thread-count="4" parallel="tests">
<parameter name="firefox_dir"
value="D:/Program Files/Mozilla Firefox/Mozilla Firefox/firefox.exe" />
<parameter name="webSite" value="http://www.baidu.com" />
thread-count="4" 为同时执行的线程数 parallel="tests" 为同时执行的测试级别
四 日志配置
将log4J 和 TestNG 中自带的日志功能结合。
在脚本中写入的日志会分别记录在以下地方:
1. 测试报告 -- Report.html
2. logs文件夹中的日志文件
3. 在控制台中打印
对于每一个 webdriver脚本 开始先初始化一下:
private static final SelLogger logger = SelLogger.getLogger(脚本名.class);
在脚本中 使用 :
logger.log("开始");
logger.log("结束");
五 目录结构
src 目录为 源码
lib 目录为 需要使用到的jar包文件,包括 ChromeDriver InternetExplorerDriver 需要使用的exe文件
logs 目录为 日志文件,在脚本中使用 logger.log("XXXXXX")
会记录到该文件夹中
classes 目录为 ANT 编译后的class文件夹,可删除
test-output 目录为 测试报告目录 TestNG 自动生成,可删除
分享到:
相关推荐
总的来说,`WebDriver+TestNG+ANT`的组合提供了一种高效、可扩展的解决方案,用于自动化Web应用的多浏览器兼容性测试。通过它们,开发者可以节省大量手动测试的时间,提高测试覆盖率,从而确保产品的质量和稳定性。...
【标题】"selenium+testng页面测试"涉及的核心知识点主要围绕自动化测试工具Selenium以及测试框架TestNG展开,同时也提到了报告生成和错误处理机制。以下是对这些知识点的详细阐述: 1. **Selenium**: Selenium 是...
"Ant + Selenium2 + TestNG" 的整合是自动化测试领域中一种常见的解决方案,它结合了构建工具、浏览器自动化工具和测试框架的优势。 Ant 是 Apache 软件基金会的一个项目,是一款强大的Java构建工具,它通过XML配置...
本示例"ant + Selenium2 + testNG 整合的相关demo"提供了一个综合性的自动化测试解决方案,它结合了三个强大的工具,以实现高效、可靠的Web应用测试。以下是关于这些工具以及它们整合使用的详细解释: 1. **Ant**:...
它允许测试人员编写可跨多个浏览器运行的脚本,确保软件在不同的环境下的兼容性和稳定性。在"多浏览器兼容"的场景下,Selenium2的强大功能得以体现,它支持如Chrome、Firefox、Internet Explorer、Edge以及Safari等...
【 WebDriver 自动化框架】是一种基于 Selenium WebDriver 的自动化测试解决方案,它结合了 Gradle 构建工具、Jenkins 持续集成服务器以及 TestNG 测试框架,为 Web 应用程序提供高效、可靠的测试自动化服务。...
1. Aaa平台测试项目:搭建ant+webdriver+testng+jenkins的自动化测试框架,并应用于企业saas平台的测试过程中。 2. 基于关键字驱动的自动化测试平台搭建项目:主导搭建以webdriver为核心的关键字驱动自动化测试平台...
- **Webdriver和Selenium 1代码兼容性整合**:解决新旧版本间的兼容性问题。 #### 四、进阶技术 - **深入学习Selenium WebDriver API**:全面掌握Selenium WebDriver提供的API接口及其使用方法。 - **制作Selenium ...
1. **UI 自动化测试项目**:在全球领先的旅行平台项目中,工程师使用 Java 设计自动化测试方案,采用 WebDriver 进行多浏览器自动化测试,使用 Maven、Jenkins、Git 和 TestNG 实现持续集成。此外,还利用 Excel ...
- **Selenium WebDriver**:一种常用的Web自动化测试框架,可以直接与浏览器交互,模拟用户的操作行为。 - **JUnit**:Java语言中的一个单元测试框架,常用于自动化测试中对代码进行验证。 - **Maven + TestNG**:...
- **单元测试框架集成**:利用Ant、Maven、JUnit或TestNG等工具,构建Selenium测试框架。 - **日志和报告框架**:记录测试过程和结果,提供详尽的测试报告。 - **关键字驱动框架**:通过关键词抽象测试步骤,降低...
在Java版的Selenium 2.47.1中,WebDriver已经成为主要的测试接口,因为它更直接、更强大,且支持更多的浏览器。 在 "selenium-2.47.1" 这个目录下,你可以找到以下关键组成部分: 1. **libs**:包含了Selenium ...
而Selenium Grid则可以实现在多个环境和浏览器上同时运行测试任务,提高测试效率。 在Selenium WebDriver的使用中,文档提到了对浏览器进行基本操作,例如打开浏览器、打开URL、浏览器导航、关闭浏览器以及获取当前...
配合Selenium使用TestNG,可以创建更加复杂的测试场景,满足更多测试需求。 ReportNG是TestNG的扩展工具,它可以生成更加友好和详细的测试报告。通过这个工具,可以很直观地看到测试的成功率、失败原因等信息,使得...
在选择Selenium IDE和Selenium RC结合使用时,可以利用IDE的录制功能快速生成测试脚本,然后通过RC执行这些脚本在不同浏览器上,实现跨浏览器测试。同时,结合Java和JUnit,可以进行自动化测试并生成详细的测试报告...
总之,Selenium2是一个强大的自动化测试工具,它提供了丰富的API和多语言支持,帮助测试人员高效地进行Web应用的功能和兼容性测试。通过理解和使用这些文件,开发者可以构建、维护和执行一套完整的Selenium测试框架...
SELENIUM WebDriver通过各种浏览器驱动实现浏览器控制,而SELENIUM IDE是基于Firefox的录制回放工具。 SELENIUM WebDriver提供了多种语言的绑定,包括Java、Python、C#、Ruby等,便于开发者根据项目需要选择合适的...
2. **使用testng.xml运行冒烟测试**:通过配置testng.xml文件来运行一组冒烟测试用例。 3. **使用Excel运行功能测试**:根据Excel表格中的数据驱动测试用例的执行。 #### 十、安装项目到Eclipse 这部分文档似乎...