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 ...
随机推荐
- selenium各种定位方法(转)
selenium使用 Xpath CSS JavaScript jQuery的定位方法 (治疗selenium各种定位不到,点击不了的并发症) 2017年07月28日 22:47:36 阅读数:369 ...
- PHP----------一群猴子排成一圈,按1,2,...,n依次编号。
1.一群猴子排成一圈,按1,2,...,n依次编号.然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去...,如此不停的进行下去, 直到最后只剩下一只猴子为止,那 ...
- 002-MVC布局页
~/Views/Shared/_LayoutPage1.cshtml <!DOCTYPE html> <html> <head> <meta name=&qu ...
- qt 画多边形(实现鼠标拖动节点)
---恢复内容开始--- 2018-01-06 这个小例子实现了移动鼠标,鼠标的坐标信息跟随鼠标移动,多边形的实现,鼠标点击可以拖动多边形点的位置,(其中有个问题?我在QMainWindow下,用mo ...
- 通过类创建子线程&同步锁
一.通过类创建子线程 import threading class MyThread(threading.Thread): def __init__(self,num): threading.Thre ...
- Firefox 安装 Adobe Flashplayer
3. 安装Adobe Flash Player: Adobe Flash Player的安装比较容易,只要将对应的文档复制到正确的的位置即可,具体的操作 如下: (1) 将libflashplayer ...
- XGBoost 与 Boosted Tree
http://www.52cs.org/?p=429 作者:陈天奇,毕业于上海交通大学ACM班,现就读于华盛顿大学,从事大规模机器学习研究. 注解:truth4sex 编者按:本文是对开源xgboo ...
- A Simple Nim (SG打表找规律)
题意:有n堆石子,每次可以将其中一堆分为数量不为0的3堆,或者从其中一堆中拿走若干个,最终拿完的那个人赢. 思路:直接暴力SG状态,然后找出其中的规律,异或一下每一堆的状态就可以了. #include ...
- 无序数组求第k大/第k小的数
根据http://www.cnblogs.com/zhjp11/archive/2010/02/26/1674227.html 博客中所总结的7种解法,我挑了其中的解法3和解法6进行了实现. 解法3: ...
- MQ知识点汇总
1. MQ是什么 2. MQ能做什么 3. 消息模式 4. 使用MQ的时候需要注意什么 5. 常用MQ 6. MQ的不足 7. 什么时候不适用MQ 8. MQ的组成 9. MQ的关注点 1. MQ是什 ...