学习参考资料:

http://www.yiibai.com/selenium/selenium_download_ide.html

 

Selenium的IDE(集成开发环境)是一个易于使用的Firefox插件,用于开发Selenium测试案例。

它提供了一个图形用户界面,用于记录使用Firefox浏览器,用来学习和使用Selenium用户操作,但它只能用于只用Firefox浏览器不支持其它浏览器。

然而,所记录的脚本可以被转换成由Selenium 支持多种编程语言和脚本可以在各种其它的浏览器,以及被执行。

下面是Selenium IDE方面的详细功能。

【Selenium-WebDriver自学】Selenium-IDE

1. Selenium IDE

2. Selenium IDE 工具特点

3. Selenium IDE 测试创建

4. Selenium IDE 测试

5. Selenium IDE验证点

6. Selenium IDE模式匹配

7. Selenium 用户扩展

8. Selenium IDE不同的浏览器 

【Selenium-WebDriver自学】Selenium-IDE

 


1. Selenium IDE

步骤 1 : 启动Firefox,然后导航到URL - http://seleniumhq.org/download/。在Selenium IDE部分,单击显示如下所示当前版本号的链接。

【Selenium-WebDriver自学】Selenium-IDE

 

 步骤 2 :  Firefox的附加组件通知弹出了允许和禁止的选项。用户必须允许安装。

【Selenium-WebDriver自学】Selenium-IDE

步骤3 : 加载项安装程序发出警告不可信的附加组件的用户。点击“Install Now”。

 【Selenium-WebDriver自学】Selenium-IDE

备注:步骤1~3,也可以在FireFox通过添加组件来完成。

(1)打开FireFox浏览器,找到展开更多按钮。

【Selenium-WebDriver自学】Selenium-IDE

(2)在更多面板里找到附加组件,打开附加组件页面。

【Selenium-WebDriver自学】Selenium-IDE

(3)在搜索栏里查找selenium,然后安装组件即可。 

【Selenium-WebDriver自学】Selenium-IDE

  步骤 4 :  Selenium IDE现在可以通过浏览访问 'Tools' >> 'Selenium IDE'。

 【Selenium-WebDriver自学】Selenium-IDE

 步骤 5 : 在Selenium IDE,也可以直接从快速访问菜单栏访问,如下图所示。

 【Selenium-WebDriver自学】Selenium-IDE 

 

==========================================================================================================

    学习小结:

    1. 安装Selenium IDE的链接http://seleniumhq.org/download/ 有时候打不开,所以下载的时候,可以通过其他途径下载,比如百度搜索
【Selenium IDE】关键字,在CSDN等其他途径下载。

    2. 除了从官网下载,也可以通过FireFox浏览器自身的插件扩展中心下载,我觉得这个方法更简单一些。

    3. 安装部分的内容,难度系数而言,不是很大,所以我已经成功的在FireFox上安装OK。

    接下来进一步学习Selenium IDE工具的使用。

 

 

写在前面:

    本文主要分享的是,Selenium IDE的界面分布和使用。

    前提:Selenium IDE安装完毕,参考【Selenium-WebDriver自学】Selenium-IDE安装和使用(一)

==========================================================================================================

 2.Selenium - IDE 工具特点

Selenium IDE的特点列出了一个简单的工具的帮助下提示,如下图所示。

【Selenium-WebDriver自学】Selenium-IDE

我们在学习任何一个工具时,首先需要了解工具的每个模块的功能和用途。

接下来,对Selenium IDE界面进行学习:

1. 菜单栏:

    (1)文件:创建、打开、保存测试案例和测试案例集。

    (2)编辑:复制、粘贴、删除、撤销和选择测试案例中的所有命令。

    (3)Options : 用于设置seleniunm IDE。

2. 测试地址输入栏:

    可以输入被测网站的地址。

3. 速度控制:

    控制测试用例的执行速度。

4. 运行所有:

    运行一个测试用例集中的所有用例。

5. 运行:

    运行当前选定的测试用例。

6. 暂停/恢复:

    暂停和恢复测试用例执行。

7. 单步:

    可以运行一个用例中的一行命令。

8. 录制:

    点击之后,开始记录被测浏览器的操作。

9. 用例集列表:

    记录所有的测试用例。

