Selenium - 环境安装设置

为了开发Selenium RC或webdriver脚本,用户必须确保他们有初始配置完成。有很多关联建立环境的步骤。这里将通过详细的讲解。

  • 下载并安装Java

  • 下载并配置Eclipse

  • 配置Firebug和FirePath

  • 配置Selenium RC

  • 配置Selenium的webdriver

下载并安装Java

我们需要有JDK(Java开发工具包)安装序Selenium Webdriver/Selenium工作。让我们先来看看如何下载和安装Java。

步骤1: 导航到的网址:http://www.oracle.com/technetwork/java/javase/downloads/index.htmll

步骤2:转到“Downloads”部分,然后选择“JDK Download”。

步骤3:选择“Accept License Agreement”单选按钮。

第4步:选择合适的安装。在这种情况下它是“Windows 7-64'位。点击相应的链接和exe档案保存到硬盘。

第5步:运行下载的exe文件和安装程序向导。点击“Next”继续。

第6步:选择功能,然后点击“Next”。

步骤7:安装程序提取和相同的进度显示在向导中。

第8步:用户可以选择安装位置,然后单击“Next”。

第9步:安装程序安装JDK和新的文件将被复制。

第10步:安装程序安装成功,并显示给用户。

步骤11:要验证是否安装成功,转到命令提示符,然后只需键入Java的一个命令。该命令的输出如下所示。如果Java安装不成功,或者如果它没有安装它会引发“unknown command”的错误。


下载并配置Eclipse

第1步:根据操作系统体系结构导航到URL :http://www.eclipse.org/downloads/ 并下载。

第2步:点击“Download”按钮。

第3步:下载将是一个压缩格式。解压缩的内容。

第4步:找到eclipse.exe并双击该文件。

第5步:配置工作区中选择开发位置。

第6步:打开如下图所示的Eclipse窗口。


配置Firebug和FirePath

要使用Selenium RC或webdriver来工作,我们需要根据自己的XPath或编号或名称等序列,以找出我们需要的工具/插件元素来定位元素。定位元素的各种方式被处理,详细在定位器章节。

步骤1:找到的网址:https://addons.mozilla.org/en-US/firefox/addon/firebug/ 并下载插件。

步骤2:将插件安装程序显示给用户,它是在单击“Install”按钮开始安装。

第3步:安装完成后,我们可以通过启动插件导航到“Web Developer”>>“Firebug”。

第4步:Firepath一个插件,它的工作原理中的萤火虫帮助用户抓住一个元素“Xpath”。导航到“https://addons.mozilla.org/en-US/firefox/addon/firepath/”安装Firepath

第5步:插件安装程序显示给用户,它是在单击“Install”按钮开始安装。

步骤6:现在推出“Firebug”导航到“Tools”>>“Webdeveloper”>>“Firebug”


示例

现在让我们了解如何使用Firebug和firepath一个例子。为了演示目的,我们将使用www.google.com并捕捉“google.com”文本框的属性。

步骤1:首先在下面的截图高亮点击箭头图标,将其拖动到我们想捕捉属性的对象。如下图所示,该对象的HTML / DOM将被显示。我们能够捕捉到的输入文本框的“ID”,我们可以进行交互。

步骤2:为了获取对象的XPath,去“firepath”选项卡,然后执行以下步骤。

  • 点击间谍图标。

  • 选择控制,想要捕捉的XPath

  • 将产生的所选择的控制的xpath


配置Selenium RC

现在,就让我们来看看如何配置Selenium 的远程控制。我们将了解如何开发在即将到来的章节关于Selenium RC的章节,但是现在我们明白它只是配置的一部分。

第1步:找到selenium 下载部分http://www.seleniumhq.org/download/,并通过点击它的版本号,如下图所示下载Selenium服务器。

第2步:下载后,我们需要启动Selenium服务器。这样做,打开命令提示符并导航到下载的JAR文件保持如下所示的文件夹。

第3步:启动服务器,使用命令“'java -jar <<downloaded jar name >>"如果已安装Java JDK正常,会得到一个成功的消息,如下图所示。现在,我们就可以开始写这将涉及在下一章Selenium RC的脚本。


配置Selenium的webdriver

