RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)
好久没有继续分享关于自动化测试相关的东西了,自动化在现今的测试领域已经越来越重要了,大部分公司在测试岗位招聘中都需要会相关的自动化测试知识。而 RobotFramework自动化测试框架 是自动化测试中
用的最多一个框架,基于Python编程语言设计的可扩展的关键字驱动模式的测试自动化框架,具备良好的可扩展性,可以通过xml-rpc服务扩展支持其它的常用编程语言,可以同时测试多种类型的客户端或者接口,可以支持进行分布式测试执行。
Robot Framework具体如何的特点:
- 易于使用,采用表格式输入语法,统一的测试用例格式。
- 重用性好,可以利用现有关键字来组合新的用户自定义关键字。
- 支持资源文件,支持多种变量类型,包括字符串变量,list列表变量,Dictionary字典变量等。
- 测试案例执行结果报告和日志采用HTML格式,易于阅读和邮件转发。
- 提供标签以分类来选择将被执行的测试用例,使得测试案例的执行选择更加灵活。
- 支持WEB界面测试,web接口服务测试、GUI 测试、多种终端测试。
- 支持多种数据库的操作,包括常用的关系型数据库,非关系型数据库。
- 易于扩展自定义的Lib库,可以通过python或者java等其他开发语言来动态扩展Lib库。
本文章节目录:
1、Input Text
2、Click Button
3、Click Element
4、Click Link
5、Add Cookie,Get Cookies 和Delete Cookie
6、Get All Links
7、Choose File(文件上传)
8、Get Text
9、Get Title
说明:我们这里是紧接着RobotFramework自动化测试框架-Selenium Web自动化(-)-Open Browser和Close Browser 这篇往后继续的。作者的原创文章,转载时请注明出处:作者为张永清,链接为https://www.cnblogs.com/laoqing/articles/11831022.html。
1、Input Text
Input Text关键字用于模拟向一个输入框中输入文字内容,该关键字接收两个参数[ locator | text ],locator参数指的定位界面元素的方式,text参数指的是需要输入的内容。
示例1:打开百度,向输入框中输入Robot FrameWork,这里采用id的方式来定位界面的输入框元素,可以采用谷歌浏览器自带的开发者工具查看该输入框的元素,如下图所示。

Open Browser http://www.baidu.com chrome
Input Text id=kw Robot FrameWork
执行结果如下:如下图中所示。
Starting test: RobotFrameworkTest1.TestSuite6.TestCase0002
20170529 15:44:23.918 : INFO : Opening browser 'chrome' to base url 'http://www.baidu.com'
20170529 15:44:32.068 : INFO : Typing text 'Robot FrameWork' into text field 'id=kw'
Ending test: RobotFrameworkTest1.TestSuite6.TestCase0002

2、Click Button
Click Button关键字用于模拟点击页面中的按钮,该关键字接收一个参数[ locator ]。
示例1:打开百度,向输入框中输入Robot FrameWork后,点击百度一下按钮,进行搜索。
这里通过id=su来定位百度一下这个按钮,如下图中所示。
Open Browser http://www.baidu.com chrome
Input Text id=kw Robot FrameWork
Click Button id=su

执行结果如下:如下图中所示。
Starting test: RobotFrameworkTest1.TestSuite6.TestCase0002
20170529 16:01:02.161 : INFO : Opening browser 'chrome' to base url 'http://www.baidu.com'
20170529 16:01:12.505 : INFO : Typing text 'Robot FrameWork' into text field 'id=kw'
20170529 16:01:12.917 : INFO : Clicking button 'id=su'.
Ending test: RobotFrameworkTest1.TestSuite6.TestCase0002

3、Click Element
Click Element关键字用于模拟点击一个通过locator定位到的具体元素,可以是通过id或者name,xpath等都可以。该关键字接收一个参数[ locator ]
示例1:这里我们继续访问百度的首页,通过id来定位一个元素,并且使用Click Element关键字来模拟点击这个元素定位到的按钮,如下图中所示。

