Selenium出来已经有不少年了,从最初的Selenium1到后来的Selenium2,也变得愈来愈成熟,并且也已经被不少公司普遍使用。Selenium发展的过程当中,分了不少模块,这里咱们主要介绍Webdriver,Webdriver已经被不少浏览器所兼容。WebDriver在自动化脚本和浏览器之间充当的角色和以前介绍的Appium很像。html
因为如今不少的浏览器都已经主动支持和兼容了WebDriver,因此Webdriver在启动后,会确认浏览器的native component是否存在可用并且版本匹配,接着就在目标浏览器里启动使用Selenium本身设计定义的协议(WebDriver Wire Protocol),WebDriver Wire协议是通用的,也就是说无论是FirefoxDriver仍是ChromeDriver等,启动以后都会在某一个端口启动基于这套协议的Web 服务,WebDriver Wire协议是一套基于RESTful的web服务。web
在调用WebDriver的时候,其实是给在浏览器上启动的RESTful服务监听端口上发送http请求,请求会以WebDriver Wire协议规定的JSON格式的字符串来告诉Selenium但愿浏览器执行什么样的操做。chrome
经过http://www.seleniumhq.org/ 能够访问Selenium官网。从该网站上能够下载到各类浏览器运行须要的Driver。数据库
从http://www.seleniumhq.org/docs/ 地址能够查询到关于Selenium的文档和介绍等信息。浏览器
在Selenium2Library库中,Open Browser关键字用来打开一个指定的浏览器,该关键字接收以下参数:安全
参数(Arguments)框架 |
说明post |
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下的http接口自动化Create Http Context关键字的使用
RobotFramework下的http接口自动化Get关键字的使用
RobotFramework下的http接口自动化post关键字的使用
RobotFramework下的http接口自动化Get Response Body关键字的使用
RobotFramework下的http接口自动化Get Response Status 关键字的使用
RobotFramework下的http接口自动化Get Response header 关键字的使用
RobotFramework下的http接口自动化Set Request Header 关键字的使用
RobotFramework下HttpLibrary库其它关键字
RobotFramework下的http接口自动化Set Request Body 关键字的使用
RobotFramework下的http接口自动化Follow Response关键字的使用
RobotFramework自动化测试框架的基础关键字(一)
RobotFramework自动化测试框架的基础关键字(二)
RobotFramework自动化测试框架的基础关键字(三)
RobotFramework自动化测试框架的基础关键字(四)
RobotFramework自动化测试框架的基础关键字(五)
RobotFramework自动化测试框架-移动手机自动化测试AppiumLibrary介绍
RobotFramework自动化测试框架-移动手机自动化测试Open Application关键字的使用
RobotFramework自动化测试框架-经常使用断言关键字
RobotFramework自动化测试框架-移动手机自动化测试AppiumLibrary库其它的常见自动化关键字
RobotFramework自动化测试框架-移动手机自动化测试Input Text和Click Button关键字的使用
RobotFramework自动化测试框架-移动手机自动化测试Clear Text关键字的使用
RobotFramework自动化测试框架-移动手机自动化测试Click Element关键字的使用
RobotFramework自动化测试框架-移动手机自动化测试Click A Point关键字的使用
RobotFramework自动化测试框架-移动手机自动化测试Click Element At Coordinates关键字的使用
RobotFramework自动化测试框架-移动手机自动化测试Get Element Location关键字的使用
RobotFramework自动化测试框架-移动手机自动化测试Get Network Connection Status和Set Network Connection Status关键字的使用
RobotFramework自动化测试框架-移动手机自动化测试Element Attribute Should Match关键字的使用
RobotFramework自动化测试框架-DatabaseLibrary库的使用(对数据库的操做)
RobotFramework自动化测试框架-使用Python编写自定义的RobotFramework Lib
RobotFramework自动化测试框架-Selenium Web自动化(-)-Open Browser和Close Browser