现在,就让我们来看看如何配置Selenium webdriver。我们将了解如何开发在即将到来的章节,Selenium webdriver的剧本,但是现在我们明白它只是配置的一部分。

第1步:找到selenium 下载部分http://www.seleniumhq.org/download/和下载selenium 的webdriver通过点击它的版本号,如下图所示。

第2步:下载的文件是压缩格式,一个具有解压缩的内容映射到项目文件夹中。

步骤3:如下图所示,将解压缩后的内容将被显示。如何将其映射到项目文件夹,如何启动脚本会处理在webdriver的章节。




什么是Selenium - RC

Selenium-RC意思是Selenium的远程控制(又称Selenium1.0),是主要Selenium项目持续很长一段时间Selenium webdriver(Selenium2.0)才生效存在性。现在Selenium RC是很难使用在webdriver具有更强大的功能,但用户仍可以继续开发使用rc脚本。

它允许我们编写的编程语言,如Java,C#,Perl,Python和PHP创建更复杂的测试,如读写文件的全功率的帮助自动化的Web应用程序的UI测试,查询数据库,电子邮件的测试结果。

注:Selenium RC已被处理,只是为了理解图点和唯一webdriver进行详细说明,webdriver更强大和稳定。Selenium RC和webdriver比较在后面的章节讲解。

Selenium RC的结构

Selenium RC的工作方式是这样,客户端库使用Selenium RC服务器经过每个Selenium命令来执行通信。然后服务器通过Selenium命令来使用Selenium核心JavaScript命令浏览器。

在浏览器中执行使用JavaScript解释器的Selenium 命令。

