Robot Framework自动化测试(三)---Selenium API

简介:

Robot  Framework  Selenium  API

 

说明:

   此文档只是将最常用的UI 操作列出。更多方法请查找selenium 关键字库。

 

 

 

一、浏览器驱动

 

通过不同的浏览器执行脚本。

 

Open Browser

Htpp://www.xxx.com

chrome

 

浏览器对应的关键字:

firefox

FireFox

ff

internetexplorer

 

Internet Explorer

ie

googlechrome

 

Google Chrome

 

gc

chrome

opera

Opera

phantomjs

PhantomJS

htmlunit

HTMLUnit

htmlunitwithjs

HTMLUnit with Javascipt support

android

Android

iphone

Iphone

safari

Safari

 

备注:

要想通过不同的浏览打开URL地址,一定要安装浏览器相对应的驱动。如chrome 的驱动:

chromedriver.exe 等。

浏览器默认为空时启动FireFox

 

二、关闭浏览器

 

关闭浏览器

Close Browser

 

 

关闭当前的浏览器。

 

关闭所有浏览器

Close All Browsers

 

 

关闭所有打开的浏览器和浏览器缓存重置。

 

 

三、浏览器最大化

 

Maximize Browser Window

 

 

 使当前打开的浏览器全屏。

 

四、设置浏览器宽、高

 

Get Window Size

800

600

以像素为单位,第一个参数800表示宽度,第二个参数600表示高度。

 

 

五、文本输入

 

Input Text

Xpath=//* [@]

输入信息

Xpath=//* [@] :表示元素定位,定位文本输入框。

 

 

 

六、点击元素

 

Click Element

Xpath=//* [@]

 

Xpath=//* [@] :表示元素定位,定位点击的元素。

 

 

 

七、点击按钮

 

Click Button

Xpath=//* [@]

 

Xpath=//* [@] :表示元素定位,定位点击的按钮。

 

 

 

八、注释

 

注释1

Comment

注释说明

 

 

注释2

# 注释说明

 

 

除了使用Comment 关键字进行注释外,Robot framework框架是基于python语言开发的,所以提供了python语言的注释“#”方式。

 

 

九、固定时间休眠

 

Sleep

42

 

Sleep

1.5

 

Sleep

2 minutes 10 seconds

 

Sleep表示执行到当前行固定休眠多长时间,以“秒”为单位。

42表示42秒;

1.5 表示1.5秒;

2 minutes 10 seconds 表示210秒。

 

 

十、等待元素出现在当前页面

 

Wait Until Page Contains Element

Xpath=//* [@]

42

error

Xpath=//* [@] :表示元素定位,这里定位出现的元素

42 : 表示最长等待时间。

Error : 表示错误提示,自定义错误提示,如:“元素不能正常显示”

 

 

 

十一、获取title

 

Get Title

 

 

获得当前浏览器窗口的title 信息。

 

这里只获取title 是没有意义的,我们通常会将获取的title 传递给一个变量,然后与预期结果进行比较。从而判断当前脚本执行成功。

 

 

 

十二、获取文本信息

 

Get Text

Xpath=//* [@]

 

 

Xpath=//* [@] : 定位文本信息的元素。

 

 

 

十三、获取元素属性值

 

Get Element Attribute

id=kw@name

 

 

id=kw@name : id=kw 表示定位的元素。@nam 获取这个元素的name属性值。

 

 

十四、cookie处理

 

获取cookie

get cookies

 

 

获得当前浏览器的所有cookie 

 

获得cookie

get cookie value

Key_name

 

Key_name : key_name 表示一对cookiekeyname 

 

删除cookie

delete cookie

Key_name

 

删除keyname cookie信息。

 

删除所有cookies

delete all cookies

 

 

删除当前浏览器的所有cookie

 

添加cookie

add cookie

Key_name

Value_name

添加一对cooke keyvalue

 

 

十五、声明变量

 

${a}

Set Variable

hello

定义变量ahello

 

${a}

${b}=

Set Variable

hello

world

定义变量ahello bworld 

 

 

 

十六、日志(输出)

 