10.  测试脚本:

    table标签:用表格形式展现命令及参数。

    source标签:用原始方式展现,默认是HTML语言格式,也可以用其他语言展示。

11.  运行结果:

      查看脚本运行通过/失败的个数。

12.  参数信息:

      当选中前命令对应参数。

13.  日志/参考/UI元素/Rollup:

    (1)日志:当你运行测试时,错误和信息将会自定显示。

    (2)参考:当在表格中输入和编辑selenese命令时,面板中会显示对应的参考文档。

    (3)UI元素/Rollup:参考帮助菜单中的,UI-Element Documentation。

 

记录工具栏的功能进行说明如下:

【Selenium-WebDriver自学】Selenium-IDE

==========================================================================================================

    学习小结:

    1. 界面的认识:首先感觉Selenium IDE测试工具的界面比较简单,相比之前做开发的的时候的XCode/Eclipse/Visual Studio等开发环境
        而言,界面精小而简洁。

    2. 常用的工具栏,播放/录制/调试等,在理解上也不是很难。所以感觉从开发转测试,没想象那么麻烦,至少在意识方面,没给自己太大
        的压力。

    接下来进一步学习Selenium IDE工具的使用。

 

 

写在前面:

    安装和了解完Selenium IDE后,接下来实际的使用IDE的环境,简单的创建测试,通过录制/保存/执行等,进一步 了解自动化测试工具。

==========================================================================================================

3. Selenium IDE 测试创建

涉及使用Selenium IDE创建测试,如下面的步骤:

1. 记录和测试添加命令
2. 保存测试记录
3. 保存测试程序
4. 执行测试记录

1. 在测试中记录和添加命令

为了演示目的,我们将利用www.baidu.com,了解selenium的特点。

步骤 1 : 启动Firefox浏览器,然后导航到该网站 - www.baidu.com

步骤 2 : 从工具菜单中打开Selenium IDE,按下录制按钮-即在右上角。

【Selenium-WebDriver自学】Selenium-IDE

步骤 3 : 在百度搜索框里输入:selenium,然后点击 "百度一下"。

【Selenium-WebDriver自学】Selenium-IDE

步骤 4 :  然后,用户可以插入检查点通过右键单击Web元素,并选择 "Show all available commands" >> 选择"assert text id=kw"

【Selenium-WebDriver自学】Selenium-IDE

步骤 5 : 所记录的脚本生成并被显示在以下脚本如下所示。

【Selenium-WebDriver自学】Selenium-IDE

 

2. 保存记录的测试

第1步:保存测试用例可通过导航到 "File" >> "Save Test" 并将文件保存在选择的位置。该文件保存为.HTML为默认值。
该测试也可以保存扩展名为 .HTM,.SHTML和.XHTML。

【Selenium-WebDriver自学】Selenium-IDE

保存测试套件

测试套件是可以作为一个单独的实体来执行测试的集合。
步骤1:创建一个测试套件可通过导航到 "File" >> "New Test Suite" 如下所示:

【Selenium-WebDriver自学】Selenium-IDE

步骤2:该测试可以通过选择选项来记录,一个接一个 从 "File" 菜单中的"New Test Case" .
步骤3:个人测试使用单独的名称来保存 "Test Suite".

【Selenium-WebDriver自学】Selenium-IDE

3.执行记录的测试
所记录的脚本,执行的任何脚本可通过单击在工具栏中的按钮 "Play entire suite" 或 "Play current test" 。

第1步: 运行状态可以可以看出,在显示的通过和失败的测试号状态窗格。

第2步:一旦步执行,用户可以看到结果在“Log”窗格。

第3步:在执行每个步骤之后,测试步骤的背景变成“绿色”,如果获得通过如果失败则为“红”,,如下图所示

【Selenium-WebDriver自学】Selenium-IDE

==========================================================================================================

    学习小结:

    1. 通过IDE测试百度搜索关键字,简单的对IDE 工具的各个功能模块进行了了解。

    感触:其实,有些东西没有想象的那么难,当我们遇到一个问题的时候,可以将问题分解,分而治之。

    接下来进一步学习Selenium IDE工具的使用。

 