Selenium RC分为两部分。

  • Selenium服务器启动和终止,除了它的浏览器解释并执行Selenese命令。它也通过拦截和验证器和测试的应用程序之间传递的HTTP消息作为HTTP代理。

  • 客户端库,它提供了编程语言(Java,C#,Perl,Python和PHP)和Selenium-RC服务器中的每一个之间的接口。

RC - 脚本

现在让我们写使用Selenium远程控制的示例脚本。让我们用 http://www.calculator.net/ 来理解 Selenium RC。我们将使用“百分比计算器”,即在“数学计算器”模块目前执行百分比计算。

第1步:启动Selenium 的远程控制(带命令提示符的帮助下)在环境设置一章解释。

第2步:启动Selenium RC,打开Eclipse,并创建“New Project”,如下图所示之后。

第3步:输入项目名称,然后单击“Next”按钮。

第4步:验证源,项目,库和输出文件夹,然后单击“Finish”。

第4步:右键单击“project”容器,然后选择“Configure Build Path”。

第5步:属性'selrcdemo“打开。导航到“Libaries”选项卡,并选择“Add External JARs”。选择我们下载了Selenium RC的jar文件,它会出现如下图所示。

第6步:将引用的库如下图所示显示。

步骤7:通过执行右键单击“src”文件夹中创建一个新的类文件,并选择“New”>>“class”。

第8步:输入类文件的名称,并启用“public static void main”,如下图所示。

步骤9:在文件夹结构中创建的创建的类,如下所示。

第10步:现在是时候进行编码。下面的代码有注释嵌入使读者了解。


/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package testbro;

import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;

/**
 *
 * @author USER
 */
public class SDFB {

    public static void main(String[] args) throws InterruptedException {//Instatiate the RC Server
        Selenium selenium = new DefaultSelenium("localhost", 4444, "firefox", "http://www.calculator.net");
        selenium.start();// Start
        selenium.open("/");// Open the URL
        selenium.windowMaximize();// Click on Link Math Calculator
        selenium.click("xpath=.//*[@id='menu']/div[3]/a");
        Thread.sleep(2500);// Wait for page load// Click on Link Percent Calculator
        selenium.click("xpath=.//*[@id='menu']/div[4]/div[3]/a");
        Thread.sleep(4000);// Wait for page load// Focus on text Box
        selenium.focus("name=cpar1");// enter a value in Text box 1
        selenium.type("css=input[name=\"cpar1\"]", "10");// enter a value in Text box 2
        selenium.focus("name=cpar2");
        selenium.type("css=input[name=\"cpar2\"]", "50");// Click Calculate button
        selenium.click("xpath=.//*[@id='content']/table/tbody/tr/td[2]/input");// verify if the result is 5String result = selenium.getText(".//*[@id='content']/p[2]");if(result =="5"){System.out.println("Pass");}else{System.out.println("Fail");}}
    }
}

第11步:现在,让我们通过点击“Run”按钮执行该脚本。

第12步:脚本将开始执行和用户将能够看到在“Command History”选项卡上的命令历史记录。

步骤13:该应用程序的最终状态显示为如下。百分比的计算方法和它在屏幕上显示的结果如下所示。

步骤14:在测试的输出被打印的Eclipse控制台上所示,因为我们已打印输出到控制台下面。实时输出写入到HTML文件或简单的文本文件。


第1步:找到selenium 下载部分http://www.seleniumhq.org/download/,并通过点击它的版本号,如下图所示下载Selenium服务器。

第2步:下载后,我们需要启动Selenium服务器。这样做,打开命令提示符并导航到下载的JAR文件保持如下所示的文件夹。

第3步:启动服务器,使用命令“'java -jar <<downloaded jar name >>"如果已安装Java JDK正常,会得到一个成功的消息,如下图所示。现在,我们就可以开始写这将涉及在下一章Selenium RC的脚本。


配置Selenium的webdriver

现在,就让我们来看看如何配置Selenium webdriver。我们将了解如何开发在即将到来的章节,Selenium webdriver的剧本,但是现在我们明白它只是配置的一部分。

第1步:找到selenium 下载部分http://www.seleniumhq.org/download/和下载selenium 的webdriver通过点击它的版本号,如下图所示。

第2步:下载的文件是压缩格式,一个具有解压缩的内容映射到项目文件夹中。

步骤3:如下图所示,将解压缩后的内容将被显示。如何将其映射到项目文件夹,如何启动脚本会处理在webdriver的章节。

 

Selenium - Selenese命令

一个命令指的是什么Selenium有执行,Selenium命令有三种类型。点击以下更多地了解这些命令。

定位器

元素定位器有助于Selenium识别HTML元素和命令指引用。所有这些定位器可以在Mozilla浏览器的firepath和firebug插件的帮助下识别ID。请参考环境设置一章。

  • identifier=id - 使用指定的“id”属性选择元素,如果没有匹配,选择的第一要素,其@name属性ID。

  • id=id 选择指定的“id”属性的元素。

  • name=name - 使用指定“name”属性选择第一个元素

  • dom=javascriptExpression - Selenium通过评估指定的字符串,它允许我们遍历使用JavaScript的HTML文档对象模型找到一个元素。用户不能返回一个值,但可以评估计算作为块的表达式。

  • xpath=xpathExpression - 找到使用XPath表达式的元素。

  • link=textPattern - 选择链接元素(锚点标记内),其中包含文字与指定模式匹配。

  • css=cssSelectorSyntax - 使用CSS选择器选择元素

    Selenium Webdriver

    webdriver自动化俗称Selenium 2.0测试Web应用程序工具。 webdriver使用不同的底层框架,Selenium 遥控器使用JavaScript的Selenium 核嵌入式已经在有一定的局限性的浏览器中。 webdriver直接交互而不与Selenium 远程控制,依赖于服务器上的任何中介的浏览器。它是用在以下方面:

    在Selenium开发者社区努力下,不断提高Selenium webdriver与Selenium的整合。

    • MULT浏览器测试,包括对不能很好地支持Selenium的远程控制浏览器改进的功能(硒1.0)

    • 处理多个帧,多个浏览器窗口,弹出窗口和警报。

    • 复杂的页面导航。

    • 高级用户导航,如拖动和拖放。

    • 基于AJAX的UI元素

    体系结构

    webdriver最好用一个简单的架构图,说明,如下图所示。

    Selenium RC VS webdriver

    Selenium RC Selenium WebDriver
    Selenium RC的结构复杂,因为服务器需要启动在开始试运行前。 webdriver架构比Selenium RC简单,因为它控制着从操作系统层面的浏览器。
    Selenium服务器充当浏览器和Selenese的命令之间的中间人 webdriver直接相互作用,以在浏览器和使用浏览器的引擎进行控制。
    Selenium RC的脚本执行速度较慢,因为它使用了Javascript来与RC互动 webdriver的速度更快,因为它直接交互使用的浏览器。
    Selenium RC不能支持无头,因为它需要一个真正的浏览器一起工作。 webdriver可以支持无头执行
    它是一个简单的API 复杂,API相比,RC有点大
    减面向对象的API 纯粹的面向对象的API
    不能测试移动应用程序 可测试iPhone/Android应用程序

    使用webdriver脚本

    让我们了解webdriver如何工作。为了演示目的,我们将使用http://www.calculator.net/。我们将执行“百分比计算器”,这是位于“数学计算器”。我们已经下载了所需要webdriver的JAR。请参阅环境设置一章。

    第1步:从提取Eclipse文件夹中启动“Eclipse”。

    第2步:点击“Browse”按钮选择工作区。

    第3步:现在,创建“New Project”,从“File”菜单。

    第4步:输入项目名称,然后单击“Next”。

    第五步:进入Libraries选项卡,并选中所有的JAR包文件,我们已经下载(请参阅环境搭建章)。添加引用Selenium webdriver的库文件夹中的所有JAR,selenium-java-2.42.2.jar和selenium-java-2.42.2-srcs.jar

    第6步:如下图所示创建包。

    第7步:现在,让我们创建一个通过执行'Class'右键单击程序包,然后选择“New”>>“Class”

    第8步:现在命名类,并让它设置为main方法

    第9步:类概要如下所示。

    步骤10:现在是时候编写代码了。下面的脚本更容易理解,因为它清楚地解释了一步,在嵌入的注释步骤。请看看“Locators”一章,了解如何捕捉对象的属性。

    import java.util.concurrent.TimeUnit;
    import org.openqa.selenium.*;
    import org.openqa.selenium.firefox.FirefoxDriver; public class webdriverdemo
    {
    public static void main(String[] args)
    {
    WebDriver driver = new FirefoxDriver(); //Puts a Implicit wait, Will wait for 10 seconds before throwing exception
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); //Launch website
    driver.navigate().to("http://www.calculator.net/"); //Maximize the browser
    driver.manage().window().maximize(); // Click on Math Calculators
    driver.findElement(By.xpath(".//*[@id='menu']/div[3]/a")).click(); // Click on Percent Calculators
    driver.findElement(By.xpath(".//*[@id='menu']/div[4]/div[3]/a")).click(); // Enter value 10 in the first number of the percent Calculator
    driver.findElement(By.id("cpar1")).sendKeys("10"); // Enter value 50 in the second number of the percent Calculator
    driver.findElement(By.id("cpar2")).sendKeys("50"); // Click Calculate Button
    driver.findElement(By.xpath(".//*[@id='content']/table/tbody/tr/td[2]/input")).click(); // Get the Result Text based on its xpath
    String result = driver.findElement(By.xpath(".//*[@id='content']/p[2]/span/font/b")).getText(); //Print a Log In message to the screen
    System.out.println(" The Result is " + result); //Close the Browser.
    driver.close();
    }
    }

    第11步:以上脚本的输出将被打印在控制台。

    最常用的命令

    下表列出了webdriver的最常用的命令以及它的语法,这将有助于我们开发webdriver脚本。

    Commmand 描述
    driver.get("URL") 导航到应用程序
    element.sendKeys("inputtext") 输入一些文本输入框
    element.clear() 从输入框清空内容
    select.deselectAll() 这将取消选择页面上的第一个选择所有选项:
    select.selectByVisibleText("some text") select the OPTION with the input specified by the user.
    driver.switchTo().window("windowName") Moving the focus from one window to another
    driver.switchTo().frame("frameName") swing from frame to frame
    driver.switchTo().alert() Helps in handling alerts
    driver.navigate().to("URL") Navigate to the URL
    driver.navigate().forward() To Navigate forward
    driver.navigate().back() To Navigate back
    driver.close() Closes the current Browser associated with the driver
    driver.quit() Quits the driver and closes all the associated window of that driver.
    driver.refresh() Refreshes the current page.

