`
netcome
  • 浏览: 475600 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Selenium学习笔记2

阅读更多

最近准备用Selenium自动化录制测试脚本,稍微总结一下。

Selenium的主页是http://seleniumhq.org

Selenium包括很多组件,其中我现在用的是Selenium RC和Selenium IDE。Selenium IDE是Firefox的一个插件,我们可以使用它录制页面操作。

Selenium IDE安装完毕之后,可以从工具菜单中激活,然后我们就可以在firefox中访问需要测试的网页,进行各种页面操作,Selenium IDE在这个过程中会记录我们的页面控件和动作。完成录制之后,Selenium IDE生成一个HTML文件保存脚本,比如:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="http://www.baidu.com/" />
<title>baidu</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">baidu</td></tr>
</thead><tbody>
<tr>
	<td>open</td>
	<td>/</td>
	<td></td>
</tr>
<tr>
	<td>type</td>
	<td>kw</td>
	<td>ckword</td>
</tr>
<tr>
	<td>clickAndWait</td>
	<td>sb</td>
	<td></td>
</tr>
</tbody></table>
</body>
</html>

我们可以导出成Java文件,比如:

package com.example.tests;

import com.thoughtworks.selenium.*;
import java.util.regex.Pattern;

public class NewTest extends SeleneseTestCase {
	public void setUp() throws Exception {
		setUp("http://www.baidu.com/", "*chrome");
	}
	public void testNew() throws Exception {
		selenium.open("/");
		selenium.type("kw", "ckword");
		selenium.click("sb");
		selenium.waitForPageToLoad("30000");
	}
}
只要导入相应的selenium和Junit包就可运行。

有一点需要注意的是在回放脚本时,应该添加setSpeed方法,参数是ms,因为Selenium IDE虽然可以选择回放速度(慢——中——快),但实际上即使选择慢速,Selenium IDE仍然运行的有些快,导致其在顺序执行用户操作时,可以发生没等到页面加载完毕就执行下一个命令的现象,导致下一个命令找不到响应的页面控件。除了setSpeed之外,Selenium IDE还可以添加大量的命令。具体见Selenium IDE界面。

另外一个关键是如何识别页面控件。自动化的核心是录制的控件识别方法可以复用,Selenium IDE支持的识别格式包括ID、Name、XPath:attributes、DOM index和XPath:position,而且允许正则表达式,所以非常灵活,根据我使用的情况来看,对于富客户端应用,控件ID通常都增加了一个随机数,不适合做识别,Name还不错,但是如何这个控件Name带有版本信息,比如控件在不断升级,从1.3升到1.4,那么Name可以会失效,要小心。XPath:position我用的最多,也觉得定位最准。但是Selenium IDE有时抓不到某些操作,比如,可以某一个Logout链接,是由span来实现的,此时Selenium IDE抓不到,此时可以XPath:attributes识别,这样写://span[text()='Log out'],搞定。

对于Selenium IDE,还有很多细节需要学习,比如正则表达式的应用,如何写出通用的识别方法,等等。我准备使用Selenium IDE录制脚本,然后导出成java文件,做一些修改之后用Selenium RC驱动。

分享到:
评论

相关推荐

    python-web自动化办公-selenium学习笔记

    1.python-web自动化办公-selenium学习笔记 2.适合刚刚入门selenium开发人员查询使用 3.web自动化办公,例如节省办公妹子keyin时间 4.学习成本低,操作难度不大。 备注:需要html,javascript , css 前端基本功底,...

    Selenium学习笔记源代码

    **Selenium学习笔记源代码** Selenium是一款强大的自动化测试工具,尤其在Web应用程序的测试领域,它被广泛应用。本学习笔记源代码旨在帮助开发者和测试工程师深入理解和掌握Selenium的基本用法,通过实际操作和...

    Selenium python之学习笔记

    在本学习笔记中,首先提到了编码问题,指出了源程序需要使用utf-8编码,这对于中文字符的支持尤为重要。接下来,笔记展示了如何导入selenium库中的webdriver模块,这是Selenium自动化测试的基础。 示例代码中演示了...

    selenium2学习笔记(原创)

    【Selenium2学习笔记】 Selenium2,也被称为Selenium WebDriver,是一个强大的自动化测试工具,用于模拟用户在网页上的各种交互行为。它提供了一个全面的工具集,包括Selenium IDE、WebDriver和Selenium Grid,以...

    Selenium java 学习笔记

    ### Selenium Java 学习笔记知识点总结 #### 一、Selenium简介与安装配置 - **Selenium概述**:Selenium 是一套完整的Web应用程序测试工具,主要用于自动化Web应用测试,能够模拟用户行为,支持多种浏览器环境。 - ...

    Selenium学习笔记

    本文主要关注 Selenium 的三个组成部分:Selenium Core、Selenium IDE 和 Selenium Remote Control (RC)。 首先,Selenium Core 是整个框架的基础,包含一组 JavaScript 库,用于控制浏览器的行为。这些库可以通过...

    Selenium WebDriver 学习笔记

    ### Selenium WebDriver 学习笔记知识点详解 #### 一、元素定位 Selenium WebDriver 提供了丰富的API用于元素定位,常见的定位策略包括: - **ID**:`driver.findElement(By.id("elementId"))` - **Name**:`driver...

    selenium Python 学习笔记

    除了上述基本知识点,文档中提到的其他元素如“授客QQ”、“博客链接”、“交流群信息”等,属于作者个人的联系方式与资源分享,并非直接的Selenium或Python学习知识点。在正式的IT知识分享中,我们更多关注技术和...

    自动化测试:Selenium webdriver学习笔记C#版

    自动化测试:Selenium webdriver学习笔记 C#版 在本篇笔记中,我们将讨论 Selenium webdriver 的自动化测试中的对象定位方法。对象定位是自动化测试中非常重要的一步骤,它决定了我们的测试脚本是否能够正确地找到...

    Selenium API 学习笔记(XMIND版)

    个人整理的Selenium API学习笔记,基于XMIND,层次分明,帮助学习理解。

    Selenium2学习笔记.txt

    ### Selenium2学习笔记知识点概述 #### 一、SQL与Selenium混搭场景解析 在给定的部分内容中,出现了一段SQL代码与Selenium代码的混合。这表明文档可能涉及了如何在Selenium自动化测试中集成数据库操作。下面将详细...

    Selenium2 Python 自动化测试实战学习笔记

    在本篇学习笔记中,我们将深入探讨"Selenium2 Python 自动化测试"这一主题,它是一种广泛应用于Web应用测试的技术,结合Python编程语言,能够实现高效、可维护的自动化测试用例。Selenium2(也被称为Selenium ...

    Selenium_python之学习笔记

    【Selenium与Python结合使用详解】 Selenium是一个强大的自动化测试工具,主要用来模拟真实用户对Web应用程序的操作。...通过深入学习和实践,你可以掌握更多高级技巧,为Web自动化测试带来更大的便利。

    爬虫学习笔记(主要涉及scrapy,request,xpath,selenium等).md

    爬虫学习笔记(主要涉及scrapy,request,xpath,selenium等).md

    selenium入门学习,个人的笔记

    Selenium 入门学习笔记 一、自动化测试概念 自动化测试是由机器执行的测试行为,通过程序或工具来替代、辅助人工测试的手段。自动化测试的优点包括完成重复性工作、提高工作效率、抽象业务逻辑、使每次测试无差异...

    Selenium+Eclipse+Junit+TestNG自动化学习笔记

    ### Selenium+Eclipse+JUnit+TestNG自动化测试学习笔记 #### 一、环境搭建与配置 **1. 安装 JDK** - **版本**: JDK 1.7 - **下载地址**: ...

    11 Selenium笔记.zip

    本笔记将深入探讨Selenium的核心概念、功能以及如何有效地利用它进行Web自动化测试。 一、Selenium WebDriver Selenium WebDriver是Selenium的最新接口,它提供了一种标准的方式来控制浏览器,并与网页进行交互。...

Global site tag (gtag.js) - Google Analytics