用robotframework+selenium 进行webui页面自动化测试

本文介绍了如何在Robotframework框架中使用Selenium库进行WebUI自动化测试。首先,讲述了在RIDE中导入Selenium库的步骤,包括新建项目、测试套件和测试用例。接着,详细解析了编写自动化测试脚本的过程,如打开浏览器、设置超时时间、元素定位、输入文本、点击元素以及验证登录是否成功。最后,提到了元素定位技巧,如使用SelectFrame处理frame元素,并强调了正确选择和使用关键字的重要性。

robotframework其实就是一个自动化的框架,想要进行什么样的自动化测试,就需要在这框架上添加相应的库文件,而用于webui页面自动化测试的就是selenium库.

 

关于robotframework框架的搭建我这里就不说了,今天就给大家根据一个登录的实例来讲一讲,selenium库的相关应用吧。 要想运用selenium库,首先是导入此库的信息。在哪里导入呢?

那就是在我们已经安装好的robotframework的操作页面即ride中导入。

打开ride,按照以下顺序依次建立项目:
 

1、新建测试项目

2、新建测试套件,在已经建好的项目下建立测试套件 

 3、新建测试用例,在已经建立好的套件下,创建自动化测试用例

 建好以后的结构如下:

在建好的目录上左键单击套件名称,就会出现如下页面: 

 单击右上方的library标签,就会弹出如下页面:

 

在此页面,你可以直接在name栏输入selenium库文件名点OK,也可以点browse按钮,选择selenium库文件名,一般我是直接输入名称来导入的。

在这里输入的库文件名是Selenium2Library,导入成功后,在setting项目页面上就会一条黑色的记录展示出来,下图是导入了多个库以后的展示,如果导入失败,库名称将显示为红色,这时候你就要查看日志找原因了,这里就不多说了。
 

 

库文件可以导入在套件下,也可以在根目录下导入,不同位置导入的使用的范围不同,其它没有区别。

库文件导入成功以后,我们就可以开始webui页面自动化测试脚本的编写了。

我们就拿登录163邮箱来做一个测试吧。

登录163邮箱的测试用例大概是这样的:

首先是打开163邮箱登录页面

其次是输入正确的账号,密码

然后登录

最后是检查登录是否成功。

我们根据已经写好的测试用例步骤及检查结果来写这条自动化测试脚本,写好的脚本大概是这样的:
 

 

结合这个脚本给大家讲讲这里面这些字段的用法:

Teardown:这个字段可以理解为后处理,就是自动化脚本跑完做的一个处理,在运用selenium库进行自动化测试的时候,这里面一般是设置的close browse,就是自动化用例脚本跑完之后,关闭浏览器。

Timeout:超时时间设置,这个设置的作用就是防止自动化脚本在执行测试的时候卡在某一个环节一走卡着,不能进行下一条脚本测试。这个时间的设置要根据当前你测试脚本花费的时间来填写,并没有固定值。

这两个是测试脚本的一个预设值,接下来的内容就是登录163邮箱的一个实际测试脚本了。

我们的所看到的截图中的第一列蓝色的字体的关键字,其实也就是我们对应的操作动作。

Open browse:就是打开浏览器,这一行所对应的第二列就是我们要登录的163邮箱的地址,所对应的第三列就是浏览器类型,我们常用的浏览器类型有IE,chrome,firefox等,这个根据实际填写,所要说明一点的是,无论你输入的是哪个浏览器,在python的安装目录下,一定要有这个浏览器相应的驱动文件,有驱动文件版本必须与你电脑上当前安安装的浏览器版本是一致的,否则脚本运行就会报错。
 

 

Sleep:在打开浏览器这个动作后我用了一个关键字sleep,其实就是等待的意思,因为打开浏览器网页到页面完全展示出来是有一定时间的,所以在这里我用了一个sleep关键字,时间是根据网页完全展示出来的一个估算时间,你可以用wait until element contains这样一个关键字来等待