写在前面:

    任何软件开发都离不开调试,测试也如此。

    录制的脚本没有按照预想的“套路”实现,所以此时需要对录制的脚本进行调试,找出问题所在。

==========================================================================================================

4. Selenium IDE 调试

调试是为了发现和修复测试脚本,任何脚本开发的共同步骤是错误的处理。

为了使这一过程更加稳固,我们可以使用Selenium IDE的一个插件叫“Power Debugger”

步骤1 : 安装Selenium IDE的Power Debugger,导航到 https://addons.mozilla.org/en-US/firefox/addon/power-debugger-selenium-ide/ 然后点击 "Add to Firefox" 链接如下所示:

【Selenium-WebDriver自学】Selenium-IDE

步骤2 : 现在启动 'Selenium IDE'  会发新的图标, "Pause on Fail" 在录制工具栏,如下图所示。点击它为 ON。 当再次点击,将它打开为"OFF"。

【Selenium-WebDriver自学】Selenium-IDE

步骤3 : 用户可以打开 "pause on fail" 开或关在任何时间即使测试运行

步骤4 : 一旦测试在暂停的情况下,由于步骤中有一个失败,可以使用通常的暂停/步按钮继续执行测试。如果故障是在任何测试的情况下,最后一个命令执行不会被暂停。

步骤5 : 我们还可以使用断点来了解在这过程中到底发生了什么。插入一个特定步骤一个断点,执行从上下文“右键”,选择“toggle Break Yiibai”相关菜单。

【Selenium-WebDriver自学】Selenium-IDE

步骤6 : 插入断点则显示暂停图标,特定步骤如下所示。

【Selenium-WebDriver自学】Selenium-IDE

步骤7 : 当我们执行该脚本,该脚本将暂停执行插入断点的地方。这将有助于计算一个元素等的值/表示在用户执行过程中。

【Selenium-WebDriver自学】Selenium-IDE

==========================================================================================================

    学习小结:

    1. 调试是必不可少的,在录制的时候,寻找的元素不对后者执行速度过快,导致寻找的元素找不到时,都会中断脚本的执行。此时,可以
        通过调试来找到问题的所在。

    在实际使用中,我发现,录制的脚本执行没有任何间歇,所以大部分情况下,部分脚本找不到元素或者定位错误。

    接下来进一步学习Selenium IDE的高阶使用。

 

 

写在前面:

    通过Selenium IDE录制的脚本,回放也正常执行。那么如何保证测试的结果和我们预期的结果一致呢?

    可以通过工具设置验证点来实现。

==========================================================================================================

5. Selenium IDE验证点

测试用例需要检查一个Web页面的属性。这需要维护和验证命令。有两种方法可以验证点到任何脚本。插入记录模式中的任何验证点单击“右键”元素,并选择“Show all Available Commands”,如下图所示。

【Selenium-WebDriver自学】Selenium-IDE

也可以通过执行“右键”,然后选择“Insert New Command”插入一个命令。

【Selenium-WebDriver自学】Selenium-IDE

插入新的命令后,单击“Command”下拉列表,选择如下图所示的命令的列表提供适当的验证点

【Selenium-WebDriver自学】Selenium-IDE

下面是主要用于验证的命令,这有助于我们检查一个特定步骤已通过或失败。

【Selenium-WebDriver自学】Selenium-IDE

verifyElementPresent
assertElementPresent
verifyElementNotPresent
assertElementNotPresent
verifyText
assertText
verifyAttribute
assertAttribute
verifyChecked
assertChecked
verifyAlert
assertAlert
verifyTitle
assertTitle

【Selenium-WebDriver自学】Selenium-IDE

同步点 

在程序执行时,应用程序可能由服务器的负载情况来决定响应速度,因此,它必需要应用和脚本同步。

下面是几个命令,我们可以用它来确保脚本和应用程序同步。

【Selenium-WebDriver自学】Selenium-IDE

waitForAlertNotPresent    
waitForAlertPresent    
waitForElementPresent    
waitForElementNotPresent    
waitForTextPresent    
waitForTextNotPresent    
waitForPageToLoad    
waitForFrameToLoad

【Selenium-WebDriver自学】Selenium-IDE