Open Browser http://www.baidu.com chrome
Click Element id=su
Sleep 2
Close Browser
执行结果如下:
Starting test: RobotFrameworkTest1.TestSuite6.TestCase0003
20180728 09:59:02.582 : INFO : Opening browser 'chrome' to base url 'http://www.baidu.com'
20180728 09:59:14.272 : INFO : Clicking element 'id=su'.
20180728 09:59:17.158 : INFO : Slept 2 seconds
Ending test: RobotFrameworkTest1.TestSuite6.TestCase0003
4、Click Link
Click Link关键字用于模拟点击一个链接 。该关键字接收一个参数[ locator ]
示例1:这里我们继续访问百度的首页,通过模拟点击百度首页又上角的”地图”链接来说明此关键字的使用。我们通过href="http://map.baidu.com" 来模拟点击这个链接,如下图中所示。

Open Browser http://www.baidu.com chrome
Click Link http://map.baidu.com
Sleep 2
Close Browser
执行结果如下:
Starting test: RobotFrameworkTest1.TestSuite6.TestCase0004
20180728 10:10:37.328 : INFO : Opening browser 'chrome' to base url 'http://www.baidu.com'
20180728 10:10:47.171 : INFO : Clicking link 'http://map.baidu.com'.
20180728 10:10:53.170 : INFO : Slept 2 seconds
Ending test: RobotFrameworkTest1.TestSuite6.TestCase0004
示例2:Click Link关键字除了上面说到的直接通过href链接来定位元素外,也可以通过id或者name来定位,这里以name作为示例来进行示例。
Open Browser http://www.baidu.com
Click Link name=tj_trmap
Sleep 5
Close Browser
执行结果如下:
Starting test: RobotFrameworkTest1.TestSuite6.TestCase0005
20180728 10:22:35.467 : INFO : Opening browser 'chrome' to base url 'http://www.baidu.com'
20180728 10:22:44.921 : INFO : Clicking link 'name=tj_trmap'.
20180728 10:22:57.497 : INFO : Slept 5 seconds
Ending test: RobotFrameworkTest1.TestSuite6.TestCase0005
运行时可以看到正在加载百度地图的画面,如下图中所示。


5、Add Cookie,Get Cookies 和Delete Cookie
Add Cookie关键字用于模拟向本地浏览器中添加一个Cookie缓存,Cookie也是我们在做web自动化测试时,经常需要用到的一个概念。该关键字接收[ name | value | path=None | domain=None | secure=None | expiry=None ]这几个参数,如下表所示。
|
name |
Cookie的名称 |
|
Value |
Cookie的具体值 |
|
path |
Cookie对应的路径,如果不填的话,默认为None |
|
domain |
Cookie对应的域名,如果不填的话,默认为None |
|
secure |
Cookie的安全属性,这个属性是用来保证cookie的安全的,如果一个cookie被设置了Secure=true,那么这个cookie只能用https协议发送给服务器,用http协议是不发送的。 |
|
expiry |
Cookie的过期时间,如果不填的话,默认为空 |
这里我以登录到我的博客园后,浏览器中显示的cookie为示例,通过下图中所示。可以看到上面表格中对应的字段都可以在浏览器中的cookie中看到。