Select frame.:在完全展示出来后,这里又用一个select frame来选择一下窗口,sele为什么要用这个,是因为输入账号,密码,登录这几个选择在网页中用了这样的一个嵌套的格式,如果不用select frame来选择一下,无论我们账号,密码输入的定位多正确,自动执行测试的时候都无法输入账号,密码从而进行登录。

那么如何知道这个页面用了frame呢,就要通过查看网页的html代码来看了。像这个登录页面,当选中账号输入框时其位置代码相应位置被标蓝,顺着这个位置向上查它的父路径,发现有一个iframe标签,选中iframe. 标签这段代码,发现整个账号,密码框,登录所在的位置都被选中,说明这几个元素是在iframe标签下的,我们要定位这几个元素,需先选中切换到里面去。
 

 

像这种需要进行选择切换的还有网页内嵌套表格,通过跳转链接打开新的网页等,大家在进行元素定位时要多留意相应的标签,在进行元素定位时,使用正确的选择关键字。

如从百度首页通过链接进入hao123网页,因为是打开新的网页,在这里就用了switch window.

 

Input text:账号,密码输入,这行对应的第二列就是账号密码框所对应的位置,这个位置是如何定位出来的,这里用到了了selenium库中的元素定位。元素定位常用的有CSS,Xpath,name,id等,这里就不详述了,不会的可以到网上搜一下。

此两行所对应的第三列,就是相应的用户名和密码。在这里我把用户名和密码设置成一个变量,所以在用的时候是直接引用了变量名。

变量的设置很简单的,选中套件或根目录右键单击,在弹出的菜单中选中new scalar,,在接下来弹出的页面中,设置变量名,和变量值点OK就可以了,如用户名变量的设置:

 

Click element:这是一个单击鼠标左键的动作,所对应的第二列是此元素的位置路径。鼠标左键单击还有click button,click link,click button关键字一般用于元素type为button时,如果元素 type不是button类型的,用这个关键字,就不会执行这个鼠标动作。

Click link一般用于这个元素包含有超链接时,如百度首页的hao123图片,就带了一个超链接属性:
 

好了,接着上面的脚本来说,在登录动作后,这里又用了一个sleep,其实这里也可以用wait until这样的关键字的,这个看个人习惯,不论用哪一个等待,这个地方都是要等几秒中才能进行下一步操作的,原因同上。

unselect frame:这个是和select frame同对出现的,使用了select frame关键字之后,在跳出这个格式以后,一定要释放掉。

Element should be enabled:这是登录成功后的一个验证,验证页面是否跳转到了我们所期望的页面中去,那么这里的所对应的第二列的元素位置就是跳转以后可以代表这个页面的的一个元素的位置。

好了,用selenium库进行webui页面测试的相关内容就给大家介绍到这里。最后再给大家说一下,selenium库关键字有很多,要用哪个,怎么用记不住的话,可以在ride用例编写页面按F5 键查看哦。
 


最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取【保证100%免费】 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

