转自:http://blog.csdn.net/JavaMan_chen/archive/2008/03/14/2183757.aspx
前两天在一本《程序员》杂志上接触了selenium这个框架,说是可以和Junit整合进行web界面测试,将各模块的功能自动的展现个客户,这无疑吸引了我。花了两天的时间研究了一下。
selenium 大致可分为两个版本Selenium Core和SeleniumRC,第一种是以网页的形式编写TestCase,而后一种用Junit,并且支持多种语言,个人表较喜欢后一种,可以和 ANT整合用于自动化测试。本人也是初步使用,学的过程中主要结合API和编写好的用例说明,具体的情况可在问官方网站进行了解
http://www.openqa.org/selenium/
seleniumRC下载地址:
http://selenium-rc.openqa.org/download.jsp运行测试前在DOS命令下启动selenium-server.jar(无需放到环境目录下):java -jar selenium-server.jar
具体测试用例如下:主要用于form表单的提交测试
package org.selenium.test;
import com.thoughtworks.selenium.SeleneseTestCase;
public class TestSelenium extends SeleneseTestCase ...{
public void testSelenium() throws Throwable ...{
try ...{
// 每个测试步骤间隔1秒
selenium.setSpeed("1000");
// 打开测试的网页
selenium.open("http://localhost:8080/TestProject/form/selenium.jsp");
// 获取标题
assertEquals("selenium", selenium.getTitle());
assertTrue(selenium.isElementPresent("xpath=//input[@name='username']"));
// 向input中type为text的栏位键入信息
selenium.type("xpath=//input[@name='username']", "chenxu");
selenium.type("xpath=//input[@name='password']", "password");
// 选择下拉列表
selenium.select("xpath=//select[@name='select']", "index=1");
assertEquals("1", selenium.getSelectedIndex("xpath=//select[@name='select']"));
assertEquals("chenxu", selenium.getSelectedValue("xpath=//select[@name='select']"));
// 勾选或去选check/radio
selenium.check("xpath=//input[@id='check2']");
//获取name为check栏位的id属性
selenium.getAttribute("check@id");
assertTrue(selenium.isChecked("xpath=//input[@id='check2']"));
selenium.uncheck("xpath=//input[@id='check2']");
assertFalse(selenium.isChecked("xpath=//input[@id='check2']"));
assertEquals("chenxu", selenium.getValue("xpath=//select[@name='select']"));
// 点击提交按钮
selenium.click("xpath=//input[@type='submit']");
// 等待页面载入
selenium.waitForPageToLoad("3000");
// 获取新页面标题
assertEquals("success", selenium.getTitle());
//确保测试中没有错误出现
checkForVerificationErrors();
} finally ...{
//清空错误信息列表
clearVerificationErrors();
}
}
}
注:1,这里的ElementLocator使用xpath方式,表达式看上去复杂,其实并不难理解,如"xpath=//input[@id= 'check']"xpath=//是固定模式,input指form表单的input栏位,id自然就是input中的id属性了。selenium可 以使用多种元素定位方法(ElementLocator)具体方法可查阅API.
2,这里的测试类继承了SeleneseTestCase,该类继承至Junit的TestCase,其setup()和teardown()方法用于初始化和终止selenium服务,同时覆盖了一些断言(assert)方法。
分享到:
相关推荐
2. 数据驱动测试(DDT):这是一种测试方法,通过使用外部数据源(如Excel、CSV文件)来控制测试用例的数据,实现测试脚本的复用和灵活扩展。14-数据驱动ddt.pptx 和 selenium提升第六课-数据驱动.pptx 可能详细介绍...
这个课件主要涵盖了Selenium的基础知识,包括Selenium IDE和Selenium RC的安装与初步使用。 **Selenium IDE** Selenium IDE(集成开发环境)是Selenium框架的一部分,它是一个基于Firefox的插件,提供了录制、回放...
在本文的例子中,虽然主要使用Selenium来加载网页,但在某些情况下,如获取静态资源或进行初步的页面请求,Requests仍然非常有用。 #### 示例代码详解 ```python import time import requests from bs4 import ...
Python与Selenium的初步交互 以下是一个简单的示例,展示了如何使用Python和Selenium打开网页并查找元素: ```python from selenium import webdriver # 初始化Chrome浏览器 driver = webdriver.Chrome() # ...
通过本文的学习,您应该对Selenium 2(WebDriver)有了初步的了解,并掌握了如何在Java环境中设置Selenium测试环境。Selenium不仅能够提高测试效率,还能够帮助团队更快地交付高质量的产品。未来,随着技术的发展,...
这对于初步了解 Selenium 和快速创建原型非常有用。 2. **Selenium WebDriver**:这是 Selenium 的核心部分,提供了与浏览器的直接交互。WebDriver API 可以在不同的编程语言中使用,允许测试脚本直接控制浏览器...
在这个“ruby+selenium-webdriver测试--第一个例子源代码”中,我们将探讨如何使用Ruby和Selenium-Webdriver实现自动化测试的初步步骤。 首先,我们需要安装必要的库。确保已经安装了Ruby,并通过RubyGems来安装...
- **初步探索:** 用于初步熟悉Selenium和测试需求。 - **教学演示:** 教学场景下方便演示Selenium的使用。 #### 五、Python在Selenium中的应用 Python 作为一种简洁易读的语言,非常适合用于编写Selenium自动化...
在使用selenium进行自动化测试的过程中,可能会遇到selenium无法正确识别特定版本的Firefox浏览器的情况。本文将针对这一问题展开详细讨论,并给出具体的解决方案。 根据提供的描述,作者在尝试使用selenium启动...
总结来说,Selenium IDE适合快速录制和回放测试,适合初步的自动化测试工作;而Selenium RC则提供了更灵活的编程接口,适用于复杂和大规模的自动化测试场景。通过熟练掌握这两个工具,可以构建出强大的Web应用程序...
在使用这些Selenium组件时,首先需要解压下载的文件,然后根据具体的项目需求和测试策略来选择合适的工具。例如,如果只是初步探索或快速创建测试用例,Selenium IDE可能是首选;如果需要在多种浏览器和操作系统上...
- "java-format.xpi"可能提供了将Selenium IDE生成的测试脚本转换为Java语言的能力,这对于使用Java编程语言执行Selenium测试的人来说非常有用。 - "ruby-format.xpi"则可能对应Ruby语言的支持,允许用户将测试脚本...
《selenium_webdriver(python)第三版》 整合和HTML测试报告的生成,初步形成测试架构的雏形, 8元。 《selenium2 python 自动化测试实战》 从一个100多而的文档变成了300页的电子书,所以进行了更名,从只讲...
在实际的Web自动化测试中,Selenium IDE通常作为初步测试和快速原型开发的工具。对于更复杂的自动化测试需求,如分布式测试、跨浏览器测试,用户通常会将Selenium IDE导出的脚本整合到Selenium WebDriver或Selenium ...
### Selenium+TestNG实战-1-环境准备 #### 一、引言 ...通过本文介绍的方法,我们可以顺利完成 Selenium+TestNG 的环境搭建,并进行初步的自动化测试实践。这为后续更深入的学习和应用奠定了坚实的基础。
通过上述知识点和操作方法,可以对Selenium和Python结合使用的自动化测试有一个初步的了解。学习Selenium Python自动化不仅需要掌握这些基本操作,还需要熟悉各种Web页面元素的定位技巧,理解不同Web页面结构的差异...
- **使用Selenium和Python进行初步尝试**:通过一个简单的例子,让读者快速上手Selenium WebDriver。 - **跨浏览器支持**:讨论了如何配置不同浏览器以支持Selenium WebDriver,包括Internet Explorer和Google ...
在实际应用中,使用Selenium进行自动化测试时,开发者首先需要安装相应的WebDriver驱动,然后编写测试脚本。脚本通常会创建一个WebDriver实例,指定要使用的浏览器,然后调用各种方法来模拟用户操作。例如,使用`...
通过以上内容,你应该对 Selenium Web Driver 有了初步了解。在实践中,你可以根据需求进一步学习和掌握更多高级特性,提高自动化测试的质量和效率。记住,实践是最好的老师,动手编写测试脚本,不断探索和学习,你...