![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Selenium 自动化测试
文章平均质量分 50
tiantangyouxing
这个作者很懒,什么都没留下…
展开
-
testng.xml的格式
[b]简单说明:[/b]测试代码中在需要测试的方法前加上注释符,例如:[code="java"]package com.yiban.test;public class test2 { @Parameters({ "first-name" }) //参数 @Test(groups={"g1","g2"}) //组名 public void test001() thr...原创 2014-07-21 09:39:27 · 201 阅读 · 0 评论 -
XPATH定位
XPATH是一门在XML文档中查找信息的语言,XPATH可用来在XML文档中对元素和属性进行遍历,主流的浏览器都支持XPATH,因为HTML页面在DOM中表示为XHTML文档。XPATH语言是基于XML文档的树结构,并提供了浏览树的能力,通过多样的标准来选择节点。Selenium WebDriver支持使用XPATH表达式来定位元素。XPATH和CSS选择器最重要的区别是XPATH可以...原创 2014-04-22 10:02:28 · 105 阅读 · 0 评论 -
5.8 弹出对话框的处理
JavaScript共有3种弹出对话框框Alert、Confirmation以及Prompt。Alert:提示对话框,只有一个“确定”按钮(对应的JavaScript代码为“alert('这是Alert');”)Confirmation:确认对话框,需要选择(对应的JavaScript代码为“confirm('这是Confirmation');”)。Prompt:输入对话框,需要输...原创 2014-04-22 10:15:17 · 138 阅读 · 0 评论 -
数据驱动-Excel
我们在页面的测试中,会发现很多输入框的测试,这些输入框中我们需要各种不同类型的数据来测试程序是否能正确处理,因此会涉及到一个“参数化”的过程.简单介绍Selenium中如何利用Excel实现“参数化“导入Feed4testng相关的包, 继承FeedTest这个类,然后把数据写入到Excel,直接读Excel,脚本和数据分离,而且也不需要用JAVA写读取Excel的代码,相当方便用...原创 2014-04-22 10:21:03 · 175 阅读 · 0 评论 -
定位页面表格和单元格
在处理表格时,我们可以通过By类中的一些方法快速有效的来定位表格的行和单元格。笔者曾经得到一个需求,说是要来获取如下图所示的内容(注:百度只是我做的一个例子):[code="java"]package com.mytest; import java.util.List;import java.util.concurrent.TimeUnit; import org....原创 2014-04-25 13:05:53 · 159 阅读 · 0 评论 -
日志记录
日志记录可结合上一专题的报告共同生成,日志中可记录自动化测试过程中详细日志信息.由日志中可以看到详细的报错时间,报错类,报错行,报错内容.[code="java"]package ts.dw.logic; import java.io.File;import java.io.FileWriter;import java.io.IOException;import java....原创 2014-04-25 13:06:09 · 71 阅读 · 0 评论 -
5.9 浏览器多窗口处理
在进行Web测试时,还会弹出一些子窗口,并且在多个窗口之间进行切换操作。例如,在百度首页,单击“注册”超级链接,弹出一个标题为“百度账号注册”新页面。接下来以百度账号注册窗口为例,讨论如何测试多个窗口之间的切换。[b]1 WindowHandles/getWindowHandles()[/b] 要在多个窗口之间进行切换,首先必须获取每个窗口的唯一标识符(句柄),通过Window...原创 2014-04-25 13:06:21 · 155 阅读 · 0 评论 -
报告生成
一般我们写的脚本可能覆盖了较多的测试项,而且可能持续运行了一段时间,本文将教各位实现在执行完自动化脚本后自动生成一份美化报告[code="自动生成报告类"]package ts.dw.logic; import java.io.BufferedWriter;import java.io.FileWriter;import java.text.DateFormat;imp...原创 2014-04-25 13:06:44 · 190 阅读 · 0 评论 -
截屏功能
[b]1、使用webdriver封装的API函数截图[/b][code="java"]//截屏功能,并以当前时间戳为文件名保存在指定目录下 public void takeScreenShot(){ String dir_name = "screenshot"; //定义一个截图存放的目录名,此处为当前目录的screenshot目录下 //判断目录是否存在 if(!(n...原创 2014-04-25 13:07:26 · 124 阅读 · 0 评论 -
CSS选择器定位元素详解
CSS是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS选择器有如下几种方式定位页面元素:[b]a、使用绝对路径定位元素(不推荐)[/b]例:[code="java"]WebElement ele = driver.findElement(By.cssSelector("html body div form in...原创 2014-04-22 09:58:34 · 299 阅读 · 0 评论 -
元素定位
Selenium WebDriver提供一个先进的技术来定位web页面元素。Selenium功能丰富的API提供了多个定位策略:ID、Name、Xpath、CSS选择器等等。我们也可以执行自定义的定位策略来定位元素。善于使用浏览器工具来检查页面元素结构无论你使用哪种浏览器测试,都有一款合适的工具辅助你分析页面1、Firefox的Firebug插件2、Chrome内置的开发者工具...原创 2014-04-22 09:54:47 · 97 阅读 · 0 评论 -
5.7 获取页面及页面元素的内容
[b]1 Title/getTitle()[/b]Title属性(适用于C#)和getTitle()方法(适用于Java)用于返回当前网页的标题。[code="java"]WebDriver driver = new FirefoxDriver();Navigation navigation = driver.navigate();navigation.to(http://www...原创 2014-04-21 11:46:34 · 172 阅读 · 0 评论 -
对下拉框进行操作
对下拉框进行操作时首先要定位到这个下拉框,new 一个Selcet对象,然后对它进行操作。 [code="java"]Select select = new Select(webElement); selectAge.selectByIndex(2);//通过下拉列表中选项的索引选中第二项 selectShen.selectByValue("上海");//通过下拉列表...原创 2014-07-22 17:40:04 · 187 阅读 · 0 评论 -
使用Selenium IDE 常见的问题
1.启动异常(Table view is not availiable with this format) 这种情况偶尔出现在selenium-IDE初次启动时,只需要关闭并重启selenium-IDE即可。2.试图使用File=>open来打开测试案例集文件时,出现Alert提示:error loading test case:no command found. 正确方法是使...原创 2014-03-14 17:26:42 · 1378 阅读 · 0 评论 -
WebDriver 显示等待和隐式等待
等待是在执行自动化任务一段时间后才继续下一步。[b]显示等待[/b]一个显示等待是你定义的一段代码,用于等待某个条件发生然后再继续执行后续代码。最坏的一个例子当属Thread.sleep(),它用一段明确的等待时间作为条件。WebDriver有一些方便的方法可以帮助你写出按需等待的代码。WebDriverWait结合ExpectedCondition便是其中一种。java[...原创 2014-03-14 17:53:14 · 320 阅读 · 1 评论 -
远程WebDriver
[b]截屏[/b][code="java"]import java.io.File; import java.net.URL; import org.openqa.selenium.OutputType; import org.openqa.selenium.TakesScreenshot; import org.openqa.selenium.WebDriver; i...原创 2014-03-14 18:00:22 · 211 阅读 · 0 评论 -
安装并引用Selenium 2
Selenium 2的下载地址为:http://seleniumhq.org/download/,位于“Selenium Client Drivers”栏,选择使用的编程语言版本下载即可,这些包中同时包含了Selenium 1和Selenium 2的文件。JDK的下载地址为:http://www.oracle.com/technetwork/java/javase/downloads/inde...原创 2014-04-21 10:56:42 · 149 阅读 · 0 评论 -
5.3 选择浏览器开始测试—Selenium 2
[b]1. 选择浏览器开始测试[/b]要开始测试,首先得创建Selenium的实例,也就是对应的Driver。如果需要对Firefox进行测试,则需要用到FirefoxDriver,代码如程序清单所示。[code="java"]packageProject1;importorg.openqa.selenium.*;//注意这里导入了selenium包中内容importorg.o...原创 2014-04-21 11:10:07 · 65 阅读 · 0 评论 -
5.5 查找条件对象By
在导航到对应页面后,就可以对页面上的元素进行操作了。然而,在进行操作之前,必须要找到相应的元素。如何才能找到这些元素呢?需要使用查找条件对象“By”进行查找。根据HTML的不同,查找条件也各有不同。例如,可以按HTML元素的ID进行查找,也可以按Name属性查找,或者直接按HTML标签查找,接下来将列举常用的查找条件。[b]1 Id(idToFind)[/b][code="java"...原创 2014-04-21 11:29:42 · 322 阅读 · 0 评论 -
5.6 操作页面元素WebElement
在Selenium 1中,直接通过Selenium的各种方法来操作页面元素,但在Selenium 2中则不同,需要通过By对象先定位到对应的页面元素,然后调用这个页面元素的相关方法来进行操作。可以通过WebDriver的FindElement()方法获得WebElement的对象实例。在获取页面元素后,就可以对该页面元素进行各种操作了。[b]1 Click()[/b]Clic...原创 2014-04-21 11:40:15 · 405 阅读 · 0 评论 -
数据驱动
相同的测试脚本使用不同的测试数据来执行,测试数据和测试行为进行了完全的分离,这样的测试脚本设计模式称为数据驱动。1)编写测试脚本,脚本需要支持程序对象,文件或者数据库读入测试数据2)将测试脚本使用的测试数据存入程序对象,文件,或者数据库等外部介质中3)运行脚本,循环调用存储在外部介质中的测试数据4)验证所有的测试结果是否符合期望的结果1.TestNG dataprovi...原创 2016-07-26 11:10:11 · 111 阅读 · 0 评论