<think> 我们正在解决的问题是:如何安装Robot Framework的Selenium库并进行Web自动化测试? 根据用户提供的引用内容,我们可以整合如下: 引用[1]提到:安装seleniumrobotframeworkrobotframework-seleniumlibrary,浏览器及浏览器驱动。 引用[2]提到:robotframework框架+selenium工具在web端的自动化实践。 引用[3]提到:用Robotframework+selenium进行webui页面自动化测试,并提到可以使用RIDE按F5查看关键字。 引用[4]提到:docker环境下并发测试,但用户当前问题集中在基础安装,因此仅作为扩展参考。 引用[5]提到:使用XPath定位元素的示例。 因此,我们按照以下步骤进行回答: 1. 安装前提:需要Python环境(因为Robot Framework是基于Python的)。 2. 安装Robot Framework核心和SeleniumLibrary。 3. 安装浏览器驱动(如ChromeDriver)。 4. 编写一个简单的Web自动化测试用例。 5. 运行测试并查看报告。 注意:用户可能没有指定IDE,引用[1]提到Eclipse,引用[3]提到RIDE,但这里我们以命令行方式为主,因为更通用。 步骤详细说明: 1. 安装Robot Framework和SeleniumLibrary: 使用pip安装: pip install robotframework pip install robotframework-seleniumlibrary 同时,需要安装Selenium(通常SeleniumLibrary会依赖,但也可以单独安装): pip install selenium 2. 下载浏览器驱动: 以Chrome为例,需要下载与本地Chrome浏览器版本匹配的ChromeDriver,并将其放在系统PATH路径中(或者指定路径)。 下载地址:https://chromedriver.chromium.org/downloads 3. 编写测试用例文件(.robot文件): 示例:login_test.robot *** Settings *** Library SeleniumLibrary *** Test Cases *** Successful Login Open Browser https://example.com/login chrome Input Text id=username testuser Input Text id=password secret Click Button id=login-button Page Should Contain Welcome Page Close Browser 4. 运行测试: robot login_test.robot 5. 查看结果: 运行后会在当前目录生成report.html和log.html,用浏览器打开即可。 注意:如果遇到元素定位问题,可以像引用[5]那样使用XPath定位。 另外,引用[3]提到可以使用RIDE(Robot Framework IDE)来编写用例并查看关键字(按F5),但RIDE并不是必须的,用户可以选择自己喜欢的编辑器。 如果用户需要IDE,可以安装RIDE(但注意RIDE目前只支持到Python3.7,且需要wxPython): pip install robotframework-ride 但根据引用[1],他们使用Eclipse集成,这需要安装RED插件(用于Eclipse的Robot Framework插件)。不过,这里我们主要回答安装SeleniumLibrary和进行Web自动化测试的方法,IDE部分作为可选。 因此,我们的回答将包括: - 安装步骤(核心) - 编写测试用例示例 - 运行测试 - 可选IDE(简单提及) 同时,生成相关问题。 </think> ### 安装 Robot Framework 的 Selenium 库并进行 Web 自动化测试方法 #### 一、安装准备 1. **基础环境**: - 安装 Python(推荐 Python 3.7+) - 安装 JDK(可选,仅当使用 Eclipse 集成时需要)[^1] - 安装浏览器(Chrome/Firefox/Edge 等) 2. **核心安装**: ```bash # 安装 Robot Framework 核心 pip install robotframework # 安装 Selenium 库 pip install robotframework-seleniumlibrary # 安装浏览器驱动(以 Chrome 为例) # 下载地址:https://chromedriver.chromium.org/ # 将驱动放入系统 PATH 或项目目录 ``` #### 二、配置 Web 自动化测试环境 1. **文件结构示例**: ```robotframework *** Settings *** Library SeleniumLibrary *** Variables *** ${URL} https://example.com ${BROWSER} chrome *** Test Cases *** 登录功能测试 Open Browser ${URL} ${BROWSER} Input Text id=username testuser Input Password id=password password123 Click Element //input[@type="button" and @class="logging"] # XPath 定位按钮[^5] Page Should Contain 欢迎页 Close Browser ``` 2. **关键组件说明**: - `SeleniumLibrary`:提供 Web 操作关键字(如点击、输入等) - 浏览器驱动:需与浏览器版本匹配 - XPath 定位:用于复杂元素定位(如无 id/name 的元素)[^5] #### 三、运行与调试 1. **命令行执行**: ```bash robot 测试文件名.robot ``` - 自动生成 `report.html` 和 `log.html` 2. **工具支持**: - **RIDE**:按 F5 查看所有关键字[^3] - **Eclipse 插件**:RED 插件集成开发环境[^1] - **Docker 并发**:通过标签实现多浏览器并行测试[^4] #### 四、最佳实践 1. **元素定位技巧**: - 优先使用 ID/Name - 复杂元素使用 XPath 或 CSS 选择器 - 示例:`Click Element //button[contains(text(),"登录")]` 2. **调试建议**: ```robotframework Capture Page Screenshot # 失败时自动截图 Log Source # 输出页面源码 ``` 3. **持续集成**: - 结合 Jenkins/GitLab CI - Docker 化部署实现并发测试[^4] > ⚠️ **注意**:浏览器驱动需定期更新以匹配浏览器版本,否则会出现兼容性问题。测试完成后务必使用 `Close Browser` 或 `Close All Browsers` 释放资源[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值