${a}

Set Variable

Hello World

log

${a}

 

在测试报告中输出a变量的值hello word

 

 

 

十七、获得浏览器窗口宽、高

 

${width}

${height}

get window size

log

${width}

 

log

${height}

 

获得浏览浏览器窗口宽、高,通过log 将宽高,打印到报告中。

 

 

 

十八、验证

 

open browser

http://www.baidu.com

chrome

${title}

Get Title

 

should contain

${title}

百度一下,你就知道

 

Open Browser 通过chrome打开百度首页。

Get Title 获得浏览器窗口的titile ,并赋值给变量${title}

Should Contain 比较${title}是否等于“百度一下,你就知道”。

 

如果item1 不包含 item2 一次或多次,那么失败。

 

 

 

十九、表单嵌套

 

Select Frame

Xpath=//* [@]

 

Unselect Frame

 

 

Select Frame 进入表单,Xpath=//* [@] 表示定位要进入的表单。

Unselect Frame 退出表单。

 

 

二十、下拉框选择

Unselect From List By Value

Xpath=//* [@]

vlaue

 

 

 

Xpath=//* [@] 定位下拉框;

Vlaue 选择下拉框里的属性值。

 

 

二十一、If分支语句

 

${a} 

Set variable

2

 

 

${b} 

Set variable

5

 

 

run keyword if

${a}>=1

log

a大于1

 

...

ELSE IF

${b}<=5

log

b小于等于5

...

ELSE

log

上面两个条件都不满足

 

 

首先定义两个变量分别为 

If 判断 大于等于,满足条件log 输出 “a大于1 ”;

不满足上面的条件,接着else if 判断b小于等于,满足条件log 输出 “b小于等于5”;

上面两个条件都不满足,else  log输出“上面两个条件都不满足”。

 