Selenium浏览器自动化测试使用(2)的更多相关文章

  1. Selenium浏览器自动化测试工具

    目录 Selenium浏览器自动化测试工具 Selenium模块在爬虫中的使用 Python简单使用Selenium Selenium的基本操作 Selenium爬取动态加载的数据 Selenium动 ...

  2. selenium浏览器自动化测试框架文档(修正版)

    写在最前面:目前自动化测试并不属于新鲜的事物,或者说自动化测试的各种方法论已经层出不穷,但是,能够在项目中持之以恒的实践自动化测试的团队,却依旧不是非常多.有的团队知道怎么做,做的还不够好:有的团队还 ...

  3. Selenium浏览器自动化测试使用(1)

    Selenium - 介绍 Selenium是一个开源的和便携式的自动化软件测试工具,用于测试Web应用程序有能力在不同的浏览器和操作系统运行.Selenium真的不是一个单一的工具,而是一套工具,帮 ...

  4. Selenium浏览器自动化测试框架

    selenium简介 介绍 Selenium [1]  是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 1 ...

  5. 杂项-自动化测试工具:Selenium(浏览器自动化测试框架)

    ylbtech-杂项-自动化测试工具:Selenium(浏览器自动化测试框架) Selenium 是一个用于Web 应用程序测试的工具.Selenium 测试直接运行在浏览器中,就像真正的用户在操作一 ...

  6. selenium + python 自动化测试环境搭建

    selenium + python 自动化测试 —— 环境搭建 关于 selenium Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操 ...

  7. Selenium终极自动化测试环境搭建(一) Selenium+Eclipse+Junit+TestNG

    Selenium终极自动化测试环境搭建(一)Selenium+Eclipse+Junit+TestNG 第一步 安装JDK JDk1.7. 下载地址:http://www.oracle.com/tec ...

  8. selenium+python自动化测试

    F12: 右键   选择复制  path 在selenium+python自动化测试(一)–环境搭建中,运行了一个测试脚本,脚本内容如下: from selenium import webdriver ...

  9. 【转载】selenium与自动化测试成神之路

    Python selenium —— selenium与自动化测试成神之路 置顶 2016年09月17日 00:33:04 阅读数:43886 Python selenium —— selenium与 ...