==========================================================================================================

    学习小结:

    1. 这部分的内容,我只是简单的使用了assertText来验证。可以将运行结果和预期结果对比,如果不通过,则会提示Failuers。

     同时,这部分的校验以后在使用中,还会继续参照该文。

    接下来进一步学习Selenium IDE的高阶使用。

 

写在前面:

    当我们需要对动态字符或者随机字符进行测试时,可以使用模式匹配。

==========================================================================================================

6. Selenium - IDE模式匹配

在Selenium IDE中,如定位器,模式是selenium中经常使用的一种类型的参数。它允许用户描述特殊字符的模式。很多时候,我们想核实文字是动态的,在这种情况下,模式匹配是非常有用的。

模式匹配是用于所有验证点命令 - VerifyTextPresent,verifyTitle,verifyAlert,assertConfirmation,verifyText和verifyPrompt。

有三种方法来定义一个模式 - 通配符,正则表达式和精确。

通配符

通配已经在Linux或Windows使用的文件匹配模式,而寻找一个特定的文件类型,如* doc或*.JPG,大多数技术人员。但通配硒只支持三个特殊字符:*,?和[]。

* - 匹配任何数目的字符。
? - 匹配单个字符。
[ ] - 所谓字符类,可以匹配括号内发现的任何单个字符。 [0-9]匹配任何数字

要指定selenium 命令glob,前缀与关键字的模式'glob :“。例如,如果想搜索的文本“tax year 2013”或“tax year 2014”,那么可以使用“tax year *”来代替,如下图所示。

然而关键字的用法“glob:”是可选的,而指定文本模式,因为Selenium的匹配模式是默认。

【Selenium-WebDriver自学】Selenium-IDE

精确模式

模式带有前缀“exact:'能匹配给定的文本。用户希望字符串值精确匹配,即没有globe 的操作符,我们可以使用“exact”的模式如下图所示。在这个例子中,操作符'*'将作为普通字符,而不是一个模式匹配通配符。

 【Selenium-WebDriver自学】Selenium-IDE

正则表达式模式

正则表达式是当中匹配技术中可用的模式是最有用的。Selenium 支持完整的Java语言支持reugular表达模式。因此,用户通过不再受限于*,?和[]匹配模式。

要使用正则表达式模式,我们需要与任何前缀“regexp:”或“regexpi”。前缀“regexpi”是不区分大小写的。 glob: 和exact: 模式是正则表达式模式的子集。一切完成使用 glob: 和exact:可以完成与正则表达式。

示例

例如,下面将测试,如果与ID“name”输入的字段中包含字符串“tax year”,'Tax Year' 或 'tax Year'。

【Selenium-WebDriver自学】Selenium-IDE

==========================================================================================================

    学习小结:

    1. 感觉模式匹配的概念和SQL里的匹配方式很类似。不过目前还没有实际使用到,以后工作中,使用到了再进行分享。

    接下来进一步学习Selenium IDE的高阶使用。

 

写在前面:

    通过前几节的学习,已经对Selenium IDE有了初步的了解和基本的使用。

     接下来,来学习Selenium的用户扩展,更强大的进阶内容。

==========================================================================================================

7. Selenium用户扩展

用户扩展,就是使用javaScript文件来创建定制化特性,添加新功能,通常情况下这种扩展就是定制化命令,但扩展并不仅限于命令。

这很容易扩展Selenium IDE加入自定义操作,断言和定位,策略,这是通过添加方法,在JavaScript的帮助下Selenium 对象原型。

在启动时,Selenium会自动寻找通过这些原型方法,使用名称的模式来识别哪些是行动,断言和定位器。

让我们使用JavaScript添加一个'while'循环在Selenium IDE。

步骤 1 : 要添加js文件,首先导航到https://github.com/darrenderidder/sideflow/blob/master/sideflow.js和复制脚本和地点将其保存在本地文件夹下为 “sideflow.js”,如下图所示。

【Selenium-WebDriver自学】Selenium-IDE

第2步:现在启动“Selenium IDE”,然后导航到"Options" >> "Options",如下图所示。

【Selenium-WebDriver自学】Selenium-IDE

第3步:点击“Browse”按钮下的“Selenium Core Extensions”区域产并指向我们已经保存在第1步中的js文件。

【Selenium-WebDriver自学】Selenium-IDE

