RobotFramework自动化2-自定义关键字

简介: 前言        有时候一个页面上有多个对象需要操作,如果一个个去定位的话,比较繁琐,这时候就可以定位一组对象。Selenium2library提供了Get Webelements 关键字,用于定位一组元素     以百度页面为例,先定位一组对象,然后依次打开每个链接,检测返回结果。

前言   

    有时候一个页面上有多个对象需要操作,如果一个个去定位的话,比较繁琐,这时候就可以定位一组对象。Selenium2library提供了Get Webelements 关键字,用于定位一组元素

    以百度页面为例,先定位一组对象,然后依次打开每个链接,检测返回结果。

一、定位一组对象

    1.打开百度页面,定位右上角六个链接按钮

    2.定位元素共同属性class=mnav

二、Get Webelements

    1.在ride中找到对应关键字Get Webelements,从关键字介绍中可以看到,返回的是一个list对象

三、操作对象

    1.打开浏览器

    2.设置等待时间

    3.获取界面上一组对象,返回给${s}

    4.打开其中一个页面,然后获取title

    5.用go back返回到首页

    1.将上面的操作可以分为两个步骤,第一步是打开浏览器,第二步是点击某个链接

    2.打开百度关键字

五、打开链接关键字

    1.可以把点击的第几个元素设置为一个变量:${i}

    2.把获取到的title作为返回结果,给这个关键字一个返回值:${title}

六、批量操作

    1.把需要检查的结果放到一个list里

    2.用for循环,循环点击操作链接

    3.Should Contain断言,检查返回结果

    4.最后操作完后关闭浏览器

    1.最终代码如下:

test010

    ${result}    Create List    糯米    新闻    hao123    地图    视频

    ...    贴吧

    打开百度

    :FOR    ${a}    in range    6

    \    ${title}    打开链接    ${a}

    \    log    ${title}

    \    log    ${result[${a}]}

    \    Should Contain    ${title}    ${result[${a}]}

    close all browsers

 

*** Keywords ***

 

打开链接

    [Arguments]    ${i}

    [Timeout]

    ${s}    Get Webelements    css=.mnav

    Click Element    ${s[${i}]}

    sleep    3

    ${title}    Get Title

    log    ${title}

    go back

    [Teardown]

    [Return]    ${title}

 

打开百度

    open browser    https://www.baidu.com/

    Set Browser Implicit Wait    10

RF交流QQ群232607095

相关文章
|
7月前
|
敏捷开发
【sgCreatePinyin】自定义小工具:敏捷开发→自动化生成拼音字段名称(字段名生成工具)
【sgCreatePinyin】自定义小工具:敏捷开发→自动化生成拼音字段名称(字段名生成工具)
|
7月前
|
敏捷开发
【sgCreateTableColumn】自定义小工具:敏捷开发→自动化生成表格列html代码(表格列生成工具)[基于el-table-column]
【sgCreateTableColumn】自定义小工具:敏捷开发→自动化生成表格列html代码(表格列生成工具)[基于el-table-column]
|
运维 Kubernetes 网络安全
Ansible自动化运维工具之主机管理与自定义配置文件(2)
Ansible自动化运维工具之主机管理与自定义配置文件(2)
150 0
|
7月前
|
敏捷开发 API
【sgCreateAPI】自定义小工具:敏捷开发→自动化生成API接口脚本(接口代码生成工具)
【sgCreateAPI】自定义小工具:敏捷开发→自动化生成API接口脚本(接口代码生成工具)
|
5月前
|
存储 Web App开发 Java
《手把手教你》系列基础篇(九十五)-java+ selenium自动化测试-框架之设计篇-java实现自定义日志输出(详解教程)
【7月更文挑战第13天】这篇文章介绍了如何在Java中创建一个简单的自定义日志系统,以替代Log4j或logback。
305 5
|
5月前
|
XML 测试技术 数据格式
《手把手教你》系列基础篇(八十五)-java+ selenium自动化测试-框架设计基础-TestNG自定义日志-下篇(详解教程)
【7月更文挑战第3天】TestNG教程展示了如何自定义日志记录。首先创建一个名为`TestLog`的测试类,包含3个测试方法,其中一个故意失败以展示日志。使用`Assert.assertTrue`和`Reporter.log`来记录信息。接着创建`CustomReporter`类,继承`TestListenerAdapter`,覆盖`onTestFailure`, `onTestSkipped`, 和 `onTestSuccess`,在这些方法中自定义日志输出。
55 6
|
6月前
|
JavaScript Java 测试技术
《手把手教你》系列技巧篇(七十一)-java+ selenium自动化测试-自定义类解决元素同步问题(详解教程)
【6月更文挑战第12天】本文介绍了如何创建一个自定义类库来解决自动化测试中的元素同步问题。作者指出,大部分错误源于元素因时间不同步而引发,为此提供了一种解决方案。在项目实践中,首先在`library`包下创建名为`MyWait`的类,包含一个方法`isElementPresent`,该方法通过循环尝试并等待指定元素出现,避免了直接使用时间等待可能导致的不准确性。之后,在测试类中调用此自定义方法,成功实现了元素同步。代码示例展示了如何在Java+Selenium自动化测试中应用这个自定义类。
61 2
|
6月前
|
Ubuntu 安全 Linux
创建并使用自定义的Linux命令`autoupdate`来自动化软件更新
创建自定义Linux命令`autoupdate`简化系统更新流程。通过编写包含`apt update`, `apt upgrade`, `apt autoremove`和`apt clean`的bash脚本,实现一键自动化更新。将脚本添加到PATH环境变量,确保在任意目录可执行。适用于基于Debian/Ubuntu系统,其他发行版需调整命令。记得备份数据,必要时重启系统,并可按需扩展脚本功能。
|
7月前
|
敏捷开发
【sgCreateTableData】自定义小工具:敏捷开发→自动化生成表格数据数组[基于el-table]
【sgCreateTableData】自定义小工具:敏捷开发→自动化生成表格数据数组[基于el-table]
|
7月前
|
弹性计算 运维 Shell
自动化安装并配置自定义服务
【4月更文挑战第30天】
47 0
下一篇
DataWorks