Get Cookie关键字用于获取浏览器中缓存的所有Cookie,这个关键字后面不需要加任何的参数。
Delete Cookie关键字用于删除浏览器中缓存的Cookie,该关键字接收一个参数[ name ],该参数用于标志需要删除的cookie的名称。
示例1:这里我们以访问百度首页为例,我们自己添加一个名称为book的cookie,并且将该cookie的值写为Robot Framework,secure属性设置为true,然后通过Get Cookies 关键字来获取所有的Cookie,然后删除我们自己添加的Cookie。
Open Browser http://www.baidu.com chrome
Add Cookie book Robot Framework / baidu.com true
${cookie} Get Cookies
log ${cookie}
Sleep 50
Delete Cookie book
${cookienew} Get Cookies
log ${cookienew}
Sleep 2
Close Browser
运行结果如下:
Starting test: RobotFrameworkTest1.TestSuite6.TestCase0006
20180728 11:02:14.076 : INFO : Opening browser 'chrome' to base url 'http://www.baidu.com'
20180728 11:02:24.488 : INFO : ${cookie} = H_PS_PSSID=26523_1443_26433_21112_26924_20930; BAIDUID=53A9ECC2223045BB4D28064D8CCC2428:FG=1; PSTM=1532746930; BIDUPSID=53A9ECC2223045BB4D28064D8CCC2428; delPer=0; BD_HOME=0; BD_UPN=12314353; book= Robot Framework
20180728 11:02:24.489 : INFO : H_PS_PSSID=26523_1443_26433_21112_26924_20930; BAIDUID=53A9ECC2223045BB4D28064D8CCC2428:FG=1; PSTM=1532746930; BIDUPSID=53A9ECC2223045BB4D28064D8CCC2428; delPer=0; BD_HOME=0; BD_UPN=12314353; book=Robot Framework
20180728 11:03:14.490 : INFO : Slept 50 seconds
20180728 11:03:15.772 : INFO : ${cookienew} = H_PS_PSSID=26523_1443_26433_21112_26924_20930; BAIDUID=53A9ECC2223045BB4D28064D8CCC2428:FG=1; PSTM=1532746930; BIDUPSID=53A9ECC2223045BB4D28064D8CCC2428; delPer=0; BD_HOME=0; BD_UPN=12314353
20180728 11:03:15.773 : INFO : H_PS_PSSID=26523_1443_26433_21112_26924_20930; BAIDUID=53A9ECC2223045BB4D28064D8CCC2428:FG=1; PSTM=1532746930; BIDUPSID=53A9ECC2223045BB4D28064D8CCC2428; delPer=0; BD_HOME=0; BD_UPN=12314353
20180728 11:03:17.775 : INFO : Slept 2 seconds
Ending test: RobotFrameworkTest1.TestSuite6.TestCase0006
从运行的日志结果看,通过Add Cookie book Robot Framework / baidu.com true,可以添加一个Cookie,并且可以将该Cookie的secure属性设置为true。在运行的过程,通过浏览器自带的开发者工具,也可以看到名称叫book的cookie已经成功添加完成,如下图中所示。

在使用Get Cookies关键字时,可以获取到浏览器打开后里面所有的cookie,除了获取到这里我们自己添加的cookie外,还获取到了访问百度首页时,百度首页在本地浏览器中保存的cookie。最后通过Delete Cookie关键字删除名称为book的cookie后,我们再通过Get Cookies关键字来获取所有的cookie时,就已经不能再获取到名称为book的cookie信息了。
6、Get All Links
Get All Links 关键字用来获取所有页面上所有的href链接的元素对应的id,链接对应的元素中没有id时,就以一个空字符串代替。
示例1:我们继续访问百度,找出百度首页中存在多少个链接数
Open Browser http://www.baidu.com/ chrome
${links} Get All Links
log ${links}
Sleep 2
Close Browser
运行结果如下:
Starting test: RobotFrameworkTest1.TestSuite6.TestCase0007
20180728 11:31:18.136 : INFO : Opening browser 'chrome' to base url 'http://www.baidu.com/'
20180728 11:31:28.558 : INFO : get_attribute id
20180728 11:31:28.566 : INFO : get_attribute id
20180728 11:31:28.574 : INFO : get_attribute id
20180728 11:31:28.582 : INFO : get_attribute id
20180728 11:31:28.592 : INFO : get_attribute id
20180728 11:31:28.599 : INFO : get_attribute id
20180728 11:31:28.607 : INFO : get_attribute id
20180728 11:31:28.617 : INFO : get_attribute id
20180728 11:31:28.624 : INFO : get_attribute id
20180728 11:31:28.633 : INFO : get_attribute id
20180728 11:31:28.640 : INFO : get_attribute id
20180728 11:31:28.648 : INFO : get_attribute id
20180728 11:31:28.657 : INFO : get_attribute id
20180728 11:31:28.664 : INFO : get_attribute id
20180728 11:31:28.673 : INFO : get_attribute id
20180728 11:31:28.682 : INFO : get_attribute id
20180728 11:31:28.690 : INFO : get_attribute id
20180728 11:31:28.699 : INFO : get_attribute id
20180728 11:31:28.706 : INFO : get_attribute id
20180728 11:31:28.716 : INFO : get_attribute id
20180728 11:31:28.723 : INFO : get_attribute id
20180728 11:31:28.732 : INFO : get_attribute id
20180728 11:31:28.740 : INFO : get_attribute id
20180728 11:31:28.747 : INFO : get_attribute id
20180728 11:31:28.756 : INFO : get_attribute id
20180728 11:31:28.764 : INFO : get_attribute id
20180728 11:31:28.775 : INFO : get_attribute id
20180728 11:31:28.782 : INFO : get_attribute id
20180728 11:31:28.790 : INFO : get_attribute id
20180728 11:31:28.798 : INFO : get_attribute id
20180728 11:31:28.806 : INFO : get_attribute id
20180728 11:31:28.814 : INFO : get_attribute id
20180728 11:31:28.822 : INFO : get_attribute id
20180728 11:31:28.831 : INFO : ${links} = [u'result_logo', u'quickdelete', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'setf', u'', u'', u'', u'', u'', u'jgwab']
20180728 11:31:28.833 : INFO : [u'result_logo', u'quickdelete', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'', u'setf', u'', u'', u'', u'', u'', u'jgwab']
20180728 11:31:30.833 : INFO : Slept 2 seconds
Ending test: RobotFrameworkTest1.TestSuite6.TestCase0007
7、Choose File(文件上传)
做自动化测试时,我们经常遇到的就是上传文件了,这里我们可以使用Choose File 关键字就可以完成该操作,Choose File 关键字接收[ locator | file_path ]两个关键字,如下表5-1-3所示。
|
locator |
上传文件时,上传文件对应的输入框的输入字段,可以通过我们常见的元素定位的方式来定位到。 |
|
file_path |
这个参数指的是需要上传的文件的本地路径 |
表5-1-3
示例1:这里我们还是以百度首页为例,百度首页支持图片搜素,很多经常使用百度引擎进行搜索的朋友可能都用过,有点类似通过输入一张图片,然后找和这张图片的相似图片功能一样,在这个AI人工智能大热的时代,这个功能也越来越被很多电商进行商品搜索时使用。
如下的示例中,我们首先打开百度首页。然后通过我们上面介绍到的Click Element关键字来模拟点击输入框旁边的按钮,来切换到图片上传模式。切换完后,然后通过Choose File关键字来上传文件,这里我们的locator选择使用xpath来定位。之后就是选择我磁盘中的一张个人图片上传。
在获取xpath路径时,我们可以通过Chrom浏览器自带的开发者工具来直接复制到xpath路径,如下图中所示。

