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自动化测试框架核心指南电子版试读

转载于:https://www.cnblogs.com/laoqing/p/9350214.html

RobotFramework自动化测试框架-Selenium Web自动化(-)-Open Browser和Close Browser相关推荐

  1. RobotFramework自动化测试框架-MongoDBLibrary库的使用

    笔者接着 RobotFramework自动化测试框架-DatabaseLibrary库的使用(对数据库的操作) 继续分享robotframework 对数据库中的MongoDB的详细操作.这是笔者第二 ...

  2. Selenium+python怎么搭建自动化测试框架、执行自动化测试用例、生成自动化测试报告、发送测试报告邮件

    目录 一.项目结构介绍 1.mztestpro测试项目 2.bbs目录 3.test_case 二.编写公共模块 三.编写Page Object 四.编写测试用例 五.执行测试用例 小结: 本人在网上 ...

  3. Selenium Web 自动化 - 项目实战(三)

    Selenium Web 自动化 - 项目实战(三) 2016-08-10 目录 1 关键字驱动概述 2 框架更改总览 3 框架更改详解   3.1 解析新增页面目录   3.2 解析新增测试用例目录 ...

  4. python安装robotframework报错_Python3+RIDE+RobotFramework自动化测试框架搭建过程详解

    Python2.7已于2020年1月1日开始停用,之前RF做自动化都是基于Python2的版本. 没办法,跟随时代的脚步,我们也不得不升级以应用新的控件与功能. 升级麻烦,直接全新安装. 一.Pyth ...

  5. python 爬虫框架_小白学 Python 爬虫(28):自动化测试框架 Selenium (下)

    人生苦短,我用 Python 如果我的文章对您有帮助,请关注支持下作者的公众号:极客挖掘机,您的关注,是对小编坚持原创的最大鼓励:) 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Py ...

  6. 小白学 Python 爬虫(28):自动化测试框架 Selenium 从入门到放弃(下)

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  7. Selenium Web 自动化 - Selenium常用API

    Selenium Web 自动化 - Selenium常用API 2016-08-01 目录 1 对浏览器操作   1.1 用webdriver打开一个浏览器   1.2 最大化浏览器&关闭浏 ...

  8. Selenium Web 自动化 - 如何找到元素

    Selenium Web 自动化 - 如何找到元素 2016-07-29 1. 什么是元素? 元素:http://www.w3school.com.cn/html/html_elements.asp ...

  9. robotframework自动化测试修炼宝典_自动化测试之框架Cucumber和RobotFramework的实战对比...

    读完需要 18分钟 速读仅需 6 分钟 本文首发表于 InfoQ:http://www.infoq.com/cn/articles/cucumber-robotframework-comparison ...

最新文章

  1. c++ 绘制函数图像_【图像增强】CLAHE 限制对比度自适应直方图均衡化
  2. UNIX中的文件控制--fcntl()
  3. win7 安装Redis
  4. 17.后台管理注册审核接口
  5. 多线程处理海量数据的解决方案
  6. HTTP 1.1与HTTP 1.0的比较
  7. 用CSS3来代替JS实现交互
  8. php memcached 队列,redis获取所有队列_memcached
  9. XSS-Payloads集合
  10. AV音响和HiFi音响有什么区别?
  11. python uwsgi_uwsgi的多站点配置
  12. 小程序毫秒级倒计时(适用于拼团秒杀功能)
  13. Java nextInt()函数
  14. daterangepicker日历插件使用参数注意问题
  15. 几人同行时步伐总是整齐
  16. windows驱动开发技术详解 VC6与DDK搭配使用的设置
  17. 2021年高压电工考试及高压电工模拟试题
  18. Font shape `TU/ptm/m/n' undefined(Font) using `TU/lmr/m/n' instead
  19. 腾讯鉴黄php源码,“箫剑”变成首席鉴黄师 朱宏嘉唐马儒个人资料
  20. linux防护勒索病毒的补丁,抵御Petya勒索病毒的最新办法

热门文章

  1. Python数据清理之数据质量
  2. 【转载】理解矩阵(一)
  3. [詹兴致矩阵论习题参考解答]习题1.13
  4. android小细节
  5. SQL的四种连接-左外连接、右外连接、内连接、全连接(转)
  6. 正则表达式搜魂者(转:清清月儿 )
  7. Spring AOP 前置通知
  8. 吴恩达《深度学习》第四门课(4)特殊应用:人脸识别和神经风格迁移
  9. CF #371 (Div. 2) C、map标记
  10. 10 条提升 Android 性能的建议