`

Selenium 使用介绍

阅读更多
Selenium
严格说来,Selenium是一套完整的Web应用程序测试系统,它包含了测试的录制(Selenium IDE)、编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。Selenium的核心Selenium Core基于JsUnit,完全由JavaScript编写,因此可运行于任何支持JavaScript的浏览器上。Selenium Core由一种指定格式的HTML文件驱动,在一定程度上增强了测试套件(Test Suite)的可读性。Selenium Remote Control允许测试人员使用常见的语言(自然包括C#等.NET语言)编写测试代码,并支持不同操作系统下的各种主流浏览器。Selenium Grid的作用是将测试分发至多台机器,这样便可大大加快测试速度。与WatiN相同,Selenium也是一款同样使用Apache License 2.0协议发布的开源框架。



Selenium IDE

       Selenium IDE是基于FIREFOX浏览器的一个插件,提供GUI界面来运行Selenium测试。Selenium IDE提供脚本录制功能,可以将用户在浏览器中执行的操作记录下来,生成各种形式的脚本,可以将这些脚本保存供以后使用。

       安装Selenium IDE的步骤如下:

    * 从www.openqa.org/selenium-ide/download.action下载Selenimu IDE(这是一个XPI后缀的文件)。
    * 启动FIREFOX浏览器,打开刚才下载的文件。
    * 重启FIREFOX浏览器,在工具菜条下应该就可以看到Selenium IDE菜单项



---------------------------------------------------------------------------------------------------------

一 Selenium-RC 是 selenium-remote control 缩写,是使用具体的语言来编写测试类。

二 准备工作: 1,下载 selenium 了,到 http://www.openqa.org/selenium/ 下载就可以了,记得选择selenium-rc 的版本
             2, 学习一下xpath 的知识。有个教程:http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html
             3, 安装 jdk1.5


三 selenium-rc 一些使用方法

    1,解压selenium-rc压缩包

    2,启动服务器 
        Selenium Server是用JAVA实现的,相应的库文件在HOME/server/selenium-server.jar。运行如下代码从命令行启动:
       java 代码 : java -jar selunium-server.jar


四   编写测试用例

    需要的JAR: selenium-java-client-driver.jar;junit


    编写一个JUNIT的单元测试,要构建一个Selenium,包括如下步骤:

    * 构建一个Selenium实例
    * 启动Selenium实例
    * 执行Selenium命令,并验证结果。
    * 关闭Selenium实例


如下是一个示例,用来测试http://www.google.com/,查找selenium,期望结果中包含"OpenQA: Selenium"
   1. package com.thoughtworks.selenium;     
   2.  
   3. import junit.framework.*;  
   4.  
   5. import org.openqa.selenium.server.*;  
   6.  
   7. public class GoogleTest extends TestCase  
   8. {  
   9.    private Selenium selenium;  
  10.  
  11.    public void setUp() throws Exception {  
  12.         String url = "http://www.google.com";  
  13.        selenium = new DefaultSelenium("localhost", SeleniumServer.getDefaultPort(), "*firefox", url);  
  14.        selenium.start();  
  15.     }  
  16.      
  17.    protected void tearDown() throws Exception {  
  18.        selenium.stop();  
  19.    }  
  20.      
  21.    public void testGoogleTestSearch() throws Throwable {  
  22.         selenium.open("/intl/zh-CN/");  
  23.         selenium.type("q", "selenium");  
  24.         selenium.click("btnG");  
  25.         selenium.waitForPageToLoad("30000");  
  26.         assertEquals("selenium - Google 搜索", selenium.getTitle());
  27.       
  28.     }  
  29.       
  30. }   

五 多环境测试

package test;

import org.junit.Test;

import junit.framework.TestCase;

import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;
/**
* 多浏览器测试
* @author hgz
*
*/
public class NewTest extends TestCase {
@Test
public void testNew() throws Exception {
Selenium selenium = new DefaultSelenium("localhost", 4444, "*chrome",
"http://www.google.cn");
script(selenium);
}

@Test
public void testNew2() throws Exception {
Selenium selenium = new DefaultSelenium("localhost", 4444, "*iehta",
"http://www.google.cn");
script(selenium);
}

private void script(Selenium selenium) throws Exception {
try {
selenium.start();
selenium.open("http://www.google.cn/");//调用 selenium.open 方法,浏览器会打开相应的页面
selenium.type("q", "selenium");//使用 type 方法来给输入框输入文字
selenium.click("btnG");
selenium.waitForPageToLoad("30000");//等待页面载入
assertEquals("selenium - Google 搜索", selenium.getTitle());//看看新的页面标题是不是我们想要的。
} catch (Exception e) {
throw e;
} finally {
selenium.stop();
}
}
}


六 如何选取元素

   selenium提供如下强大的定位元素的方法。

    * id=id
    * name=name
    * dom=javascriptExpression
    * xpath=xpathExpression
    * link=textPattern
    * css=cssSelectorSyntax



1 通过ID,name选择元素  :  如 selenium.type("id=q","百度"); selenium.type("name=search","百度")
2 link= 根据链接文字来操作:如 selenium.click("link=个人资料");
3 根据XPath来选择元素  : XPath Checker

    * xpath=//img[@alt='The image alt text']
    * xpath=//table[@id='table1']//tr[4]/td[2]
    * xpath=//a[contains(@href,'#id1')]
    * xpath=//a[contains(@href,'#id1')]/@class
    * xpath=(//table[@class='stylee'])//th[text()='theHeaderText']/../td
    * xpath=//input[@name='name2' and @value='yes']
    * xpath=//*[text()="right"]
      如: selenium.type("xpath=//input[@name='user.email']", "xxx@123.com"); // 向input中type为text的栏位键入信息
          selenium.check("xpath=//input[(@name='user.sex')and(@value='男')]");// 向input中type为radiod的 选取

4 dom选择

    * dom=document.forms['myForm'].myDropdown
    * dom=document.images[56]
    * dom=function foo() { return document.links[1]; }; foo();

5 css选择器

这个不常用,它可以支持css2, css3选择器

    * css=a[href="#id3"]
    * css=span#firstChild + span



七 使用selenium 这个对象来进行测试
1  获取标 : assertEquals("Insert title here", selenium.getTitle());
2  判断页面是否存在一个user.email元素  :assertTrue(selenium.isElementPresent("xpath=//input[@name='user.email']"));
3  得到文本框里的文字:   assertEquals(selenium.getValue("xpath=//input[@name='user.username']"),"xxxaas");
4  测试check box  :    assertTrue(selenium.isChecked("xpath=//input[(@name='user.sex')and(@value='男')]"));
5  点击提交按钮   : selenium.click("xpath=//input[@type='button']");
6  等待页面载入   : selenium.waitForPageToLoad("2000");
7  验证指定文本出现在提交给用户的页面上: assertTrue(selenium.isTextPresent("验证码输入有误,请核实后再输入"));
8  判断下拉框里选择了哪个选项 :assertEquals(selenium.getSelectedIndex("xpath=//SELECT[@name='HATIMING']"), "1"); 

9  如何测试一些错误消息的显示? assertTrue(selenium.getBodyText().indexOf("错误消息")>=0); 
   getBodyText 返回的时浏览器页面上的文字,不回包含html 代码的,如果要显示html 代码,用下面这个:selenium.getHtmlSource(); 

八   Firefox 的插件
     1 XPath Checker :可以用这个工具测试简化我们的xpath表达式
     2 Firebug
     3 Selenium IDE
     4 Execute JS
分享到:
评论

相关推荐

    Selenium使用介绍

    "Selenium使用介绍" Selenium是一款由ThoughtWorks公司开发的强大的集成测试工具,广泛应用于Web应用程序的自动化测试。它提供了一种模拟用户行为的方式来验证应用程序的功能,确保软件质量。Selenium分为两个主要...

    selenium的初级使用说明 - Selenium介绍

    2. **Driven (Selenium-RC)**: Driven模式下,测试脚本使用编程语言编写,部分测试逻辑在浏览器外部运行。这种模式允许更复杂的测试逻辑和更好的错误处理,同时可以与各种编程语言无缝集成。 无论是Test Runner还是...

    Selenium介绍及原理解析.docx

    3. Selenium Remote Control (RC):允许使用多种编程语言(如Ruby、Java、C#等)编写测试用例,便于与其他测试框架集成。Selenium RC包括Selenium Core、Selenium Server和各种语言的类库。 4. Selenium Grid:扩展...

    selenium介绍.html

    **Selenium 概述** Selenium 是一个强大的开源自动化测试框架,主要...以上就是Selenium的基本介绍及其在Web自动化测试中的应用。通过熟练掌握Selenium,开发者可以极大地提升测试效率,确保产品的稳定性和可靠性。

    Selenium使用文档压缩包

    《Selenium.2.Testing.Tools.Beginners.Guide.2012..pdf》则可能介绍了Selenium 2.0(现在被称为Selenium WebDriver)的使用。WebDriver是Selenium的核心,提供了一个统一的API来控制浏览器,并直接与浏览器的内核...

    Selenium IDE介绍安装使用

    1. **安装Python Selenium库:** 使用pip命令`pip install selenium`来安装Selenium库。 2. **WebDriver:** 需要对应浏览器的WebDriver,例如ChromeDriver或GeckoDriver(Firefox)。 3. **编写Python脚本:** 将...

    selenium使用指南1

    这篇指南将重点介绍如何在 Python 环境中使用 Selenium,特别是针对 Firefox 和 Chrome 浏览器。 ### 一、Selenium 简介 Selenium 是一套开源的 Web 自动化测试框架,支持多种编程语言,如 Python、Java、C# 等。...

    selenium RC怎么使用

    以下将详细介绍如何使用Selenium RC。 首先,你需要获取Selenium RC的安装包。你可以访问官方下载地址(http://selenium-rc.openqa.org/download.jsp)下载最新版本的Selenium。下载完成后,解压缩到你电脑上的任意...

    selenium 入门介绍

    selenium 入门介绍,快速学会使用selenium及其基本功能。

    Selenium安装配置及使用

    本文档将详细介绍 Selenium 的安装和配置过程,包括 Selenium-IDE、Selenium-RC 和 Selenium-Grid 的安装和使用。 一、Selenium 组件 Selenium 由多个组件组成,包括 Selenium-IDE、Selenium-RC 和 Selenium-Grid...

    python爬虫 使用selenium 实现中英互译

    在这个项目中,它应该会介绍如何运行程序,可能需要的依赖库,以及如何利用Selenium与Bing翻译接口交互。Bing翻译接口是开源且未加密的,因此对于初学者来说,它是学习Selenium的好起点。通过这个项目,你可以学习到...

    selenium rc使用指南

    在本指南中,我们将详细介绍如何安装Selenium RC Java版本。首先,你需要下载`selenium-java-2.0b3.zip`文件,这个压缩包包含了必要的库文件和源码文件。以下是具体的步骤: - **下载安装包**:访问Selenium官方...

    selenium WebDriver原理介绍

    Selenium WebDriver 是一款广泛使用的自动化测试工具,专为Web应用程序设计。它允许程序员模拟真实用户在浏览器中的操作,如点击、输入、导航等,从而进行功能性和兼容性测试。了解其工作原理对于优化自动化测试脚本...

    selenium RC与selenium webdriver的区别

    在本文中,我们将详细介绍Selenium RC和Selenium WebDriver的区别,并探讨它们各自的优缺点。 Selenium RC Selenium RC是Selenium 1.x的主要组件,提供了一个远程控制的自动化测试工具。Selenium RC使用JavaScript...

    Playwright 结合 Selenium Grid - windows 环境使用教程.pdf

    本资源提供了 Playwright 结合 Selenium Grid 在 Windows 环境中的使用教程,介绍了如何将 Playwright 连接到 Selenium Grid Hub,启动 Google Chrome 或 Microsoft Edge 浏览器,並在远程机器上执行自动化测试。...

    Selenium教程1-IDE的基本使用

    本文将详细介绍 Selenium IDE 的基本使用,包括安装、配置、录制脚本、验证和回放等内容。 一、Selenium IDE 的安装 Selenium IDE 是 Selenium 在 Firefox 下的一个脚本录制插件,使用 Firefox 下载安装。首先,...

    Selenium使用说明

    以上内容详细介绍了Selenium中的一些基本概念和用法,包括命令、元素定位、字符串匹配以及常见的操作。这些知识对于初学者来说是非常重要的基础,掌握了这些内容后,就可以开始编写自动化测试脚本了。

    Selenium 基本介绍文档

    Selenium 1.0 初学者指南.pdf Selenium私房菜(新手入门教程).pdf [零成本实现Web自动化测试-基于Selenium和Bromine].温素剑.pdf Selenium 中文文档 .pdf selenium2.0_中文帮助文档.doc 具体见附件

    Selenium

    ### Selenium 知识点详解 #### 一、Selenium 概述 Selenium 是一个用于自动化 Web 应用程序测试的...通过本文的介绍,希望能够帮助大家更好地理解 Selenium 的基本原理及使用方法,进一步提升软件测试的质量和效率。

Global site tag (gtag.js) - Google Analytics