Open Browser http://www.baidu.com/ chrome
Click Element //*[@id="form"]/span[1]/span
Sleep 10
Choose File //*[@id="form"]/div/div[2]/div[2]/input E:\\zhangyongqing.bmp
Sleep 10
Close Browser
运行结果如下(这里的运行结果,我们选择从自动化执行report中来查看):
SUITE RobotFrameworkTest1
javascript:expandAll('s1')javascript:collapseAll('s1')C:\Users\yongqing\AppData\Local\Temp\RIDExpjcyt.d\log.html - s1#s1
|
Full Name: |
RobotFrameworkTest1 |
|
Source: |
|
|
Start / End / Elapsed: |
20180728 11:52:36.817 / 20180728 11:53:08.127 / 00:00:31.310 |
|
Status: |
1 critical test, 1 passed, 0 failed |
00:00:31.284SUITE TestSuite6
javascript:expandAll('s1-s1')javascript:collapseAll('s1-s1')C:\Users\yongqing\AppData\Local\Temp\RIDExpjcyt.d\log.html
- s1-s1#s1-s1
|
Full Name: |
RobotFrameworkTest1.TestSuite6 |
|
Source: |
F:\project\RobotFrameworkTest1\RobotFrameworkTest1\TestSuite6.txt |
|
Start / End / |
20180728 |
|
Status: |
1 critical test, |
00:00:31.108TEST TestCase0008
javascript:expandAll('s1-s1-t1')javascript:collapseAll('s1-s1-t1')C:\Users\yongqing\AppData\Local\Temp\RIDExpjcyt.d\log.html
- s1-s1-t1#s1-s1-t1
|
Full Name: |
RobotFrameworkTest1.TestSuite6.TestCase0008 |
|
Start / End / |
20180728 |
|
Status: |
PASS (critical) |
00:00:09.825KEYWORD Selenium2Library . Open Browser http://www.baidu.com/,
chrome
javascript:expandAll('s1-s1-t1-k1')javascript:collapseAll('s1-s1-t1-k1')C:\Users\yongqing\AppData\Local\Temp\RIDExpjcyt.d\log.html
- s1-s1-t1-k1#s1-s1-t1-k1
|
Documentation: |
Opens a new browser instance to given URL. |
|
Start / End / Elapsed: |
20180728 11:52:37.017 / 20180728 |
|
11:52:37.017 |
INFO |
Opening |
00:00:00.119KEYWORD Selenium2Library . Click Element //*[@id="form"]/span[1]/span
javascript:expandAll('s1-s1-t1-k2')javascript:collapseAll('s1-s1-t1-k2')C:\Users\yongqing\AppData\Local\Temp\RIDExpjcyt.d\log.html
- s1-s1-t1-k2#s1-s1-t1-k2
|
Documentation: |
Click element identified by `locator`. |
|
Start / End / Elapsed: |
20180728 11:52:46.842 / 20180728 |
|
11:52:46.843 |
INFO |
Clicking '//*[@id="form"]/span[1]/span'. |
00:00:10.001KEYWORD BuiltIn . Sleep 10
javascript:expandAll('s1-s1-t1-k3')javascript:collapseAll('s1-s1-t1-k3')C:\Users\yongqing\AppData\Local\Temp\RIDExpjcyt.d\log.html
- s1-s1-t1-k3#s1-s1-t1-k3
|
Documentation: |
Pauses the test executed for the given time. |
|
Start / End / Elapsed: |
20180728 11:52:46.962 / 20180728 |
|
11:52:56.962 |
INFO |
Slept 10 |
00:00:00.095KEYWORD Selenium2Library . Choose File //*[@id="form"]/div/div[2]/div[2]/input,
E:\\zhangyongqing.bmp
javascript:expandAll('s1-s1-t1-k4')javascript:collapseAll('s1-s1-t1-k4')C:\Users\yongqing\AppData\Local\Temp\RIDExpjcyt.d\log.html
- s1-s1-t1-k4#s1-s1-t1-k4
|
Documentation: |
Inputs the `file_path` into file input field found by `locator`. |
|
Start / End / Elapsed: |
20180728 11:52:56.964 / 20180728 |
00:00:10.002KEYWORD BuiltIn . Sleep 10
javascript:expandAll('s1-s1-t1-k5')javascript:collapseAll('s1-s1-t1-k5')C:\Users\yongqing\AppData\Local\Temp\RIDExpjcyt.d\log.html
- s1-s1-t1-k5#s1-s1-t1-k5
|
Documentation: |
Pauses the test executed for the given time. |
|
Start / End / Elapsed: |
20180728 11:52:57.060 / 20180728 |
|
11:53:07.061 |
INFO |
Slept 10 |
00:00:01.061KEYWORD Selenium2Library . Close Browser
javascript:expandAll('s1-s1-t1-k6')javascript:collapseAll('s1-s1-t1-k6')C:\Users\yongqing\AppData\Local\Temp\RIDExpjcyt.d\log.html
- s1-s1-t1-k6#s1-s1-t1-k6
|
Documentation: |
Closes the current browser. |
|
Start / End / Elapsed: |
20180728 11:53:07.063 / 20180728 |
为了能看到整个的过程,我捕获了运行过程中关键步骤执行时的实际效果图片,从图片中也可以清晰的看到图片从上传到上传后,百度引擎自动执行搜索的一个过程,如下图所示