第4步:重新启动Selenium IDE。

第5步:现在将有机会获得一些更多的命令,如 "Label" "While"等

第6步:现在,我们创造出在Selenium IDE内的循环,这是能够执行的,如下图所示。

【Selenium-WebDriver自学】Selenium-IDE

==========================================================================================================

    学习小结:

    1. 之前在虫师的博客里,学习了添加随机数的扩展。但是仅限于此,目前我还没有更进一步的应用。

    接下来进一步学习Selenium IDE的高阶使用。

==========================================================================================================

参考地址:http://www.cnblogs.com/fnng/archive/2011/10/30/2223227.html

写在前面:

    Selenium IDE是FireFox的集成插件,目前而言,只能通过FireFox来录制脚本。

    但是实际工作中,我们可能需要测试IE或者Chrome等其他浏览器,那么,可以通过其他途径来实现这个愿望。详细看下文。

==========================================================================================================

8. Selenium IDE- 不同的浏览器

Selenium IDE脚本只能对火狐的工具Firefox插件运行测试。

使用Selenium-IDE开发的测试可以对其他浏览器所保存为Selenium网络驱动器或硒的远程控制指令码执行。

脚本只能对火狐的工具Firefox插件运行测试。

使用Selenium-IDE开发的测试可以对其他浏览器所保存为Selenium网络驱动器或硒的远程控制指令码执行。

更多关于Selenium的webdriver和Selenium的远程控制,在后面的章节有详细讲解。


第1步:打开Selenium IDE任何已保存的测试

第2步:定位到“File”菜单,并选择“Export Test Suite As”,而选择将被列出。

【Selenium-WebDriver自学】Selenium-IDE

第3步:现在让我们导出脚本“WebDriver”,并将其保存为同样的名称。

第4步:如下图所示,显示保存webdriver文件。

【Selenium-WebDriver自学】Selenium-IDE

package com.example.tests;

import java.util.regex.Pattern;
import java.util.concurrent.TimeUnit;
import org.testng.annotations.*;
import static org.testng.Assert.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;

public class BaiduSearch1 {
  private WebDriver driver;
  private String baseUrl;
  private boolean acceptNextAlert = true;
  private StringBuffer verificationErrors = new StringBuffer();

  @BeforeClass(alwaysRun = true)
  public void setUp() throws Exception {
    driver = new FirefoxDriver();
    baseUrl = "https://www.baidu.com/";
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
  }

  @Test
  public void testBaiduSearch1() throws Exception {
    driver.get(baseUrl + "/");
    // ERROR: Caught exception [unknown command []]
    driver.findElement(By.id("kw")).clear();
    driver.findElement(By.id("kw")).sendKeys("selenium");
    driver.findElement(By.id("su")).click();
  }

  @AfterClass(alwaysRun = true)
  public void tearDown() throws Exception {
    driver.quit();
    String verificationErrorString = verificationErrors.toString();
    if (!"".equals(verificationErrorString)) {
      fail(verificationErrorString);
    }
  }

  private boolean isElementPresent(By by) {
    try {
      driver.findElement(by);
      return true;
    } catch (NoSuchElementException e) {
      return false;
    }
  }

  private boolean isAlertPresent() {
    try {
      driver.switchTo().alert();
      return true;
    } catch (NoAlertPresentException e) {
      return false;
    }
  }

  private String closeAlertAndGetItsText() {
    try {
      Alert alert = driver.switchTo().alert();
      String alertText = alert.getText();
      if (acceptNextAlert) {
        alert.accept();
      } else {
        alert.dismiss();
      }
      return alertText;
    } finally {
      acceptNextAlert = true;
    }
  }
}

【Selenium-WebDriver自学】Selenium-IDE

以上为IDE导出的Java代码,可以通过其他途径来执行测试用例,运行到Chrome等浏览器上。

==========================================================================================================

    学习小结:

    1. 关于Selenium IDE的内容学习就告一段落了。

    Selenium IDE执行的局限性和录制脚本/回放脚本等,包括自己去面试的时候提到的录制脚本,被别人嘲笑,所以决定学习更多的关于Selenium
    方面的内容。

    那么接下来,将学习Selenium/WebDriver的实际开发,相信会是另外一番学习体验。

相关文章: