Selenium教程

合集下载

SeleniumIDE基础教程

SeleniumIDE基础教程

SeleniumIDE基础教程
首先,你需要在浏览器中安装Selenium IDE插件。

Selenium IDE支持Chrome和Firefox浏览器。

安装完插件后,你会在工具栏或菜单栏上看到Selenium IDE的图标。

点击Selenium IDE图标打开插件。

在插件打开后,你将看到一个类似于录制机的界面,这表明你已经进入了录制模式。

下面是一些基本的录制和回放操作:
1.打开URL:
在录制模式下,点击Selenium IDE上的“打开”按钮,然后输入你要打开的URL。

按回车键或点击“确认”按钮,Selenium IDE将记录下这个操作。

2.点击元素:
在录制模式下,使用鼠标点击页面上的元素,例如按钮、链接或输入框。

这个操作将被记录下来,并在回放模式下再次执行。

3.输入文本:
在录制模式下,选择一个文本输入框,并在键盘上输入一些文本。

这个操作将被记录下来,并在回放模式下再次执行。

4.选择下拉框选项:
在录制模式下,选择一个下拉框,并选择其中的选项。

选择选项的操作将被记录下来,并在回放模式下再次执行。

selenium学习教程之定位以及切换frame(iframe)

selenium学习教程之定位以及切换frame(iframe)

selenium学习教程之定位以及切换frame(iframe)总有⼈看不明⽩,以防万⼀,先在开头⼤写加粗说明⼀下:frameset不⽤切,frame需层层切!很多⼈在⽤selenium定位页⾯元素的时候会遇到定位不到的问题,明明元素就在那⼉,⽤firebug也可以看到,就是定位不到,这种情况很有可能是frame在搞⿁(原因之⼀,改天专门说说定位不到元素,可能的⼀些原因及处理办法)。

frame标签有frameset、frame、iframe三种,frameset跟其他普通标签没有区别,不会影响到正常的定位,⽽frame与iframe对selenium定位⽽⾔是⼀样的,selenium有⼀组⽅法对frame进⾏操作。

1.怎么切到frame中(switch_to.frame())selenium提供了switch_to.frame()⽅法来切换frameswitch_to.frame(reference)不得不提到switch_to_frame(),很多⼈在这样写的时候会发现,这句话被划上了删除线,原因是这个⽅法已经out了,之后很有可能会不⽀持,建议的写法是switch_to.frame()reference是传⼊的参数,⽤来定位frame,可以传⼊id、name、index以及selenium的WebElement对象,假设有如下HTML代码 index.html:<html lang="en"><head><title>FrameTest</title></head><body><iframe src="a.html" id="frame1" name="myframe"></iframe></body></html>想要定位其中的iframe并切进去,可以通过如下代码:from selenium import webdriverdriver = webdriver.Firefox()driver.switch_to.frame(0) # 1.⽤frame的index来定位,第⼀个是0# driver.switch_to.frame("frame1") # 2.⽤id来定位# driver.switch_to.frame("myframe") # 3.⽤name来定位# driver.switch_to.frame(driver.find_element_by_tag_name("iframe")) # 4.⽤WebElement对象来定位通常采⽤id和name就能够解决绝⼤多数问题。

Selenium教程

Selenium教程

Selenium IDE
・Selenium IDE:FireFox的一个插件,支持脚本録制。
Selenium RC
・Selenium-Remote Control 缩写,使用具体的语言来编写测试类。 ・Selenium RC支持很多语言,如:C#,Java,Python,Ruby等。
Selenium Grid
附 录
① 官方网站 / ② Xpath教程 /xxl/XPathTutorial/General_chi/examples.html ③ Selenium各版本下载 /download/ ④ Selenium Doc /docs/03_selenium_ide.html ⑤ Selenium RC API /selenium-remote-control/0.9.2/doc/java/ com/thoughtworks/selenium/DefaultSelenium.html#DefaultSelenium (mandProcessor) ⑥ 部分API中文说明 同级文件夹下的[Selenium API参考手册.odt]
Selenium的语法基本元素
① 动作(Actions) 一般用于操作应用程序的状态。它们通过如点击链接和选择选项的方式进行工作。 如果一个动作执行失败,或是有错误,当前的测试将会停止执行。 ② 验证页面元素 可以验证应用程序的状态是否同所期望的相一致。相当于验证测试点。 ①断言Assertion:验证失败时,该测试将终止。 ②验证Verification:验证失败时,该测试将继续执行,并将错误记入日志。 ③waitfor:等待某些条件变为真(可用于Ajax应用程序的测试)。如果该条件已经为真 ,他们将立即成功执行。反之,如果该条件不为真,则将失败并暂停测试,直到超过 当前所设定的超时时间。 ③ 定位元素(Element Locators) 告诉Selenium是向HTML中的哪一个元素发送命令,许多命令需要一个target属性的元素 定位。 id和name,XPath定位,DOM定位,CSS定位等 ④ 匹配文本模式 通配符 例:dir *.com 正则表达式模式: 精确模式:用处不大。