随机推荐

  1. buff/cache内存占用过多

    通过free -m 查看到 buff/cache的值比较大,导致可使用的内存有120M左右了 通过下面的命令,清除缓存 echo 1 > /proc/sys/vm/drop_caches ech ...

  2. Linux CentOS 6.7 挂载U盘

    1. 首先查看U盘是否成功安装fdisk -l 2. 在/mnt下创建U盘目录mkdir /mnt/usb 3. 挂载U盘mount -t vfat /dev/sdb1 /mnt/usb 4. 卸载U ...

  3. 列表中的index,extend,count方法

    列表中的index,extend,count方法 #_author:Administrator#date:2019/10/24#1.index方法l=['blue','red','white','bl ...

  4. python相关软件安装流程图解——虚拟机安装——CentOS-7-x86_64-DVD-1810——CentOS-01下载——CentOS-02安装——CentOS-03配置操作

    http://www.xitongzhijia.net/soft/24315.html http://www.downxia.com/downinfo/4574.html     .

  5. IIS服务器不可用

    很恼火,突然发现IIS中的应用程序不能浏览页面了,试了试任何一个aspx页面也打不开.重新用vs.net建立了个新的web应用程序,现象依旧. 电脑环境: win2003 问题现象: 1)当想浏览某个 ...

  6. mysql重点,表查询操作和多表查询

    表单查询 1. 完整的查询语句语法 select distinct(* or 字段名 or 四则运算 )from 表名 where 条件 group by 条件 having 条件 order by ...

  7. vue-router使用入门

    安装及基本配置 # 安装 npm install vue-router # 使用 import Vue from 'vue' import VueRouter from 'vue-router' Vu ...

  8. 配置vue项目的自定义config.js

    [1]不采用脚手架的config文件夹中的配置文件 [2]在static文件夹下,自定义一个congfig.js文件 // 配置开发环境下服务器地址 window.Glod = { pmsApiUrl ...

  9. (转)打开Mac OSX原生的NTFS功能

    xingchongsmbp3:~ xingchong$ xingchongsmbp3:~ xingchong$ xingchongsmbp3:~ xingchong$ sudo ln -s /Volu ...

  10. (转)nginx配置location总结及rewrite规则写法

    注: rewrite 只能对域名后边的除去传递的参数外的字符串起作用,并且要写全域名后面的部分,如: http://i.com:9090/php/midou/admin.php/index/login ...