RobotFramework自动化测试框架-Selenium Web自动化(-)-Open Browser和Close Browser
Selenium出来已经有很多年了,从最初的Selenium1到后来的Selenium2,也变得越来越成熟,而且也已经被很多公司广泛使用。Selenium发展的过程中,分了很多模块,这里我们主要介绍Webdriver,Webdriver已经被很多浏览器所兼容。WebDriver在自动化脚本和浏览器之间充当的角色和之前介绍的Appium很像。
由于现在很多的浏览器都已经主动支持和兼容了WebDriver,所以Webdriver在启动后,会确认浏览器的native component是否存在可用而且版本匹配,接着就在目标浏览器里启动使用Selenium自己设计定义的协议(WebDriver Wire Protocol),WebDriver Wire协议是通用的,也就是说不管是FirefoxDriver还是ChromeDriver等,启动之后都会在某一个端口启动基于这套协议的Web 服务,WebDriver Wire协议是一套基于RESTful的web服务。
在调用WebDriver的时候,实际上是给在浏览器上启动的RESTful服务监听端口上发送http请求,请求会以WebDriver Wire协议规定的JSON格式的字符串来告诉Selenium希望浏览器执行什么样的操作。
Selenium和RobotFramework Selenium2Library库介绍
通过http://www.seleniumhq.org/ 可以访问Selenium官网。从该网站上可以下载到各种浏览器运行需要的Driver。


从http://www.seleniumhq.org/docs/ 地址可以查询到关于Selenium的文档和介绍等信息。

Open Browser和Close Browser
在Selenium2Library库中,Open Browser关键字用来打开一个指定的浏览器,该关键字接收如下参数:
|
参数(Arguments) |
说明 |
|
url |
浏览器中需要打开的url地址 |
|
browser |
指定需要打开的浏览器类型,包括IE,Firefox,chrome,opera, safari等常用的浏览器,默认使用Firefox |
|
alias |
设定的浏览器实例的别名,可以用于浏览器之间的切换,默认为None |
|
remote_url |
是否启用通过remote server的形式来访问,默认为False |
|
desired_capabilities |
可以指定的配置参数,默认为None |
|
ff_profile_dir |
该参数主要针对火狐浏览器,可以通过该参数指定firefox profile路径,默认为None |
Close Browser 关键字用来关闭一个已经打开的当前浏览器。
示例1:打开谷歌浏览器,url地址中输入http://www.baidu.com
Open Browser http://www.baidu.com chrome
执行结果:
Starting test: RobotFrameworkTest1.TestSuite6.TestCase0002
20170529 15:22:55.284 : INFO : Opening browser 'chrome' to base url 'http://www.baidu.com'
Ending test: RobotFrameworkTest1.TestSuite6.TestCase0002

示例2:打开IE浏览器,url地址中输入http://www.baidu.com,然后关闭浏览器
Open Browser http://www.baidu.com ie
Close Browser
执行结果:
Starting test: RobotFrameworkTest1.TestSuite6.TestCase0001
20170529 15:31:01.937 : INFO : Opening browser 'ie' to base url 'http://www.baidu.com'
Ending test: RobotFrameworkTest1.TestSuite6.TestCase0001

另外在使用IE浏览器时,需要将浏览器选项中,安全标签下的每个区域中是否启用保护模式保持一致,要么全部启用,要么全部不启用,如下图所示,不然的话容易出现类似WebDriverException: Message: Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones. Enable Protected Mode must be set to the same value (enabled or disabled) for all zones.的报错。

