SeleniumTest自动化测试入门级学习笔记
- 格式:doc
- 大小:736.00 KB
- 文档页数:8
如何成为一名自动化测试初学者自动化测试是软件测试领域中不可或缺的一部分,它能够提高测试效率、减少人力成本,并且能够更好地保证软件质量。
对于初学者来说,学习自动化测试可能会感到有些困惑和无从下手。
本文将介绍一些学习自动化测试的方法和技巧,帮助初学者快速入门并提升技能。
一、了解自动化测试的基本概念和原理在开始学习自动化测试之前,首先需要对自动化测试的基本概念和原理有一定的了解。
自动化测试是通过使用脚本或工具来模拟用户的操作,以验证软件的正确性和稳定性。
了解自动化测试的基本原理,对于初学者来说是非常重要的。
二、学习编程语言和脚本语言自动化测试通常需要使用编程语言和脚本语言来编写测试脚本。
对于初学者来说,选择一门适合的编程语言是非常重要的。
常见的编程语言包括Python、Java、C#等,而脚本语言如Selenium、Appium等也是非常常用的。
初学者可以选择一门编程语言和脚本语言来学习,掌握其基本语法和常用操作。
三、学习自动化测试工具自动化测试工具是进行自动化测试的重要工具,掌握一些常用的自动化测试工具对于初学者来说是非常有帮助的。
常见的自动化测试工具包括Selenium、Appium、Jenkins 等。
通过学习和使用这些工具,初学者可以更好地进行自动化测试,并且提高测试效率。
四、学习测试框架和设计模式测试框架和设计模式是自动化测试中的重要概念,对于初学者来说也是必须掌握的。
测试框架可以帮助我们更好地组织和管理测试用例,提高测试效率。
设计模式可以帮助我们编写更加可维护和可扩展的测试代码。
学习测试框架和设计模式,对于初学者来说是提升技能的关键。
五、实践和项目经验学习自动化测试不仅仅是理论知识的学习,更重要的是实践和项目经验的积累。
初学者可以通过参与一些开源项目或者实际项目来锻炼自己的技能。
通过实践,初学者可以更好地理解自动化测试的实际应用,并且提升自己的技能。
作为一名自动化测试初学者,需要了解自动化测试的基本概念和原理,学习编程语言和脚本语言,掌握自动化测试工具,学习测试框架和设计模式,并且通过实践和项目经验来提升自己的技能。
(七)⾃动化测试之selenium学习⼼得-实战技巧⼀、Selenium 提供的ActionChains类实现⿏标右键点击、双击、移动⿏标到某个元素、⿏标拖拽等应⽤场景我们以移动⿏标到某个元素为例。
⿏标移动到百度页⾯【设置】上显⽰下拉列表代码如下:from selenium import webdriver# 导⼊ActionChains 类from mon.action_chains import ActionChainswd = webdriver.Chrome()wd.implicitly_wait(10)wd.get('https:///')# 使⽤ ActionChains 来模拟⿏标移动到设置,下拉列表显⽰的操作ac = ActionChains(wd)ac.move_to_element(wd.find_element_by_id('s-usersetting-top')).perform()⼆、冻结界⾯有些⽹站上⾯的元素,我们⿏标放在上⾯,会动态弹出⼀些内容。
⿏标⼀移⾛后⼜消失,⽆法定位到元素属性,我们可以这么办哦在开发者⼯具栏 console ⾥⾯执⾏如下js代码setTimeout(function(){debugger}, 5000)这句代码什么意思呢?表⽰在 5000毫秒后,执⾏ debugger 命令执⾏该命令会浏览器会进⼊debug状态。
debug状态有个特性,界⾯被冻住,不管我们怎么点击界⾯都不会触发事件。
所以,我们可以在输⼊上⾯代码并回车执⾏后,⽴即⿏标放在我们需要的动态内容上⾯。
然后,我们仔细等待 5秒到了以后,界⾯就会因为执⾏了 debugger 命令⽽被冻住。
如下图所⽰:然后,我们就可以点击开发者⼯具栏的查看箭头,再去点击我们需要的内容,查看其属性了。
三、弹出对话框3.1、AlertAlert 弹出框,⽬的就是显⽰通知信息,只需⽤户看完信息后,点击 OK(确定)就可以了。
学会使用Selenium进行Web自动化测试在当今信息技术快速发展的时代,Web应用程序的普及使得Web自动化测试成为了一个不可或缺的环节。
而Selenium作为一种先进的自动化测试工具,可以方便地模拟用户对Web应用的操作,成为了自动化测试领域的瑰宝。
本文将为读者详细介绍Selenium的基本原理和使用方法,希望能帮助大家更好地学会使用Selenium进行Web自动化测试。
一、Selenium的基本原理Selenium是一个广泛应用于Web自动化测试的工具,它能够模拟用户在浏览器中的操作,进行自动化的测试过程。
它主要由三个核心部分组成:Selenium WebDriver、Selenium IDE和Selenium Grid。
其中,Selenium WebDriver是最重要的部分,它可以直接与浏览器进行交互,模拟用户的操作行为。
Selenium IDE则是用于录制和回放测试脚本的工具,而Selenium Grid则用于并行执行测试用例。
二、搭建Selenium环境在使用Selenium进行Web自动化测试之前,我们需要先搭建一个完整的测试环境。
首先,我们需要安装一个浏览器驱动程序,例如ChromeDriver或GeckoDriver,它将与Selenium WebDriver配合使用。
接着,我们还需要下载和配置Selenium的客户端库,这将提供各种语言的API,方便我们编写测试脚本。
三、编写测试脚本一般来说,我们可以使用各种编程语言(如Java、Python等)编写Selenium 的测试脚本。
下面以Python为例,简要介绍一下如何编写一个基本的测试脚本。
首先,我们需要导入Selenium的Python库。
在Python中,我们可以使用`import selenium`来导入库。
接着,我们需要创建一个WebDriver对象,用于实例化一个浏览器实例。
通过`driver = selenium.webdriver.Chrome()`来创建一个使用Chrome浏览器的WebDriver对象。
自动化测试Selenium Webdriver +java学习小结一、自动化测试的概念及意义:1.什么是自动化测试:一般是指软件测试的自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。
2.意义:让测试更有效率,利用更多的空余时间,减少人力资源。
二、selenium工具我用的是java语言,所以接下来的例子和方法都是基于java的。
1.环境配置(1)Jdk的配置;我用的是1.7的jdk,配置方法都一样,新建一个JAVA_HOME,把你装好的jdk的路径复制过去。
在新建一个CLASSPATH,变量值填写:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;然后找到path,没有就新建一个,在变量值中加上:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(像下图如果变量值中有内容,前面需加上“;”用来隔开)最后检验jdk是否安装正确,输入win+R,打开cmd,输入java -version,得到下图则说明安装成功:(2)Eclipse或者myeclipse工具;下载三个文件:selenium-java-2.48.2.jarselenium-java-2.48.2-srcs.jarSelenium-server-standalone-2.46.0.jar这三个文件要放到项目的lib中2.浏览器:支持ie,firefox,google。
二、小试身手1.打开浏览器:Firefox浏览器(我使用的是firefox,后面的例子也是使用的firefox,出错少,方便使用)A.如果你的火狐浏览器默认安装的:B.自定义安装的,需要指定路径:Google浏览器(需要下载一个Google的driverserver)Ie浏览器(需要下载一个ie的driverserver)2.打开网址(上下文的wd是我自己的命名,可以自己更改)3.完整的例子:三、更具体的运用1.查找页面元素通过id,name,text查询元素wd.findElement(By.id(""));wd.findElement((""));wd.findElement(By.linkText(""));一般没有特定要求的页面元素很多都没有id和name这时候我们就要用到一个强大的查询语句byxpath例如我们要定位到上图的图片,也就是欧曼的图标,我们用xpath定位:wd.findElement(By.xpath("//img[contains(@src,'themes/ auman/images/logo.png')]"));2.页面操作模拟鼠标点击:Wd.click();关闭网页:Wd.close();清空输入框中的内容:Wd.clear();在输入框中输入内容:Wd.sendKeys(“”);获取输入框中的内容:Wd.getText();选择下拉框中的元素:Select select = new Select(wd.findElement(By.id("select")));切换到某个frame:driver.switchTo().frame("");从一个frame切换到另一个frame:driver.switchTo().frame("");切换到某个window:driver.switchTo().window("windowName");返回父iframe:(一般在跳转frame之前都写上这个语句)driver.switchTo().defaultContent();刷新页面:wd.navigate().refresh();页面前进后退:wd.navigate().forward();wd.navigate().back();悬停鼠标:悬停鼠标可能你觉得为什么需要这个操作,我已欧曼为例子,像这一栏每个车型下都有多个元素,想要找到元素,这个时候就需要模拟鼠标悬停使得隐藏js的让我们可以找到:悬停前:悬停后:实例:4.设置等待时间:强行停止:(1000代表1s)Thread.Sleep(1000);全局等待:(单位:s)wd.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);5.得到当前页面的url:wd.getCurrentUrl();6.判断页面是否跳转正确assertEquals("/goods_list/2915/66/add_time/de sc/page-1.html",wd.getCurrentUrl());有各种验证方法,但是要是能够证明的特征元素才行,避免出现误差!可以验证url是否是你预期的,或者有些页面元素是你预期会有的。
学习使用Selenium自动化测试工具随着软件开发行业的发展,软件测试变得越来越重要。
在传统测试中,测试人员需要手动执行一系列测试用例,从而验证软件的功能和性能。
然而,这种手动测试容易出错,并且耗费大量时间和人力资源。
为了提高测试效率并减少人为因素的干扰,自动化测试工具逐渐兴起。
Selenium是一种广泛应用于Web应用程序的自动化测试工具。
它支持多种编程语言,如Java、Python和C#,可以模拟用户在浏览器中的行为,如点击、输入和导航。
通过使用Selenium,测试人员可以编写一组测试脚本,然后通过运行这些脚本自动执行一系列测试用例。
Selenium的安装和配置相对简单。
首先,你需要下载适用于你所使用的编程语言的Selenium库文件。
然后,将这些库文件导入到你的项目中。
接下来,你需要下载并安装适用于你所使用的浏览器的WebDriver驱动程序。
WebDriver是连接Selenium与浏览器的桥梁,它通过与浏览器进行通信来执行测试操作。
安装完驱动程序后,你就可以开始编写测试脚本了。
在编写测试脚本之前,你需要了解一些基本的Selenium概念。
首先是定位元素的方法。
Selenium提供了多种定位元素的方式,如通过ID、class、标签名、XPath 和CSS选择器等。
你需要根据页面的结构和元素的属性选择合适的定位方法。
其次是操作元素的方法。
Selenium提供了一系列操作元素的方法,如点击、输入、获取属性和文本等。
通过这些方法,你可以模拟用户与页面元素的交互。
编写测试脚本时,你可以使用任何你熟悉的编程语言。
下面以Python为例,介绍一些常用的Selenium操作。
首先是启动浏览器。
你可以使用WebDriver的不同实现类来启动不同的浏览器,如Chrome、Firefox和Safari等。
启动浏览器后,你需要指定要访问的URL。
接下来,你可以使用定位元素的方法找到页面的某个元素,并对其进行操作。
Selenium基础知识点总结⼀、⾃动化测试是什么?⾃动化测试是指通过⾃动化测试⼯具或其他⼿段,按照测试⼈员的测试计划进⾏⾃动测试,⽬的是减轻⼿⼯测试的⼯作量。
⼆、操作1.环境搭建1.为python安装selenium模块:pip install selenium2.下载相应浏览器驱动:Chromedriver;Firefoxdriver2.selenium知识点汇总⼀、selenium之元素定位正常情况下优先级:id>name>CSS selector>xpath优先选择CSS selector的原因1.css配合html⼯作,xpath配合xml⼯作2.相对xpath,更简洁3.前端开发主要使⽤css除了find_element_by_xxx(),find_element()函数也可以定位需要导⼊By即from mon.by import By.from selenium import webdriverfrom time import sleep"""测试demon是/demo/"""class Dwelement(object):#初始化def __init__(self):#实例化浏览器self.drive=webdriver.Chrome()#URlself.drive.get('/demo/')#全屏self.drive.maximize_window()#find_element_by_iddef Dw_by_id(self):self.drive.find_element_by_link_text('Link Test').click()sleep(1)self.drive.find_element_by_id('linkById').click()#返回self.drive.back()#返回主界⾯self.drive.back()#find_element_by_namedef Dw_by_name(self):self.drive.find_element_by_link_text('Form Test').click()#弹框al=self.drive.switch_to.alertsleep(1)al.accept()self.drive.find_element_by_name('t1').send_keys('hello selenium')sleep(1)self.drive.back()#find_element_by_cssdef Dw_by_css(self):self.drive.find_element_by_link_text('Form Test').click()#处理弹框al=self.drive.switch_to.alertal.accept()self.drive.find_element_by_css_selector('body > form > table > tbody > tr:nth-child(3)\> td:nth-child(2) > input[type=text]').send_keys('hello')#find_element_by_xpthdef Dw_by_xpth(self):self.drive.find_element_by_link_text('Form Test').click()#处理弹框al=self.drive.switch_to.alertsleep(1)al.accept()#/html/body/form/table/tbody/tr[3]/td[2]/input# self.drive.find_element_by_xpath('/html/body/form/table/tbody/tr[3]/td[2]/input').send_keys('hello')self.drive.find_element_by_xpath('.//tr[3]/td[2]/input').send_keys('hello')#find_element_by_clssnamedef Dw_by_class(self):self.drive.find_element_by_link_text('Element On Top Test').click()sleep(1)element=self.drive.find_elements_by_class_name('parent')print(element)if name=="main":e=Dwelement()e.Dw_by_id()sleep(1)e.Dw_by_name()sleep(1)e.Dw_by_xpth()e.Dw_by_css()e.Dw_by_class()⼆、selenium之浏览器控制1.控制浏览器⼤⼩2.浏览器前进、后退、刷新3.webdriver常⽤⽅法和其它⽅法from selenium import webdriverfrom time import sleepclass Browser(object):#初始化def __init__(self):#实例化浏览器self.driver=webdriver.Chrome()#以必应为demoself.driver.get('https:///')def Set_window(self):#控制浏览器⼤⼩设置宽800像素⾼600像素self.driver.set_window_size(800,600)#全屏显⽰self.driver.maximize_window()#最⼩浏览器self.driver.minimize_window()def Control(self):#定位搜索框s=self.driver.find_element_by_id('sb_form_q')s.send_keys('⾃动化测试')s.submit()#submit()⽅法⽤于提交表单。
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工具产生了兴趣。
为什么不是QTP呢,之前,QTP也有学习,后来还买了本《QTP自动化测试进阶指南》,看了几天,不知为什么看不下去。
嗯!我一直偏爱于开源的技术和工具。
最早用LR 做性能测试,后来发现了JMeter那个小工具后,基本上能用JMeter解决的问题,就不在用LR了。
开源的东西好处多多,当然了不足也多多。
这里就不啰嗦了。
呵呵。
下面说说selenium吧!想学一样东西,找相关学习资料是第一步。
说说我觉得比较好的资料:《selenium私房菜系列》、selenium官方文档、《selenium 1.0 testing tools 》。
不过,我还是买了一本书,我把在当当网的评论贴过来。
"本来想买,后来听朋友说,内容行间距很大,有凑页数的意思,前面部分是在翻译(selenium)官网的文档,包括后面也?有真正写出作者公司的实战经验。
打开一看基本和朋友说的一样。
为什么后来又要买了,有几分无奈在里面。
selenium 的中文资料并不多,网上的都是零散的皮毛,本人英语很差,所以,英文的资料看起来太吃力。
《selenium 1.0 testing tools 》其实是一本很好的书,可惜没有中文的,其实可以慢慢啃,但selenium 2.0都出来了,selenium RC 已经被selinum server替代,又加了很多新技术,跟不上啊。
所以,只能选了这本书,希望对我有所帮助。
" 下面我的笔记也算是基于《零成本实现web自动化测试---基于seleinum与Bromine》这本书的。
----//认识IDE面板关于selenium IDE的安装,请参考我的上一篇文章《selenium RC 配置》为了方便简洁,我们就按照上图的数字标记介绍:1。
轻松入门使用Selenium进行Web应用自动化测试Selenium是一种用于进行Web应用自动化测试的强大工具。
它提供了丰富的功能和灵活的接口,使得开发人员可以轻松地编写和执行自动化测试脚本。
本文将介绍Selenium的基本概念和使用方法,并以章节形式展示不同方面的具体内容,从而帮助读者轻松入门使用Selenium进行Web应用自动化测试。
第一章:Selenium简介在本章中,我们将介绍Selenium的背景和发展历程,并讲解Selenium的基本架构和工作原理。
我们还会介绍Selenium的优势和应用场景,以帮助读者理解为什么选择Selenium作为Web应用自动化测试工具。
第二章:Selenium环境搭建在本章中,我们将详细介绍如何搭建Selenium的开发环境。
我们将讲解如何安装Selenium WebDriver和相关的浏览器驱动程序,并配置所需的浏览器插件和依赖项。
我们还会介绍如何配置测试环境和项目结构,以便开始编写自动化测试脚本。
第三章:Selenium基本操作在本章中,我们将介绍Selenium的基本操作。
我们将讲解如何启动和关闭浏览器,如何导航到指定的URL地址,以及如何查找和操作Web页面上的元素。
我们还会介绍Selenium提供的丰富的选择器和定位方法,以帮助读者准确地定位和操作页面元素。
第四章:页面交互与表单操作在本章中,我们将介绍如何在自动化测试脚本中实现页面交互和表单操作。
我们将讲解如何点击按钮、填写表单、选择选项、上传文件等操作。
我们还会介绍如何处理弹出窗口和处理JavaScript弹窗,以提高测试脚本的覆盖度和准确性。
第五章:数据驱动测试在本章中,我们将介绍如何使用数据驱动测试来提高自动化测试脚本的可复用性和可维护性。
我们将讲解如何从外部文件(如Excel、CSV)读取测试数据,并将其应用于测试脚本中。
我们还会介绍如何使用参数化测试框架,为测试脚本提供不同的输入数据和参数。
快速入门Selenium自动化测试框架本文将介绍Selenium自动化测试框架的快速入门,以帮助初学者更快地上手该框架。
文章分为以下几个章节:安装配置章节、定位元素章节、页面交互章节、数据驱动章节、测试报告章节和常见问题解答章节。
每个章节将详细介绍相关内容,并提供实际案例或代码示例,帮助读者理解和实践。
第一章:安装配置在开始使用Selenium自动化测试框架之前,首先需要进行安装和配置。
1. 安装Python环境:Selenium使用Python编写,因此需要先安装Python的开发环境。
可以从官方网站下载Python的最新版本,并按照安装向导进行安装。
2. 安装Selenium库:安装好Python环境后,通过命令行或终端工具运行以下命令来安装Selenium库:```pip install selenium```3. 安装浏览器驱动:Selenium需要与特定的浏览器进行交互,因此还需要安装浏览器驱动。
不同的浏览器需要对应的驱动程序。
例如,如果使用Chrome浏览器,需要下载和安装ChromeDriver。
可以通过浏览器驱动的官方网站下载对应版本的驱动,并将驱动文件添加到系统的环境变量中。
第二章:定位元素在使用Selenium进行自动化测试时,需要定位页面上的元素,如文本框、按钮、链接等,以便与之交互。
1. ID定位:通过元素的id属性来定位元素,可以使用`find_element_by_id`方法进行定位。
```pythonelement = driver.find_element_by_id("element_id")```2. Name定位:通过元素的name属性来定位元素,可以使用`find_element_by_name`方法进行定位。
```pythonelement = driver.find_element_by_name("element_name")```3. XPath定位:通过元素在文档中的路径来定位元素,可以使用`find_element_by_xpath`方法进行定位。
Selenium 自动化验收测试如何使用Selenium 测试工具对Ruby on Rails 和Ajax 应用程序进行功能测试验收测试(也称功能测试)是用来测试手工任务的功能的,但是手工测试这些任务可能很花时间,并且容易出现人为的错误。
在本文中,作者为架构师、开发人员和测试人员展示了如何使用Selenium 测试工具来自动化验收测试。
通过自动化测试,可以节省时间,并消除测试人员所犯的错误。
文中还给出了一个例子,以演示如何将Selenium 应用到现实中使用Ruby on Rails 和Ajax 的项目上。
Web 应用程序的验收测试常常涉及一些手工任务,例如打开一个浏览器,并执行一个测试用例中所描述的操作。
但是手工执行的任务容易出现操作人员人为的错误,也比较费时间。
因此,尽可能将这些任务自动化,以消除人为因素,这是一种很好的做法。
于是Selenium 之类的测试工具就有了用武之地。
Selenium 帮助您自动化验收测试,从而可以构建经过更严格测试、因而更为可靠也更易于维护的软件。
验收测试也称黑盒测试和功能测试,是测试和检验应用程序是否能按照涉众(stakeholder)的功能性需求、非功能性需求和其他重要需求来运行的一种方法。
验收测试是单元测试和组合测试的补充,后两者通常是使用xUnit 框架编写的。
验收测试也可以使用编程语言来编写,但是Selenium 和其他类似的工具,例如Fitnesse,也支持用特定于工具的文档格式编写测试。
验收测试与单元测试和组合测试有以下不同之处:∙应用程序是作为一个完整的端到端实体来测试的,而不是像单元测试和组合测试那样,只是测试一个类或一组类。
∙验收测试是在用户界面(例如一个浏览器)上执行的,而不是在Web 应用程序界面上执行的。
∙编写测试用例的人不一定知道应用程序的内部结构,因此也被称作黑盒测试。
非技术性用户也可以编写验收测试。
背景知识在讨论Selenium 之前,我要介绍关于以下三个话题的一些背景知识,因为这些话题虽然不是本文的主题,但是和本文密切相关:∙持续集成∙Ajax∙Ruby/Ruby on Rails持续集成持续集成的目标是自动化构建和测试过程,以便每天自动运行一次或多次这些过程,而不是每个月手动地运行一次。
Selenium自动化测试入门指南第一章:介绍SeleniumSelenium是一种广泛应用于Web应用程序测试的工具。
它可以模拟用户在浏览器中的操作,并自动执行指定的测试任务。
Selenium支持多种编程语言,并且可以在各种浏览器上运行。
本章将介绍Selenium的起源、功能以及常见的应用场景。
第二章:安装Selenium在开始使用Selenium之前,我们需要安装它的相应组件和配置环境。
本章将介绍如何在不同的操作系统上安装Selenium,并提供针对各种浏览器的详细配置步骤。
第三章:Selenium WebDriverSelenium WebDriver是Selenium的核心组件之一,它提供了与浏览器的交互功能。
本章将详细介绍WebDriver的使用方法,包括如何启动浏览器、操作浏览器窗口和页面元素,以及处理浏览器弹窗等。
第四章:Selenium元素定位在自动化测试中,准确地定位页面元素是非常重要的。
本章将介绍Selenium中常用的元素定位方法,包括根据ID、名称、类名、标签名、链接文本等定位方式,以及使用XPath和CSS选择器等更高级的定位技巧。
第五章:测试框架和测试用例设计在进行自动化测试时,我们需要使用合适的测试框架来组织和管理测试用例。
本章将介绍常用的测试框架,如JUnit和TestNG,并提供测试用例设计的一些常见技巧和最佳实践。
第六章:Selenium GridSelenium Grid是一个工具,可用于在多个机器上并行运行Selenium测试。
本章将介绍如何配置和使用Selenium Grid,以便在多个浏览器和操作系统下同时执行测试,提高测试效率。
第七章:数据驱动测试数据驱动测试是一种常见的测试方法,可以通过提供不同的输入数据来执行相同的测试用例。
本章将介绍如何使用Selenium进行数据驱动测试,以及如何从外部文件(如Excel、CSV或数据库)读取测试数据。
第八章:性能测试除了功能测试外,性能测试也是自动化测试中的一个重要方面。
Python Selenium Web 入门自动化测试开发习题及答案解析(答案见尾页)一、选择题1. 以下哪个不是Selenium中的常用浏览器?A. ChromeB. FirefoxC. SafariD. Internet Explorer2. Selenium中的WebDriver是一个什么类型的对象?A. 界面元素B. 浏览器实例C. 测试用例D. 数据库记录3. 下列哪个方法可以用来判断一个元素是否存在?A. if element.is_displayed()B. if element.is_enabled()C. if element.is_selected()D. if element.is_found()4. Selenium支持哪种编程语言?A. JavaB. PythonC. RubyD. C#5. 如何在Selenium中定位一个元素?A. element = driver.find_element_by_id("login")B. element = driver.find_element_by_xpath("//div[@id='login']")C. element = driver.find_element_by_link_text("Login")D. element = driver.find_element_by_partial_link_text("Login")6. 下列哪种操作不会触发Selenium中的异常?A. webdriver.find_element_by_id()B. webdriver.find_element_by_xpath()C. webdriver.find_element_by_link_text()D. webdriver.find_element_by_partial_link_text()7. Selenium中的WebElement可以通过哪个方法获取其文本内容?A. textB. get_attribute("value")C. get_text()D. find_element_by_id()8. Selenium中的browser.quit()方法用于什么?A. 关闭当前窗口B. 关闭所有窗口C. 重新启动浏览器D. 退出Selenium驱动程序9. 下列哪个方法可以用来模拟用户点击一个按钮?A. button.click()B. element.send_keys("click me")C. button.submit()D. button.send_keys("submit")10. HTML页面测试中,Selenium如何模拟用户点击按钮?A. 使用`click()`方法B. 使用`submit()`方法C. 使用`send_keys()`方法D. 使用`execute_script()`方法11. 如何使用Selenium来测试网页中的表单?A. 直接使用WebDriverB. 使用find_element_by_name或find_element_by_idC. 使用send_keys或send_element_by_name方法D. 使用execute_script方法12. 在Selenium中,如何定位网页中的元素?A. 使用find_element_by_name或find_element_by_idB. 使用send_keys或send_element_by_name方法C. 使用execute_script方法D. 使用XPath或CSS选择器13. Selenium如何模拟键盘敲击操作?A. 使用send_keys方法B. 使用execute_script方法C. 使用Keyboard类D. 使用Input方法14. 如何使用Selenium进行网页的翻页操作?A. 使用execute_script方法B. 使用click()方法C. 使用send_keys方法D. 使用page_source属性15. Selenium中的WebDriver有什么特点?A. 跨浏览器支持B. 与操作系统无关C. 可以执行JavaScript代码D. 只能操作前端页面16. 如何在Selenium中处理alert对话框?A. 使用execute_script方法B. 使用click()方法C. 使用send_keys方法D. 忽略此警告17. 如何使用Selenium进行网络请求?A. 使用send_get方法B. 使用execute_script方法C. 使用XMLHttpRequest对象D. 使用fetch()方法18. Selenium如何判断网页是否成功加载?A. 通过检查page_source属性B. 通过检查response_code属性C. 通过检查title属性D. 通过检查body属性19. Selenium如何处理 cookies?A. 使用 CookieManager 类B. 使用 WebDriverExecutor 类C. 使用 find_elements_by_name 方法D. 使用 session_manager 类20. 下列哪个选项不是Selenium中的WebDriver?A. ChromeDriverB. FirefoxDriverC. EdgeDriverD. SafariDriver21. 在Selenium中,如何定义一个CSS的选择器?A. element = driver.find_element_by_id("username")B. element = driver.find_element_by_class_name("login-form")C. element = driver.find_element_by_tag_name("input")D. element = driver.find_element_by_link_text("Sign in")22. 以下哪种方法可以用来测试元素的样式属性?A. driver.get_attribute(element, "style")B. driver.execute_script("return document.getElementById('username').style")C. driver.find_element_by_css_selector("#username").get_attribute("style")D. driver.find_element_by_id("username").get_attribute("style")23. Selenium中的WebElement类有哪些常用的方法?A. find_element_by_idB. find_element_by_class_nameC. find_element_by_tag_nameD. find_element_by_link_text24. 如何使用Selenium来测试JavaScript代码?A. driver.execute_script("return someScript();")B. driver.execute_script("someScript();")C. driver.execute_script("eval('someScript()');")D. driver.execute_script("alert('someScript());")25. 如何在Selenium中测试AJAX请求?A. driver.send_keys("username")B. driver.click(By.ID, "submit")C. driver.send_keys("password")D. driver.send_keys("captcha")26. 如何在Selenium中测试表单输入?A. driver.send_keys("username")B. driver.send_keys("password")C. driver.send_keys("captcha")D. driver.send_keys("123456")27. 如何在Selenium中测试表单验证?A. driver.find_element_by_id("username").send_keys("username")B. driver.find_element_by_id("username").clear()C. driver.find_element_by_class_name("error-message").click()D. driver.find_element_by_id("password").send_keys("password")28. 什么是指定脚本的定位方法?B. CSS selectorC. JavaScript codeD. HTML tag29. 如何使用Selenium来实现JavaScript脚本的测试?A. 使用`execute_script()`方法B. 使用`send_keys()`方法C. 使用`submit()`方法D. 使用`clear_property()`方法30. 如何在测试过程中处理异常?A. 使用try-except语句B. 使用assert statementC. 使用 logging模块记录日志D. 将异常抛出到外部31. 如何将测试结果写入文件?A. 使用Selenium的`save_output()`方法B. 使用`logging`模块记录日志C. 使用断言库的`capture()`方法捕获异常D. 将结果写入数据库32. 如何执行多个元素的点击操作?A. 使用`click()`方法逐个点击元素B. 使用`find_element_by_*`方法查找元素并进行点击C. 使用`submit()`方法模拟点击按钮D. 使用`execute_script()`方法执行脚本进行点击33. 什么是JavaScript中的事件监听器?A. 函数B. 类C. 对象34. 如何获取元素的属性值?A. 使用`get_attribute()`方法B. 使用`send_keys()`方法C. 使用正则表达式进行匹配D. 使用`execute_script()`方法执行脚本获取属性值35. 如何判断页面是否加载完成?A. 通过检查页面元素是否存在B. 通过检查页面的HTTP状态码C. 通过检查是否有网络请求D. 通过检查页面元素的内容36. 如何处理页面上弹出的警告框?A. 使用`accept()`方法接受警告框B. 使用`dismiss()`方法关闭警告框C. 使用`alert()`方法显示警告框D. 将警告框的信息输出到控制台37. 如何实现对网页的滚动?A. 使用`scroll_to()`方法B. 使用`execute_script()`方法C. 使用`send_keys()`方法模拟键盘输入D. 使用`set_window_pos()`方法38. 请问在Selenium中,如何模拟用户点击表单中的“提交”按钮?A. 使用webdriver.find_element_by_id("submit")B. 使用webdriver.find_element_by_name("submit")C. 使用webdriver.find_element_by_class_name("submit")D. 使用webdriver.execute_script("arguments[0].click();", arguments[0])39. 请问如何使用Selenium来验证表单中的输入框是否已经成功提交?A. 通过检查是否有名为"success"的元素B. 通过检查是否有名为"error"的元素C. 通过检查表单元素的value属性D. 通过检查HTTP状态码40. 如何使用Selenium来模拟用户在表单中输入文本?A. 使用webdriver.send_keys("test")B. 使用webdriver.find_element_by_id("test")C. 使用webdriver.find_element_by_name("test")D. 使用webdriver.execute_script("arguments[0].value = 'test';", arguments[0])41. 在Selenium中,如何获取表单中的所有输入框元素?A. webdriver.find_elements_by_idB. webdriver.find_elements_by_nameC. webdriver.find_elements_by_class_nameD. webdriver.find_elements_by_tag_name42. 请问如何使用Selenium来模拟用户在表单中选择一个选项?A. 使用webdriver.click()B. 使用webdriver.find_element_by_id("option1")C. 使用webdriver.find_element_by_name("option1")D. 使用webdriver.find_element_by_class_name("option1")43. 如何使用Selenium来验证表单中的文本框是否已经成功提交?A. 通过检查是否有名为"success"的元素B. 通过检查是否有名为"error"的元素C. 通过检查表单元素的value属性D. 通过检查HTTP状态码44. 请问如何使用Selenium来模拟用户在下拉列表中选择一个选项?A. 使用webdriver.click()B. 使用webdriver.find_element_by_id("select")C. 使用webdriver.find_element_by_name("select")D. 使用webdriver.find_element_by_class_name("select")45. 如何使用Selenium来获取表单中的第一个输入框的值?A. webdriver.find_elements_by_idB. webdriver.find_elements_by_nameC. webdriver.find_elements_by_class_nameD. webdriver.find_elements_by_tag_name46. 请问如何使用Selenium来模拟用户在搜索框中输入关键字?A. 使用webdriver.send_keys()B. 使用webdriver.find_element_by_id("search")C. 使用webdriver.find_element_by_name("search")D. 使用webdriver.execute_script("arguments[0].value = 'test';", arguments[0])47. 如何使用Selenium来验证表单中的数字输入框是否已经成功提交?A. 通过检查是否有名为"success"的元素B. 通过检查是否有名为"error"的元素C. 通过检查表单元素的value属性D. 通过检查HTTP状态码48. 哪种浏览器是最新的?A. ChromeB. FirefoxC. SafariD. Edge49. Selenium WebDriver是用来操作哪种浏览器的?A. ChromeB. FirefoxC. SafariD. Edge50. 在Selenium中,如何启动一个新窗口?A. driver.open_new_window()B. driver.maximize_window()C. driver.switch_to.window()D. driver.create_window()51. 如何获取当前活动的浏览器窗口?A. driver.get_windows()B. driver.find_elements_by_id()C. driver.execute_script("return document.getWindows()")D. driver.manage_windows()52. 如何在Selenium中切换标签页?A. driver.switch_to.window(driver.current_window_handle)B. driver.go_to(driver.url)C. driver.find_element_by_id("tab-switch")D. driver.execute_script("arguments[0].click();", "tab-switch")53. 如何关闭当前活动的浏览器窗口?A. driver.close_window()B. driver.minimize_window()C. driver.switch_to.window(driver.current_window_handle)D. driver.quit()54. 如何打开一个特定的URL?A. driver.get(driver.url)B. driver.go_to(driver.url)C. driver.find_element_by_id("go-to-url")D. driver.execute_script("arguments[0].click();", "go-to-url")55. 如何等待页面加载完成?A. driver.wait_for_element_located()B. driver.until_ PageNotFoundException. occurs()C. driver.execute_script("arguments[0].click();", "load-more-button")D. driver.find_element_by_id("load-more-button")56. 如何模拟用户点击事件?A. driver.click(driver.find_element_by_id("submit-button"))B. driver.send_keys("some-text")C. driver.execute_script("arguments[0].click();", "submit-button")D. driver.execute_script("arguments[0].send_keys('some-text');")57. 如何定位一个元素?A. driver.find_element_by_id()B. driver.find_element_by_class_name()C. driver.find_element_by_xpath()D. driver.find_element_by_link_text()58. 请问Selenium WebDriver是一个什么类型的工具?A. 单元测试框架B. 自动化测试框架C. UI设计工具D. 前端开发工具59. 以下是哪种浏览器支持最多的是Selenium WebDriver?A. ChromeB. FirefoxC. SafariD. Internet Explorer60. 在Selenium中,如何定义一个等待元素的策略?A. sleep(10)B. wait_for_element_by_css_selector()C. wait_for_element_by_id()D. wait_for_element_by_xpath()61. 请问Selenium WebDriver可以用来做什么?A. 进行UI自动化测试B. 进行后端自动化测试C. 进行性能测试D. 进行数据库操作62. 以下哪个方法是用于执行JS代码的?A. find_element_by_css_selector()B. find_element_by_id()C. execute_script()D. scroll_to()63. 如何判断一个元素是否存在?A. if element存在B. element是否存在?C. is element present?D. does element exist?64. 请问Selenium中的“翻页”是指什么?A. 点击页面B.滚动页面C. 切换选项卡D. 提交表单65. 以下哪种方法不能用来定位元素?A. find_element_by_css_selector()B. find_element_by_id()C. find_element_by_xpath()D. find_element_by_link_text()66. Selenium WebDriver的工作原理是什么?A. 通过网络请求向服务器发送HTML页面B. 将HTML页面下载到本地并解析C. 直接执行JavaScript代码D. 通过操作系统API模拟浏览器行为67. 请问Selenium WebDriver的框架的核心是什么?A. 测试用例设计B. 自动化测试执行C. 测试框架集成D. 测试数据管理68. 在Selenium中,如何定义一个WebDriver实例?A. instance = webdriver.Firefox()B. driver = webdriver.Firefox()C. webdriver = Firefox()D. firefox = webdriver.Firefox()69. Selenium中的WebElement类的主要方法有哪些?A. find_element_by_id, find_element_by_name, find_element_by_class_nameB. find_element_by_link_text, find_element_by_partial_link_text,find_element_by_css_selectorC. find_element_by_id, find_element_by_name, find_element_by_class_name, find_element_by_tag_nameD. find_element_by_link_text, find_element_by_partial_link_text,find_element_by_css_selector70. Selenium中的哪个方法可以模拟键盘输入?A. key_downB. key_upC. send_keysD. write71. 如何在Selenium中定位一个元素?A. element = driver.find_element_by_id("element_id")B. element = driver.find_element_by_name("element_name")C. element = driver.find_element_by_class_name("element_class")D. element = driver.find_element_by_link_text("element_link_text")72. Selenium中的哪个方法可以模拟鼠标点击?A. mouse_clickB. mouse_moveC. mouse_downD. mouse_up73. 在Selenium中,如何执行一个JavaScript脚本?A. script = driver.execute_script("your_script")B. driver.execute_script(["your_script"])C. script = driver.evaluate_script("your_script")D. driver.evaluate_script(["your_script"])74. Selenium中的哪个方法可以获取元素的文本内容?A. textB. get_attributeC. find_element_by_css_selectorD. get_element_text()75. 如何等待Selenium中的页面加载完成?A. driver.implicitly_wait(10)B. driver.wait(10)C. driver. patience_wait(10)D. driver. delay(10)76. Selenium中的哪个方法可以获取页面的标题?A. titleB. get_attributeC. find_element_by_css_selectorD. find_element_by_tag_name77. 如何在Selenium中切换到一个新的标签页?A. switch_to.window(window_handle)B. switch_to.alert()C. switch_to.frame(frame_handle)D. switch_to.options(options)二、问答题1. 什么是Selenium?2. Selenium支持哪些浏览器?3. 如何下载和安装Selenium?4. 什么是WebDriver?5. Selenium如何进行Web页面元素的点击操作?6. 如何在Selenium中处理异常?7. 如何获取页面的文本内容?8. 如何模拟键盘输入?9. 如何等待页面加载?10. 如何进行页面跳转?参考答案选择题:1. D2. B3. A4. B5. B6. A7. C8. B9. A 10. A11. B 12. D 13. A 14. B 15. A 16. A 17. C 18. B 19. A 20. D21. C 22. B 23. ABC 24. C 25. D 26. ABD 27. C 28. A 29. A 30. A31. B 32. A 33. A 34. A 35. B 36. B 37. A 38. D 39. D 40. A41. A 42. A 43. C 44. B 45. B 46. A 47. C 48. D 49. A 50. A51. C 52. A 53. D 54. B 55. A 56. C 57. C 58. B 59. A 60. B61. A 62. C 63. C 64. B 65. D 66. D 67. B 68. B 69. C 70. C71. A 72. C 73. C 74. D 75. B 76. A 77. A问答题:1. 什么是Selenium?Selenium是一个开源的Web应用程序测试框架,它可以模拟用户在Web浏览器中操作,帮助开发人员编写可自动化的Web测试用例。
Selenium⾃动化测试总结⼀、Selenium⾃动化测试(基于python)1、Selenium简介:1.1 Selenium是⼀款主要⽤于Web应⽤程序⾃动化测试的⼯具集合。
Selenium测试直接运⾏在浏览器中,本质是通过驱动浏览器,模拟浏览器的操作,⽐如跳转、输⼊、点击、下拉等,来拿到⽹页渲染之后的结果,可⽀持多种浏览器如,chorme,FireFox,IE等。
1.2 Selenium WebDriver:业界通⽤的测试框架,不仅是web测试的标准,同时在移动测试领域也是底层的核⼼驱动框架;1.3 Python是动态语⾔;1.4 Selenium包括⼀系列的⼯具组件:1)Selenium IDE:是嵌⼊到FireFox浏览器的插件,⽤于在Firefox上录制和回放Selenium脚本,虽然只能在Firefox下使⽤,但它能将录制好的脚本转换成各种Selenium WebDriver⽀持的程序语⾔,进⽽扩展到更⼴泛的浏览器类型;2) Selenium WebDriver:可⽀持多种语⾔,⽤于操作浏览器的⼀套API;⽀持各类型浏览器,跨操作系统,WebDriver为诸多语⾔提供完备的,⽤于实现web⾃动化测试的第三⽅库;3) Selenium Standalone Server:包括Selenium Grid、远程控制、分布式部署等,均可实现Selenium脚本的⾼效执⾏与拓展;利⽤Grid 使得⾃动化测试可以并⾏运⾏,甚⾄在跨平台、异构的环境中运⾏;2、基于python的selenium WebDeriver环境安装Selenium可以⾃动操纵浏览器来做很多,如模拟与浏览器的交互,⽽且⽀持到多数主流浏览器;⾸先需要选择⼀门语⾔来编写⾃动化脚本,⽽这门语⾔需要有Selenium client library⽀持,选择Python;2.1 安装python和selenium,不同安装版本可在平台下载1)安装seleniumWin:pip install seleniumMac: pip3 install selenium2)安装WebDriver, 该⼯具供selenium使⽤Chrome。
软件测试中的Web测试工具Selenium入门心得一直做开发,很少关注测试工具,尤其是以往的测试都主要是Junit测试,难免在web层面上因没有严格测试而经常出现bug,近来小小接触了一下这一类的测试工具,感觉蛮好玩的,在此和大家分享一下,希望多多交流。
一、Selenium IDE 介绍下载selenium ide插件并安装(firefox),在tools菜单下可以看到。
单击上面的红色原点,即可对你在网页上的任何操作做记录,以命令方式记录。
这些命令你也可以自己写下来,再批量运行,就会看到浏览器自动执行所有的动作,这样就可以保存为测试脚本了,也就可以对每次的测试做备案了。
下面来说说selenium的命令格式,主要由三部分组成:command 操作命令target 操作对象,通常是页面及页面元素value 作为断言的值1、元素locator的访问方式:1)id=id,假如元素id是username,则target直接写username即可2)name=name,可以通过name直接获得第一个该名称的元素例如:usernamename=username3)dom=javascript表达式:例如:dom=document.forms['myForm'].myDropdowndom=document.images[56]dom=function foo() { return document.links[1]; }; foo();4)xpath=xpath表达式,使用xpath表达式来定位一个元素。
例如:xpath=//img[@alt='The image alt text']xpath=//table[@id='t1']//tr[4]/td[2]xpath=//a[contains(@href,'#id1')]5)link=textPattern例如:link=新闻主要的访问方式即以上几种。
selenium自动化测试Selenium自动化测试引言随着互联网的不断发展,网站和Web应用程序的数量和复杂性也在快速增长。
为了确保这些应用程序的质量和稳定性,在开发过程中进行自动化测试变得尤为重要。
一个流行的自动化测试工具是Selenium,它提供了一种简单而强大的方法来模拟用户在浏览器中的行为,并检查应用程序的功能和可靠性。
本文将介绍Selenium 自动化测试的基本概念和使用方法。
1. Selenium简介Selenium是一个用于Web应用程序测试的自动化测试框架。
它允许开发人员使用一种简单而直观的方式编写测试脚本,并自动执行这些脚本以测试Web应用程序的各种功能和交互。
Selenium支持多种编程语言,包括Java、Python、C#等,使开发人员能够使用自己熟悉的语言来编写测试脚本。
2. Selenium的核心组件Selenium由三个核心组件组成:Selenium WebDriver、Selenium IDE和Selenium Grid。
2.1 Selenium WebDriverSelenium WebDriver是Selenium的最重要组件之一。
它提供了一组API,可以与各种Web浏览器进行交互,并模拟用户在浏览器中的行为,如点击、填写表单、提交等。
使用WebDriver,开发人员可以编写测试脚本来自动执行这些任务,并验证应用程序的行为是否符合预期。
2.2 Selenium IDESelenium IDE是一个用于录制和回放测试脚本的浏览器插件。
它提供了一个简单的界面,可以记录用户在浏览器中的操作,并将这些操作转换成测试脚本。
然后,开发人员可以使用Selenium IDE生成的脚本来进行测试,并在Selenium WebDriver中进一步细化和扩展。
2.3 Selenium GridSelenium Grid是一个用于分布式测试的工具。
它允许开发人员在多台计算机上并行运行测试脚本,以加快测试的执行速度。
selenium知识点总结在使用 Selenium 进行自动化测试时,我们需要了解一些基本的知识点,比如定位元素、操作元素、处理弹窗等。
本文将对这些知识点进行总结,希望对你有所帮助。
一、定位元素1. 使用 id 定位元素id 是 HTML 元素的属性之一,每个元素都可以有一个唯一的 id。
我们可以使用这个 id 属性来定位元素。
使用 Selenium 中的 find_element_by_id 方法来定位元素:```pythonfrom selenium import webdriverdriver = webdriver.Chrome()driver.get('')element = driver.find_element_by_id('element_id')```2. 使用 class 定位元素class 也是 HTML 元素的属性之一,一个元素可以有多个 class。
我们可以使用元素的 class 属性来定位它。
使用 Selenium 中的 find_element_by_class_name 方法来定位元素:```pythonfrom selenium import webdriverdriver = webdriver.Chrome()driver.get('')element = driver.find_element_by_class_name('element_class')```3. 使用 name 定位元素name 也是 HTML 元素的属性之一,我们可以使用元素的 name 属性来定位它。
使用 Selenium 中的 find_element_by_name 方法来定位元素:```pythonfrom selenium import webdriverdriver = webdriver.Chrome()driver.get('')element = driver.find_element_by_name('element_name')```4. 使用 XPath 定位元素XPath 是一种在 XML 文档中定位元素的语言,我们可以使用 XPath 来定位 HTML 元素。
Selenium Test 自动化测试入门级学习笔记
1、下载安装Firefox-selenium插件
需要下载插件可以联系,这里暂不提供下载地址。
2、集成Eclipse
需要下载jar包可以联系,这里暂不提供下载地址。
集成Eclipse非常简单,加载进去jar包就OK!
3、通过Selenium IDE 录制脚本
{ 点这里就开始录制!}
以上操作是:百度输入hao123,点击搜索。
4、录制完毕导出selenium-java脚本
模板:
import a.;
import a.iver;
import a.ox.FirefoxDriver;
public class OpenTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//设置浏览器driver
operty("ox.bin", "E:/Program Files/Mozilla firefox/"); WebDriver driver;
driver=new FirefoxDriver();
//打开百度的首页
("");
lement(By.linkText("hao123")).click();
//关闭浏览器
//();
}
}
5、启动不同浏览器
Firefox:
operty("ox.bin", "E:/Program Files/Mozilla firefox/");
IE:
operty(".driver", "C:/liuluanqi/"); 这个应该也可以试试
//Create a newinstance of the Internet Explorer driver
WebDriver driver = newInternetExplorerDriver ();
or
//path to ur IEDriver exe
public static String IEDriver_64 = "C:/";
operty(".driver", IEDriver);
driver = new InternetExplorerDriver();
Chrome:
operty(“e.driver”, bsPath);
WebDriverdriver = new ChromeDriver();
or
//location of your chrome driver exe
public static String ChromeDriver = "C:/selenium/gtn_fht/lib/"; operty("e.driver", ChromeDriver);
// e().window().maximize() for Chrome driver throws
// a.iverException: Maximize automation interface is not supported for this version of Chrome.
// so using the below capabilities
DesiredCapabilities capabilities = e();
pability("hes", t("--start-maximized"));
driver = new a.e.ChromeDriver(capabilities);
6、元素操作
查找元素
使用操作如何找到页面元素Webdriver的findElement方法可以用来找到页面的某个元素,最常用的方法是用id和name查找。
下面介绍几种比较常用的方法。
By ID假设页面写成这样:
<input type=”text” name=”userName” id=”user” />
那么可以这样找到页面的元素:
通过id查找:
WebElement element = lement(By.id(“user”));
By Name或通过name查找:
WebElement element = lement((“userName”));
By XPATH或通过xpath查找:
WebElement element =lement(By.xpath(“//input[@id='user']“));
By Class Name假设页面写成这样:
<div
class=”top”><span>Head</span></div><divclass=”top”><span>HeadName </span></div>
可以通过这样查找页面元素:
List<WebElement>top= lements(By.className(“top”));
By Link Text假设页面元素写成这样:
<a href=””>baidu</a>>
那么可以通过这样查找:
WebElement baidu=lement(By.linkText(“baidu”));
输入框传值
输入框(text field or textarea)找到输入框元素:
WebElement element = lement(By.id(“passwd-id”));
在输入框中输入内容:
eys(“test”);
将输入框清空:
();
获取输入框的文本内容:
xt();
下拉菜单
下拉选择框(Select)找到下拉选择框的元素:
Select select = new Select(lement(By.id(“select”)));选择对应的选择项:tByVisibleText(“testName”);
或
tByValue(“name”);
不选择对应的选择项:
ectAll();
ectByValue(“name”);
ectByVisibleText(“姓名”);
或者获取选择项的值:
lSelectedOptions();
rstSelectedOption();
单选框
单选项(Radio Button)找到单选框元素:
WebElement sex=lement(By.id(“sex”));
选择某个单选项:
();
清空某个单选项:
();
判断某个单选项是否已经被选择:
ected();
复选框
多选项(checkbox)多选项的操作和单选的差不多:WebElement area =lement(By.id(“area .”));
area .click();
area .clear();
area .isSelected();
area .isEnabled();
按钮
按钮(button)找到按钮元素:
WebElement saveButton = lement(By.id(“save”));
点击按钮:
();
判断按钮是否enable:
bled ();
左右选择框也就是左边是可供选择项,选择后移动到右边的框中,反之亦然。
例如:
Select name= new Select(lement(By.id(“name”)));
tByVisibleText(“hellen”);
WebElement addName=lement(By.id(“addButton”));
();
弹出框
弹出对话框(Popup dialogs)Alert alert = hTo().alert();
t();
ss();
xt();
表单提交
表单(Form)Form中的元素的操作和其它的元素操作一样,对元素操作完成后对表单的提交可以:
WebElement sub= lement(By.id(“sub”));
();
或
t();//只适合于表单的提交
上传文件 (Upload File)上传文件的元素操作:
WebElement picFile = lement(By.id(“picFile ”));
String filePath = “d:\\report\\”;
picFile .sendKeys(filePath);
多窗口切换
Windows 或 Frames之间的切换
首先切换到默认的frame
hTo().defaultContent();
切换到某个frame:
hTo().frame(“leftFrame”);
从一个frame切换到另一个frame:
hTo().frame(“mainFrame”);
切换到某个window:
hTo().window(“windowName”);
导航
导航 (Navigationand History)打开一个新的页面:a te().to(“”);
通过历史导航返回原页面:
ate().forward();
ate().back();。