Selenium自动化测试工具使用指南

Selenium自动化测试工具使用指南

Selenium自动化测试工具使用指南第一章:引言自动化测试是现代软件开发中不可或缺的一环。

它能够有效地减少测试用例的执行时间,提高测试的准确性和一致性。

Selenium 自动化测试工具是业界常用的自动化测试框架之一,通过模拟用户操作浏览器,可以对Web应用程序进行自动化功能测试。

本文将深入介绍Selenium的各个组成部分及其使用方法,帮助读者全面了解和应用这一工具。

第二章:Selenium基础知识2.1 Selenium概述Selenium是一个开源的自动化测试工具,支持多种浏览器和操作系统。

它包含了不同语言的客户端库,如Java、Python、C#等,可以根据不同需求选择合适的语言进行自动化测试开发。

2.2 Selenium组成部分Selenium主要由三个组成部分构成:- Selenium WebDriver:用于模拟用户在浏览器上的操作,如点击、输入、下拉等,支持多种浏览器和操作系统。

- Selenium IDE:一个Firefox插件,用于录制和回放用户在浏览器上的操作,适用于简单的测试任务。

- Selenium Grid:用于在多台机器上并行执行测试用例,可提高测试效率。

第三章:使用Selenium WebDriver3.1 Selenium WebDriver安装与配置首先,我们需要下载并安装Selenium WebDriver的驱动程序,根据被测试的浏览器进行选择。

然后,将驱动程序的路径添加到系统环境变量中,以便Selenium能够找到并使用它。

3.2 编写第一个Selenium测试用例在开始编写测试用例之前,我们需要先准备好测试环境,包括所需的浏览器和被测网站。

然后,通过编写具体的代码,使用Selenium WebDriver的API模拟用户的操作,如打开网页、输入表单、点击按钮等。

3.3 元素定位Selenium WebDriver提供了多种方式来定位网页上的元素,包括通过ID、Name、XPath等唯一标识符进行定位。

selenium ide的使用方法

selenium ide的使用方法

selenium ide的使用方法
Selenium IDE是一个用于Web应用程序测试的集成开发环境(IDE),可以用于录制、编辑和调试测试用例。

以下是Selenium IDE的使用方法:
1. 安装Selenium IDE:在浏览器插件商店中搜索Selenium IDE,并安装到浏览器中。

2. 启动Selenium IDE:在浏览器中打开Selenium IDE插件。

3. 录制测试用例:点击Selenium IDE的录制按钮,在浏览器中执行测试操作。

Selenium IDE将记录下每一步操作。

4. 编辑测试用例:在Selenium IDE中,可以对录制的测试用例进行编辑,比如修改操作步骤、添加断言。

5. 调试测试用例:可以单步运行测试用例,查看每一步操作的执行结果,并查看错误信息。

如果测试用例中有错误,可以在调试过程中找到并修复错误。

6. 运行测试用例:完成测试用例的录制和调试后,可以直接运行测试用例。

Selenium IDE将自动执行用例中的每一个步骤,并给出结果。

7. 导出测试用例:可以将测试用例导出为其他格式,比如Java、Python、Ruby
等脚本语言。

这样可以将用例集成到其他测试框架中进行执行。

8. 保存测试结果:Selenium IDE可以将测试结果保存为HTML或其他格式的报告,方便查看和分析测试结果。

以上是Selenium IDE的基本使用方法,通过录制、编辑、调试和运行测试用例,可以完成方便快捷的Web应用程序测试。

Selenium使用手册

Selenium使用手册

Selenium使用手册摘要:本文介绍selenium的安装及简单使用。

类别:测试工具目录:安装 (1)TA Schedule的使用 (4)工作流 (6)Script目录规则 (7)CVS使用规则 (8)其它 (8)参考资料 (8)安装1、IDE 的安装:(1)首先安装FireFox 1.5,或FireFox 2.0(2)打开FireFox,访问ftp://172.16.202.128/selenium-ide进行IDE 的安装, 或访问selenium的官方站点Selenium-ide15.xpi -→ FireFox1.5Selenium-ide20.xpi -→ FireFox2.0(3)重新启动FireFox,打开工具菜单,点击Selenium IDE 后即可弹出IDE窗口。

(4)更新selenium-ide,访问ftp://172.16.202.128/selenium-ide 将Ide-update15.bat -→ FireFox1.5Ide-update20.bat-→ FireFox2.0下载到本地目录,运行即可自动更新IDE。

注意:ide-update.bat 将保持不变,不必每次下载,保存在本机后直接运行即可,执行此文件时,须将FireFox关闭。

(5)新建selenium 的log 目录D:\Selenium_log , 当我们在自动执行case 的时候,selenium将错误页面保存到此目录。

(6)至此,Selenium-IDE已成功安装,并更新至最新,运行Firefox,打开IDE,打开一个页面并执行相关操作,IDE将录制相关动作,如下图:2、访问IDE中的Core使用chrome 方式访问core 来批量执行case,比如:chrome://selenium-ide/content/sel/core/TestRunner.html?test=http://172.16.202.1 03/Saga/MC/suite/BVT.html&userExtensionsURL=&baseURL=https://19638srv /其中test为test suite的URL,在chrome模式下支持http 和file 两种方式来访问case。

selenium+chromedriver在服务器运行的详细教程

selenium+chromedriver在服务器运行的详细教程

selenium+chromedriver在服务器运⾏的详细教程1.前⾔想使⽤selenium从⽹站上抓数据,但有时候使⽤phantomjs会出错。

chrome现在也有⽆界⾯运⾏模式了,以后就可以不⽤phantomjs了。

但在服务器安装chrome时出现了⼀些错误,这⾥总结⼀下整个安装过程2.ubuntu上安装chrome# Install Google Chrome# https:///questions/79280/how-to-install-chrome-browser-properly-via-command-linesudo apt-get install libxss1 libappindicator1 libindicator7wget https:///linux/direct/google-chrome-stable_current_amd64.debsudo dpkg -i google-chrome*.deb # Might show "errors", fixed by next linesudo apt-get install -f这时应该已经安装好了,⽤下边的命⾏运⾏测试⼀下:这⾥是使⽤headless模式进⾏远程调试,ubuntu上⼤多没有gpu,所以–disable-gpu以免报错。

之后可以再打开⼀个ssh连接到服务器,使⽤命令⾏访问服务器的本地的9222端⼝:如果安装好了,会看到调试信息。

但我这⾥会报⼀个错误,下边是错误的解决办法。

1)可能的错误解决⽅法运⾏完上边的命令可能会报⼀个不能在root下运⾏chrome的错误。

这个时候使⽤下边⽅设置⼀下chrome1.找到google-chrome⽂件我的位置位于/opt/google/chrome/2.⽤vi打开google-chrome⽂件vi /opt/google/chrome/google-chrome在⽂件中找到exec -a "$0" "$HERE/chrome" "$@"3.在后⾯添加 –user-data-dir –no-sandbox即可,整条shell命令就是exec -a "$0" "$HERE/chrome" "$@" --user-data-dir --no-sandbox4.再重新打开google-chrome即可正常访问!3.安装chrome驱动chromedriver下载chromedriverchromedriver提供了操作chrome的api,是selenium控制chrome的桥梁。

Selenium新手入门教程

Selenium新手入门教程

