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 ...
随机推荐
- Spring Boot 2.X(七):Spring Cache 使用
Spring Cache 简介 在 Spring 3.1 中引入了多 Cache 的支持,在 spring-context 包中定义了org.springframework.cache.Cache 和 ...
- Kubernetes中的PV和PVC是啥
K8S引入了一组叫作Persistent Volume Claim(PVC)和Persistent Volume(PV)的API对象,大大降低了用户声明和使用持久化Volume的门槛. 在Pod的Vo ...
- 带你涨姿势的认识一下 Kafka
Kafka 基本概述 什么是 Kafka Kafka 是一个分布式流式平台,它有三个关键能力 订阅发布记录流,它类似于企业中的消息队列 或 企业消息传递系统 以容错的方式存储记录流 实时记录流 Kaf ...
- python自动化测试三部曲之request+django实现接口测试
国庆期间准备写三篇博客,介绍和总结下接口测试,由于国庆期间带娃,没有按照计划完成,今天才完成第二篇,惭愧惭愧. 这里我第一篇博客的地址:https://www.cnblogs.com/bainianm ...
- BBEdit 13.0 for Mac 打开大文件不吃力
BBEdit 是一款拥有 16 年历史的 HTML 和文本编辑器,拥有高性能且流畅的文本处理能力,适用于 Web 和软件开发者,具备功能丰富且强大的智能搜索.代码折叠.FTP 和 SFTP 管理等功能 ...
- 零基础转行web前端,要学习多久?需要掌握些什么?
web前端开发技术人才越来越吃香,而且web前端领域划分越来越细,对技术的需求越来越高,想学习web前端的人也是越来越多.那么,如何学习web前端知识?从哪开始?转型成为web前端工程师需要学些什么? ...
- WCF 入门调用实例教程
WCF的相关概念信息就不在此赘述了,网上一搜一大把. 现在让我们动手搭建我们的第一个wcf程序吧,具体流程如下: 1. 新建立空白解决方案,并在解决方案中新建项目,项目类型为:WCF服务应用程序. 2 ...
- Maven安装和在IDEA配置Maven
一.Windows安装Maven 1.下载Maven 这里需要注意:不要去官网下载最新的版本,因为会出现与IDEA不兼容的现象. 这里提供下载地址:https://archive.apache.org ...
- php有orm吗
ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中.本质上就是将数据从一种形式转换到另外一种形式. ORM提供了所有SQL语句的生成,代码人员远离了数据库概念.从 ...
- 面试 LockSupport.park()会释放锁资源吗?
(手机横屏看源码更方便) 引子 大家知道,我最近在招人,今天遇到个同学,他的源码看过一些,然后我就开始了AQS连环问. 我:说说AQS的大致流程? 他:AQS包含一个状态变量,一个同步队列--bala ...