【原文归作者所有,欢迎转载,但是保留版权,并且转载时,需要注明出处】
Robot Framework自动化测试框架核心指南电子版试读
RobotFramework自动化测试框架-Selenium Web自动化(-)-Open Browser和Close Browser的更多相关文章
- RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)
好久没有继续分享关于自动化测试相关的东西了,自动化在现今的测试领域已经越来越重要了,大部分公司在测试岗位招聘中都需要会相关的自动化测试知识.而 RobotFramework自动化测试框架 是自动化测试 ...
- RobotFramework自动化测试框架-Selenium Web自动化(三)关于在RobotFramework中如何使用Selenium很全的总结(下)
本文紧接着RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)继续分享RobotFramewor ...
- RobotFramework自动化测试框架-移动手机自动化测试AppiumLibrary介绍
在使用AppiumLibrary库时,需要预先安装好Appium自动化工具,Appium官网地址为:http://appium.io/ Appium的GitHub地址为:https://github. ...
- RobotFramework自动化测试框架-DatabaseLibrary库的使用(对数据库的操作)
在自动化过程中,我们经常需要连接不同的数据库,并且对数据库进行很多不同的操作,RobotFramework中,提供了DatabaseLibrary这个库来操作数据库,我们可以按照官网中的说明来安装Da ...
- RobotFramework自动化测试框架-使用Python编写自定义的RobotFramework Lib
使用Python构建Lib工程 可以用来开发Python Lib的IDE工具有很多,常见的有Pycharm,Eclipse with PyDev插件等,而且在RobotFramework官网中也已经提 ...
- Selenium Web 自动化 - 项目实战(三)
Selenium Web 自动化 - 项目实战(三) 2016-08-10 目录 1 关键字驱动概述2 框架更改总览3 框架更改详解 3.1 解析新增页面目录 3.2 解析新增测试用例目录 3. ...
- Selenium Web 自动化 - 项目实战(一)
Selenium Web 自动化 - 测试框架(一) 2016-08-05 目录 1 框架结构雏形2 把Java项目转变成Maven项目3 加入TestNG配置文件4 Eclipse编码修改5 编写代 ...
- 小白学 Python 爬虫(28):自动化测试框架 Selenium 从入门到放弃(下)
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- Selenium Web 自动化 - 项目持续集成
Selenium Web 自动化 - 项目持续集成 2017-02-13 目录 1环境准备 1.1 安装git 1.2 安装jenkins 1.3 安装jenkins插件 1.4 jekins ...
随机推荐
- XML CDATA识别“<,>”
http://www.w3school.com.cn/xml/xml_cdata.asp 术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Dat ...
- php实现栈操作(不用push pop 库函数)
直接上代码 <?php /*php不用库函数实现栈操作 * @author Geyaru 2019-04-20 */ class stack{ private $top = -1; //栈指针初 ...
- Mybatis 元素内容必须由格式正确的字符数据或标记组成
一个web应用,框架为SpringMVC Spring Mybatis ,昨天写了一下午的代码,因为逻辑较大,期间也没测,打算写完这个功能点在进行测试,谁知道写完的时候,tomcat根本启动不起来了, ...
- nodejs 前端项目编译时内存溢出问题的原因及解决方案
现象描述 昨天用webpack打包Vue的项目时,node内存溢出而停止build项目,即是项目构建过程中频繁报内存溢出:FATAL ERROR: CALL_AND_RETRY_LAST Alloca ...
- 关于SimpleDateFormat安全的时间格式化线程安全问题
想必大家对SimpleDateFormat并不陌生.SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调 ...
- Excel坐标自动在AutoCad绘图_2
众所周知,Excel对数据处理的功能非常强大,它可以进行数据处理.统计分析已经辅助决策的操作,该软件已经渗透到各个领域.作为一个测绘人,GISer, 也经常利用excel完成一些测量表格的自动化计算, ...
- Vue组件的定义、注册和调用
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>组 ...
- ubuntu+anaconda+mxnet环境配置
为了insightface和mxnet较劲的一天 mxnet环境: 官网下载pyhton2.7版本的anaconda,随便找个安装教程 sh Anacondaxxxx.sh #一路默认即可,第二个回车 ...
- LapSRN
Deep Laplacian Pyramid Networks for Fast and Accurate Super-Resolution 解决问题: 1.bicubic预处理上下采样,计算复杂度高 ...
- 关于weblogic部署Java项目的包冲突问题
我们可能会用各种应用服务部署我们的Java应用,比如Tomcat.WAS.weblogic等.Tomcat和WAS可能会比较少遇到一些奇怪的问题,但是用weblogic部署项目则经常遇到一些比如包冲突 ...