支持 HTTPS/SSL 是 支持跨域 需要 Java 是 否
将测试结果保存 是 到磁盘 多语言支持 仅 Selenese
仅 Selenese 仅 Selenese
这里没有介绍 Selenium Grid,但介绍了另外一个 Selenium Core HTA,Selenium Core HTA 其实是 Selenium Core 的额外 模式,你只要 Selenium Core 配置稍加修改,即为 HTA 模式,Selenium Core HTA 可以在 IE 最高安全等级(特权)下 工作,这意味着它仅能在 IE 下工作,由于限制较大,下面将排除对 Selenium Core HTA 的讨论。 1.浏览器支持: (1).Selenium IDE 仅可以在 Firefox 中工作。 (2).Selenium Remote Control 支持很多浏览器,包括最常用的:firefox,ie,safari 等 N 款浏览器。 (3).Selenium Core 支持的浏览器是最广的,这点和它的实现有关。作为 IDE 和 RC 的引擎,Selenium Core 几乎可 以在任何浏览器中工作。 2.需要远程安装:是否需要在被测网站的服务端安装?
Selenium 名字的来源
在这里,我还想说一下关于 Selenium 名字的来源,很有意思的: >:Selenium 的中文名为“硒”,是一种化学元素的 名字,它对汞 (Mercury)有天然的解毒作用,实验表明汞暴露水平越高,硒对汞毒性的拮抗作用越明显,所以说硒 是汞的克星。大家应该知道 Mercury 测试工具系 列吧(QTP,QC,LR,WR...) ,他们功能强大,但却价格不菲,大 家对此又爱又恨!故 thoughtworks 特意把他们的 Web 开源测试工具命 名为 Selenium,以此帮助大家脱离汞毒。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Selenium 常用API③
selectWindow(windowID) - 选择一个弹出窗体;一旦一个弹出窗体被选中,所有的命令将指向该窗体。要再次 选择主窗体,将对象设定为null。 setTimeout(timeout) - 指定Selenium等待动作完成的等待时间。 - 需要等待的动作包括”open”和”waitFor*”。 - 默认超时为30秒。 waitForFrameToLoad(frameAddress,timeout) - 等待一个新的框架加载。 - Selenium通常会持续跟踪新页面和框架的加载状态,当其第一次注意到页面加载完 成,将会设定一个”newPageLoaded”标志。
Selenium IDE构筑
① Selenium IDE安装 在火狐的地址栏输入下列URL。 /selenium-ide/1.0.2/selenium-ide-1.0.2.xpi 安装完成后重启火狐。 ② Firebug 安装 https:///ja/firefox/addon/1843
Selenium版本:
・Selenium Core ・Selenium IDE ・Selenium RC ・Selenium Grid
Selenium Core
・支持DHTML的测试案例,它是Selenium IDE和Selenium Rc的引擎。 ・selenium-core 是使用HTML的方式来编写测试脚本,你也可以使用 Selenium-IDE 来录制脚本,但是目前Selenium-IDE只有 FireFox 版本。
Selenium IDE
・Selenium IDE:FireFox的一个插件,支持脚本録制。
Selenium RC
・Selenium-Remote Control 缩写,使用具体的语言来编写测试类。 ・Selenium RC支持很多语言,如:C#,Java,Python,Ruby等。
Selenium Grid
录制测试脚本
Selenium IDE使用介绍②
① 打开Selenium IDE: FireBox的「オプション」→フォーマット,可以转换成各种测试工具的 代码,如下所示.
package com.example.tests; import com.thoughtworks.selenium.*; import org.testng.annotations.*; import static org.testng.Assert.*; import java.util.regex.Pattern; public class 実例1 extends SeleneseTestNgHelper { @Test public void test実例1() throws Exception { // 登録画面 selenium.open("file:////menu.html"); selenium.type("firstname", "test1"); selenium.type("password", "password"); selenium.click("link=実例1へ遷移"); selenium.waitForPageToLoad("30000"); // 詳細画面テスト確認 assertEquals(selenium.getText("//td[1]"), "row 1, cell 1"); assertEquals(selenium.getText("//td[2]"), "row 1, cell 2"); assertEquals(selenium.getText("//tr[2]/td[1]"), "row 2, cell 1"); assertEquals(selenium.getText("//tr[2]/td[2]"), "row 2, cell 2"); assertEquals(selenium.getText("//tr[3]/td[1]"), "row 3, cell 1"); assertEquals(selenium.getText("//tr[3]/td[2]"), "row 3, cell 2"); } }
Selenium 常用API②
select(dropDownLocator, optionSpecifier) - 根据optionSpecifier选项选择器来选择一个下拉菜单选项。 pause(millisenconds) - 根据指定时间暂停Selenium脚本执行。 store(valueToStore, variablename) - 保存一个值到变量里。 click(elementLocator) - 点击连接,按钮,复选和单选框 storeVisible(locator,variableName) 判定指定元素是否可见。一个元素可以通过将其本身或其父级的CSS的visibility属性设 定为hidden,或将dispaly属性设定为none,以使其不可见。如果该元素不存在,此方法将 失败。
Selenium Rc构筑
① ② ③ ④ 下载:/download/ 创建一个基于JUnit或者TestNG等的一个工程,此处以JUnit为例。 利用SelniumIDE将录制的实例转换成JUnit的代码,作为class加入建立的工程中。 启动Selenium Rc的服务(可以把run.bat文件拷贝到selenium-server.jar同级目录) "C:\Program Files\Java\jdk1.6.0_10\bin\java" -jar selenium-server.jar ⑤ 使用JUnit运行即可。可参照附图JUnitRun.PNG。
Selenium IDE使用实例
① ② ③ ④ ⑤ ⑥ ⑦ ⑧ 最简单的一个例子:参照实例1。 带有子窗口(PopUp Window)的例子:参照实例2。 Publisher项目的测试NG实例:参照实例3。 Publisher项目的测试OK实例:参照实例4。 动态设定值实例:参照实例5。 Alert AND ConfirmBox实例:参照实例6。 使用JavaScript实例:参照实例7。 JavaScript代码中使用store变量实例:参照实例8。
Selenium IDE使用介绍①
① 打开Selenium IDE: FireBox的「ツール」→Selenium IDE,如下图所示. ② 功能说明:
测试相对URL 测试速度设定 测试Suite(多个测试Case)执行 测试Case(单个测试Case)执行 执行中可以随时暂停测试 单步执行测试 在TestRun中执行,基本不用
Selenium的语法基本元素
① 动作(Actions) 一般用于操作应用程序的状态。它们通过如点击链接和选择选项的方式进行工作。 如果一个动作执行失败,或是有错误,当前的测试将会停止执行。 ② 验证页面元素 可以验证应用程序的状态是否同所期望的相一致。相当于验证测试点。 ①断言Assertion:验证失败时,该测试将终止。 ②验证Verification:验证失败时,该测试将继续执行,并将错误记入日志。 ③waitfor:等待某些条件变为真(可用于Ajax应用程序的测试)。如果该条件已经为真 ,他们将立即成功执行。反之,如果该条件不为真,则将失败并暂停测试,直到超过 当前所设定的超时时间。 ③ 定位元素(Element Locators) 告诉Selenium是向HTML中的哪一个元素发送命令,许多命令需要一个target属性的元素 定位。 id和name,XPath定位,DOM定位,CSS定位等 ④ 匹配文本模式 通配符 例:dir *.com 正则表达式模式: 精确模式:用处不大。


仅Selenese

是 很多


仅Selenese
注: ①需要远程安装:是否需要在被测网站的服务端安装。 ②SSL的英文全称是Secure Sockets Layer中文名为"安全套接协议层"。 ③Selenium RC支持很多语言,如:C#,Java,Python,Ruby等。
名词解释
Firebug:是Firefox下的一款开发类插件,它集HTML查看和编辑、Javascript控制 台、网络状况监视器于一体,是开发JavaScript、CSS、HTML和 Ajax的得力助手。 xpath: XPath 是XML的查询语言,和SQL的角色很类似。 Selenese:Selenium的命令通常被称为selenese,是命令运行测试集,它没有条件( 没有"if"表达式),并且它没有循环(没有"For"表达式)。
Selenium优点:
・Selenium 测试直接在浏览器中运行,就像真实用户所做的一样。 ・Selenium 测试可以在IE、Mozilla 和 Firefox中运行,覆盖测试平台广。 ・通过编写模仿用户操作的Selenium测试脚本,可以从终端用户的角度来 测试应用程序。 ・通过在不同浏览器中运行测试,更容易发现浏览器的不兼容性。
Selenium 常用API①
open(url): - 在测试框架中打开一个URL,可以为相对和绝对URL。Open命令将等待页面加载完 成才继续进行。
Close() - 模拟用户点击弹出窗体或表单标题栏上的″关闭″按钮。
type(locator,value) - 设定一个输入域的值,如同你输入进去一样。 其同样可用于单选框,多选框等。在这些情况,value应为选项选择时的值,而不是 有效文本。 assertText verifyText verifyText - 验证页面相应对象值是否正确。 assertTextPresent VerifyTextPresent VerifyTextPresent waitForTextPresent - 判定指定文字在页面是▲ ▲ ▲ ▲ ▲ ▲
相关文档
最新文档