本文紧接着RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)继续分享RobotFramework中如何使用Selenium进行自动化测试。html
本文章节目录:web
一、Get Valuechrome
二、Get Webelements和Get Webelement数据库
三、Get Window Titles浏览器
四、Go Back 和 Go Tosession
五、Get List Items框架
六、Get Selected List Value工具
7、Select From Listpost
本文做者:张永清,若是转载请注明出处RobotFramework自动化测试框架-Selenium Web自动化(三)关于在RobotFramework中如何使用Selenium很全的总结(下),不然追求一切法律责任。开发工具
一、Get Value
Get Value 关键字用于获取某个元素标签对应的value属性,该关键字接收[ locator ]这一个参数,locator能够经过id,name,xpath等均可以进行定位。
示例1:这里咱们以访问博客园的登陆页面为示例,咱们这里获取登陆按钮对应的value,以下图所示。
Open Browser https://passport.cnblogs.com/user/signin?ReturnUrl=https%3A%2F%2Fwww.cnblogs.com%2F chrome
${value} Get Value id=signin
log ${value}
Close Browser
运行结果以下:
Starting test: RobotFrameworkTest1.TestSuite6.TestCase0012
20180728 13:34:51.578 : INFO : Opening browser 'chrome' to base url 'https://passport.cnblogs.com/user/signin?ReturnUrl=https%3A%2F%2Fwww.cnblogs.com%2F'
20180728 13:35:00.116 : INFO : get_attribute value
20180728 13:35:00.124 : INFO : ${value} = 登 录
20180728 13:35:00.125 : INFO : 登 录
Ending test: RobotFrameworkTest1.TestSuite6.TestCase0012
二、Get Webelements和Get Webelement
Get Webelements 关键字用来获取全部得到的WebElement对象的列表,该关键字接收[ locator ]这一个参数,locator能够经过id,name,xpath等均可以进行定位。
Get Webelement关键字和Get Webelements很相似,只不过Get Webelement 只会返回匹配到的第一个WebElement对象。
示例1:访问百度首页,而后根据locator 为name=tj_trnews来获取到能够匹配到的全部的WebElement对象的列表
Open Browser http://www.baidu.com chrome
${ement} Get Webelements name=tj_trnews
log ${ement}
Close Browser
运行结果以下:
Starting test: RobotFrameworkTest1.TestSuite6.TestCase0013
20180728 14:54:42.820 : INFO : Opening browser 'chrome' to base url 'http://www.baidu.com'
20180728 14:54:50.182 : INFO : ${ement} = [<selenium.webdriver.remote.webelement.WebElement (session="47f749d3fcd2d5037a56e6ada80f38ba", element="0.8260127734608302-1")>]
20180728 14:54:50.183 : INFO : [<selenium.webdriver.remote.webelement.WebElement (session="47f749d3fcd2d5037a56e6ada80f38ba", element="0.8260127734608302-1")>]
Ending test: RobotFrameworkTest1.TestSuite6.TestCase0013
示例2:访问百度首页,而后根据locator 为name=tj_trnews来获取匹配到的第一个WebElement对象
Open Browser http://www.baidu.com chrome
${ement} Get Webelement name=tj_trnews
log ${ement}
Close Browser
运行结果以下:
Starting test: RobotFrameworkTest1.TestSuite6.TestCase0014
20180728 15:01:58.469 : INFO : Opening browser 'chrome' to base url 'http://www.baidu.com'
20180728 15:02:07.093 : INFO : ${ement} = <selenium.webdriver.remote.webelement.WebElement (session="0382b83b32515ea731a4497ab3699131", element="0.20523497043976824-1")>
20180728 15:02:07.094 : INFO : <selenium.webdriver.remote.webelement.WebElement (session="0382b83b32515ea731a4497ab3699131", element="0.20523497043976824-1")>
Ending test: RobotFrameworkTest1.TestSuite6.TestCase0014
三、Get Window Titles
Get Window Titles用来获取当前已经打开的浏览器窗口的全部Title。该关键字接收不须要接收任何的参数。
示例1:这里咱们打开百度的首页,而后点击首页右上角的”新闻”连接按钮,挑战到百度新闻页面,最后获取该窗口下的全部Title。
Open Browser http://www.baidu.com chrome
Click Link 新闻
${title1} Get Window Titles
log ${title1}
Close All Browsers
运行结果以下:以下图所示。
本文做者:张永清,若是转载请注明出处RobotFramework自动化测试框架-Selenium Web自动化(三)关于在RobotFramework中如何使用Selenium很全的总结(下),不然追求一切法律责任。
四、Go Back 和 Go To
Go Back 和 Go To关键字分别用来模拟对浏览器进行后退和前进的操做。Go Back关键字不须要接收任何的参数,Go To关键字接收一个[ url ]参数。url是一个须要跳转到的地址。
示例1:这里咱们首先访问百度首页,以后点击”新闻”连接,跳转到百度新闻页面,而后咱们执行Go Back 回退到百度首页,最后使用Go To跳转到博客园首页,在每个操做中,咱们都记录了浏览器的窗口标题。
Open Browser http://www.baidu.com chrome
Click Link 新闻
${title1} Get Window Titles
log ${title1}
Go Back
${title2} Get Window Titles
log ${title2}
Go To https://www.cnblogs.com/
${title3} Get Window Titles
log ${title3}
Close All Browsers
运行结果以下:
Starting test: RobotFrameworkTest1.TestSuite6.TestCase0016
20180728 15:26:17.443 : INFO : Opening browser 'chrome' to base url 'http://www.baidu.com'
20180728 15:26:24.906 : INFO : Clicking link '新闻'.
20180728 15:26:27.947 : INFO :
Altogether 1 item.
1: 百度新闻——全球最大的中文新闻平台
20180728 15:26:27.948 : INFO : ${title1} = [u'\u767e\u5ea6\u65b0\u95fb\u2014\u2014\u5168\u7403\u6700\u5927\u7684\u4e2d\u6587\u65b0\u95fb\u5e73\u53f0']
20180728 15:26:27.949 : INFO : [u'\u767e\u5ea6\u65b0\u95fb\u2014\u2014\u5168\u7403\u6700\u5927\u7684\u4e2d\u6587\u65b0\u95fb\u5e73\u53f0']
20180728 15:26:28.239 : INFO :
Altogether 1 item.
1: 百度一下,你就知道
20180728 15:26:28.240 : INFO : ${title2} = [u'\u767e\u5ea6\u4e00\u4e0b\uff0c\u4f60\u5c31\u77e5\u9053']
20180728 15:26:28.242 : INFO : [u'\u767e\u5ea6\u4e00\u4e0b\uff0c\u4f60\u5c31\u77e5\u9053']
20180728 15:26:28.244 : INFO : Opening url 'https://www.cnblogs.com/'
20180728 15:26:31.021 : INFO :
Altogether 1 item.
1: 博客园 - 开发者的网上家园
20180728 15:26:31.021 : INFO : ${title3} = [u'\u535a\u5ba2\u56ed - \u5f00\u53d1\u8005\u7684\u7f51\u4e0a\u5bb6\u56ed']
20180728 15:26:31.022 : INFO : [u'\u535a\u5ba2\u56ed - \u5f00\u53d1\u8005\u7684\u7f51\u4e0a\u5bb6\u56ed']
Ending test: RobotFrameworkTest1.TestSuite6.TestCase0016
从运行的日志能够很清楚的看到Go Back 和 Go To关键字在使用时起到的效果。
五、Get List Items
Get List Items关键字用来获取获取页面中一个下拉列表中全部的下拉选项,关键字接收[ locator ]一个参数,locator能够经过id或者name等来进行元素定位。
示例1:咱们以访问百度贴吧中以下的下拉框为例来对该关键字的使用进行说明,以下图所示。
Open Browser http://tieba.baidu.com/f/search/adv?red_tag=u3387165643 chrome
@{Items} Get List Items name=sm
Close Browser
运行结果以下:
Starting test: RobotFrameworkTest1.TestSuite6.TestCase0023
20180728 23:27:16.635 : INFO : Opening browser 'chrome' to base url 'http://tieba.baidu.com/f/search/adv?red_tag=u3387165643'
20180728 23:27:24.714 : INFO : get_attribute multiple
20180728 23:27:24.878 : INFO : @{Items} = [ 按时间倒序 | 按时间顺序 | 按相关性排序 ]
Ending test: RobotFrameworkTest1.TestSuite6.TestCase0023
六、Get Selected List Value
Get Selected List Value关键字用于获取页面中选中的一个下拉列表的Value值,关键字接收[ locator ]一个参数,locator能够经过id或者name等来进行元素定位。
示例1:这里咱们依然以访问百度贴吧中以下的下拉框为例来对该关键字的使用进行说明,以下图所示
Open Browser http://tieba.baidu.com/f/search/adv?red_tag=u3387165643 chrome
${Value} Get Selected List Value name=sm
log ${Value}
Close Browser
运行结果以下:
Starting test: RobotFrameworkTest1.TestSuite6.TestCase0025
20180728 23:54:56.379 : INFO : Opening browser 'chrome' to base url 'http://tieba.baidu.com/f/search/adv?red_tag=u3387165643'
20180728 23:55:05.545 : INFO : get_attribute multiple
20180728 23:55:05.599 : INFO : get_attribute value
20180728 23:55:05.609 : INFO : ${Value} = 1
20180728 23:55:05.610 : INFO : 1
Ending test: RobotFrameworkTest1.TestSuite6.TestCase0025
从运行结果看,恰好与咱们经过浏览器的开发工具看到的value值彻底一致,以下图所示。
7、Select From List
Select From List关键字用来模拟从指定的下拉列表中选择指定的下拉列表选项,该关键字接收[ locator | *items ]多个参数,locator能够经过id,name来进行元素的定位,当列表中传入多个值时,默认选择最后一条,若是传入的是一个空列表,那么会默认选择这个列表中的全部值。
本文做者:张永清,若是转载请注明出处RobotFramework自动化测试框架-Selenium Web自动化(三)关于在RobotFramework中如何使用Selenium很全的总结(下),不然追求一切法律责任。
示例1:这里咱们继续访问百度贴吧,咱们的目标是经过Select From List关键字选中这个选项。咱们经过浏览器的开发者工具能够看到
这个选项对应的value为2,因此咱们在关键字的参数中传入的参数为2,以下图 所示。
Open Browser http://tieba.baidu.com/f/search/adv?red_tag=u3387165643 chrome
Select From List name=sm 2
sleep 5
Close Browser
运行结果以下:
Starting test: RobotFrameworkTest1.TestSuite6.TestCase0031
20180729 09:53:40.279 : INFO : Opening browser 'chrome' to base url 'http://tieba.baidu.com/f/search/adv?red_tag=u3387165643'
20180729 09:53:49.543 : INFO : Selecting option(s) '2' from list 'name=sm'.
20180729 09:53:49.582 : INFO : get_attribute multiple
20180729 09:53:54.675 : INFO : Slept 5 seconds
Ending test: RobotFrameworkTest1.TestSuite6.TestCase0031
从实际执行的效果看,已经能够成功选中这个列表,以下图所示。
备注:本文内容摘选自做者本身出版的Robot Framework自动化测试框架核心指南 一书。
关于自动化测试的更多内容,请关注:
Robot Framework自动化测试框架核心指南京东官方购买
Robot Framework自动化测试框架核心指南电子版试读
Robot Framework自动化测试框架核心指南天猫官方旗舰店购买
Robot Framework自动化测试框架核心指南当当网购买
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
RobotFramework自动化测试框架-MongoDBLibrary库的使用
原文出处:https://www.cnblogs.com/laoqing/p/11966769.html