8、Get Text
Get Text关键字用来获取文本内容,该关键字接收[ locator ]这一个关键字,locator可以是通过id或者name,xpath等都可以定位。
示例1:
这里我们依然以百度首页为例,获取name="tj_trnews" 包含的文本内容,如下图所示。

Open Browser http://www.baidu.com/ chrome
${text} Get Text name=tj_trnews
log ${text}
Close Browser
运行结果如下:
Starting test: RobotFrameworkTest1.TestSuite6.TestCase0009
20180728 13:04:33.505 : INFO : Opening browser 'chrome' to base url 'http://www.baidu.com/'
20180728 13:04:42.409 : INFO : ${text} = 新闻
20180728 13:04:42.411 : INFO : 新闻
Ending test: RobotFrameworkTest1.TestSuite6.TestCase0009
示例2:上面的示例中,我们的locator是通过的name来定位的,我们换成是xpath来试试。
Open Browser http://www.baidu.com/ chrome
${text} Get Text //*[@id="u1"]/a[1]
log ${text}
Close Browser
运行结果如下(这次的运行结果,我们选择从自动化执行report中来查看):如下图所示。

我们会发现使用xpath的效果是一样的。
9、Get Title
Get Title关键字用来获取浏览器网页的title,该关键字后面不需要接收任何的参数。
示例1:这里我们模拟访问百度首页,然后获取百度首页的Title
Open Browser http://www.baidu.com/ chrome
${title} Get Title
log ${title}
Close Browser
运行结果如下:
Starting test: RobotFrameworkTest1.TestSuite6.TestCase0011
20180728 13:18:33.227 : INFO : Opening browser 'chrome' to base url 'http://www.baidu.com/'
20180728 13:18:42.213 : INFO : ${title} = 百度一下,你就知道
20180728 13:18:42.214 : INFO : 百度一下,你就知道
Ending test: RobotFrameworkTest1.TestSuite6.TestCase0011
未完待续....
备注:本文内容摘选自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自动化测试框架-移动手机自动化测试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库的使用
RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)的更多相关文章
- 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-08 什么是数据驱动?简答的理解就是测试数据决定了测试结果,这就是所谓数据驱动.数据驱动包含了数据,他就是测试数据,在自动化领域里 ...
- 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 编写代 ...
- Selenium Web 自动化 - 项目持续集成
Selenium Web 自动化 - 项目持续集成 2017-02-13 目录 1环境准备 1.1 安装git 1.2 安装jenkins 1.3 安装jenkins插件 1.4 jekins ...
- Selenium Web 自动化
1 Selenium Web 自动化 - Selenium(Java)环境搭建 2 Selenium Web 自动化 - 如何找到元素 3 Selenium Web 自动化 - Selenium常用A ...
随机推荐
- 从零开始入门 K8s | 应用存储和持久化数据卷:核心知识
作者 | 至天 阿里巴巴高级研发工程师 一.Volumes 介绍 Pod Volumes 首先来看一下 Pod Volumes 的使用场景: 场景一:如果 pod 中的某一个容器在运行时异常退出,被 ...
- MapReduce案例-好友推荐
用过各种社交平台(如QQ.微博.朋友网等等)的小伙伴应该都知道有一个叫 "可能认识" 或者 "好友推荐" 的功能(如下图).它的算法主要是根据你们之间的共同好友 ...
- MongoDB 学习笔记之 删除数据,集合,数据库
删除数据,集合,数据库: 删除一个文档: db.media.deleteOne({"name": "Sky"}) 删除多个文档: db.media.delete ...
- iframe 设置占屏幕高度 100%
给 iframe 元素设置 fixed 定位,并且设置 100% 的宽和高: iframe { position: fixed; background: #000; border: none; top ...
- 爬虫那点事,干就玩了之seleunim
目录 selenium 环境准备 代码环境 开始爬虫 操作js 截图 切换窗口 在当前窗口切换访问地址 管理cookie # 加入战队 微信公众号 # 加入战队 微信公众号 做技术我们最重要的是[做] ...
- springboot配置ehcache2.X缓存(@Cacheable等注解和手动操作缓存的工具类 支持element粒度的时间设置)
本文只写出一些注意事项和源码,请善用官方文档~ 注解实现 @Cacheable @CachePut @CacheEvit 启动类上加@EnableCaching就可以开启缓存 由文档可知,自动检测缓存 ...
- kafka-0.10.2.1:Producer生产时无法自动创建Topic
集群环境: CenterOS 1台 Kafka:0.10.2.1版本. 今天在测试环境下,我们的Kafka集群工作不正常,具体现象为,使用confulentkafka向kafka集群生产消息失败,且并 ...
- .net Core 发布服务
.net core 发布服务 准备好的文件可以通过下面的几个命令进行操作 1.创建Service sc create "服务名" binPath= "文件路径+文件名&q ...
- 客户端 SOCKET 编程
建立客户端的 Socket: 客户端应用程序首先也是调用 WSAStartup() 函数来初始化 Winsock 的动态连接库,然后同样 调用 socket() 来建立一个 TCP 或 UDP Soc ...
- 怎样快速找到某一行代码的git提交记录
利用notepad++提高问题分析效率,以及快速找到某一行代码的git提交记录 1. 全目录搜索/替换 Notepad++是一款强大的文本编辑工具,当知道大概的关键词但不知道在哪个日志时可以使用not ...