备注:注意sele if else前面的三个点点点(...

 

 

 

二十二、for 循环语句

 

循环1

:FOR

${i}

in range

10

 

log

${i}

 

 

查看结果:

 

循环变量i 从0 循环10次。

 

 

循环2

@{a}

create list

aaa

bbb

:FOR

${i}

in

@{a}

 

log

${i}

 

@{a} 定义为一个字符串列表。

通过in 可遍历非整型(in range

 

 

说明:

Log if 分支,for 循环并非selenium关键字库的提供的方法,是由BuiltIn包提供。

 

目录
相关文章
|
20天前
|
Web App开发 机器学习/深度学习 测试技术
软件测试中的自动化策略:以Selenium为例
【8月更文挑战第31天】在软件开发周期中,测试环节扮演着至关重要的角色。随着敏捷开发的兴起,自动化测试成为提升效率和确保产品质量的关键手段。本文将介绍如何利用Selenium工具实现软件的自动化测试,从搭建环境到编写测试脚本,再到执行和分析结果,我们将一步步揭示自动化测试的全过程。文章旨在通过具体示例,帮助读者理解并运用自动化测试技术,提高测试工作的效率和效果。
|
11天前
|
数据采集 Web App开发 测试技术
使用Selenium与WebDriver实现跨浏览器自动化数据抓取
在网络爬虫领域,Selenium与WebDriver是实现跨浏览器自动化数据抓取的利器。本文详细介绍了如何利用Selenium和WebDriver结合代理IP技术提升数据抓取的稳定性和效率。通过设置user-agent和cookie来模拟真实用户行为,避免被网站检测和阻止。文章提供了具体的代码示例,展示了如何配置代理IP、设置user-agent和cookie,并实现了跨浏览器的数据抓取。合理的参数配置能有效减少爬虫被封禁的风险,提高数据抓取效率。
使用Selenium与WebDriver实现跨浏览器自动化数据抓取
|
11天前
|
Web App开发 Java 测试技术
自动化测试的利器:Selenium WebDriver入门与实践
【9月更文挑战第8天】在软件开发的海洋中,测试是确保我们不会溺水的那根救生索。Selenium WebDriver,作为自动化测试的明星工具,让这根救生索更加结实可靠。本文将带你快速上手Selenium WebDriver,从基础设置到实际操作,再到实战演练,让你的开发之旅更加平稳顺畅。
|
5天前
|
敏捷开发 Java 测试技术
探索自动化测试的奥秘:从Selenium到Appium
【9月更文挑战第14天】软件测试,这个看似枯燥乏味却至关重要的领域,正经历着一场革命。随着技术的进步,自动化测试工具如Selenium和Appium已成为质量保证的利器。本文将带你一探这些工具的神秘面纱,了解它们如何简化测试流程、提升效率,并确保软件产品的质量。准备好,我们将深入自动化测试的世界,解锁其背后的原理和实践技巧。
|
20天前
|
Web App开发 测试技术 API
自动化测试之美:使用Selenium和Python进行Web应用测试
【8月更文挑战第31天】在软件开发的快节奏世界中,自动化测试如同一束明灯,照亮了质量保证之路。本文将引导你通过Selenium和Python的强大组合,探索如何构建高效的Web应用测试框架。我们不仅会讨论理论,还会深入代码,从一个简单的示例开始,逐步扩展至更复杂的场景。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和实用的技巧。让我们一同揭开自动化测试的神秘面纱,体验它的魅力所在。
|
20天前
|
Web App开发 XML 测试技术
自动化测试框架设计:以Python和Selenium为例
【8月更文挑战第31天】在软件开发的快节奏中,自动化测试成为确保产品质量的关键步骤。本文将引导读者了解如何结合Python语言和Selenium工具来设计一个高效的自动化测试框架。通过浅显易懂的语言和实际代码示例,我们将探索自动化测试框架的核心组件,并学习如何实现它们。无论你是测试新手还是希望提升自动化技能的开发者,这篇文章都将为你打开一扇通向高效软件测试的大门。
|
6天前
|
敏捷开发 测试技术 持续交付
自动化测试之美:如何用Selenium和Python打造高效测试脚本
【9月更文挑战第13天】在软件开发的海洋中,自动化测试是那抹不可或缺的亮色。它不仅提升了测试效率,还保障了产品质量。本文将带你领略使用Selenium和Python构建自动化测试脚本的魅力所在,从环境的搭建到脚本的编写,再到问题的排查,每一步都是对软件质量把控的深刻理解和实践。让我们开始这段探索之旅,解锁自动化测试的秘密吧!
8 0
|
19天前
|
Web App开发 Java 测试技术
自动化测试的新篇章:使用Selenium WebDriver进行高效测试
【8月更文挑战第31天】 在软件开发的海洋中,自动化测试犹如一艘航船,带领着质量保证团队驶向效率与精准的彼岸。本文将揭开Selenium WebDriver的神秘面纱,通过实际案例引导您掌握这一强大的自动化测试工具。我们将从Selenium WebDriver的基础概念出发,逐步深入到代码示例,最后探讨其在现实项目中的应用场景和优势,旨在为您的软件测试之旅提供清晰的指南。
|
19天前
|
Web App开发 测试技术 持续交付
探索自动化测试:以Selenium和Python为例
【8月更文挑战第31天】自动化测试在现代软件开发中扮演着不可或缺的角色。本文将通过一个简化的示例,展示如何使用Selenium和Python进行Web应用的自动化测试。我们将从安装必要的工具开始,逐步构建一个简单的测试脚本,并执行它来验证其功能。通过这个过程,我们旨在揭示自动化测试的价值,并激励读者深入探索这一领域。
|
19天前
|
Web App开发 IDE 测试技术
自动化测试的利器:Selenium 框架深度解析
【8月更文挑战第31天】在软件开发的世界中,自动化测试是提高产品质量和开发效率不可或缺的一环。本文将深入探讨Selenium这一强大的自动化测试工具,从其架构、优势到实战应用,一步步揭示如何利用Selenium框架提升软件测试的效率和准确性。通过具体的代码示例,我们将展示Selenium如何简化测试流程,帮助开发者快速定位问题,确保软件的稳定性和可靠性。无论你是测试新手还是资深开发者,这篇文章都将为你打开一扇通往高效自动化测试的大门。