ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

robot framework常用使用

2021-07-18 15:02:27  阅读:155  来源: 互联网

标签:常用 adDomain name character robot value framework data id


robot framework关键字

建文件

.rebot	添加测试用例等
.resource 添加变量及一些关键字

常用关键字

#导入库
*** Settings ***
Library           Selenium2Library
Library           String

*** Settings ***
Default Tags      osm    middle    userManagement    importUser
Resource          ../用户管理公共功能.resource


#添加变量
*** Variables ***

#测试用例
*** Test Cases ***

#关键字
*** Keywords ***

刷新网页
Reload Page

打开浏览器(浏览器类型  火狐浏览器:ff  谷歌浏览器:gc)
open browser    ${url}    gc 

关闭浏览器
close all browsers

取属性值

${value}    Get Value    //*[@id="enable_syncad"]

取input框的值

${text}    Get Element Attribute    ${passwdManager_length_min}    value

if语句

[Arguments]    ${adDomain_enable_plan_value}    ${adDomain_synccycle_value}
run Keyword if    ${adDomain_enable_plan_value}==1    Select Checkbox    ${adDomain_enable_plan}
输入框输入    ${adDomain_synccycle}    ${adDomain_synccycle_value}    #输入抽取周期

替换字符

${resp}    Replace String    ${adDomain_save_bt}    save_bt    ${adDomain_save_bt_value}

复选框选择

    [Arguments]     ${ischeck}    ${ischeck_property}
    run Keyword if      ${ischeck}>0    Select Checkbox     ${ischeck_property}  #选择
    ...    ELSE     Unselect Checkbox    ${ischeck_property}		#不选择

复选框取消

Unselect Checkbox    ${check_xpath}

上传文件

    ${filePath}     Set Variable    ${CURDIR}\\用户文件\\${data[0]}[2]
    choose file    xpath=//*[@id="file"]    ${fileName}

点击元素

wait until keyword succeeds    2s    1s    click element    xpath=${locator}

使用python 文件

*** Settings ***
Library           ../03Library/ReadAndWrite_File.py

*** Keywords ***
读取测试数据
    [Arguments]    ${filename}    ${sheet_name}    ${case_name}
    @{data}    ReadAndWrite_File.readcell    ${filename}    ${sheet_name}    ${case_name}
    [Return]    @{data}
    

if语句

    run keyword if    "${data[0]}[4]" !="0"    选择令牌种子密钥    ${keys_filepath}

Xpath定位注意点

1.找xpath的上级主要用点

//div[@aria-labelledby="ui-id-4"]//a[@title="AD用户"]/../span[2]

2.常用的定位方法

//*[@id="synccycle"] 

3.div里面的为唯一的属性及属性值,及根据span文本值找具体的内容

//div[@aria-labelledby="ui-id-4"]//span[text()='保存']

4.根据两个属性值来定位位置

//input[@name="ip_mac_mode" and @value="2" ]

5.根据结果取第二个值

(//*[@id="bh-user-property-dialog"]//input[@name='ip_mac_mode'])[2]

js定位

1.是否选中复选框

document.querySelector("#enable_syncad").checked

2.rf 执行js

${value}    Execute Javascript     return document.querySelector("#enable_syncad").checked

常用语法

1.run keyword if 使用

 [Arguments]    @{data}
    log    ${data[0]}[6]
    Run Keyword If    '${data[0]}[6]' == 'ORACLE'    run keywords    log    匹配成功oracle
    ...    AND    为文本框输入值    //input[@name="values[]"]    ${data[0]}[13]
    ...    AND    选择下拉框值_通过文本    //select[@name='values[]']    ${data[0]}[14]
    ...    ELSE IF    '${data[0]}[6]' == 'SYBASE' or '${data[0]}[6]' == 'DB2' or '${data[0]}[6]' == 'TERADATA' or '${data[0]}[6]' == 'POSTGRESQL'    run keywords    log    匹配成功DB2
    ...    AND    为文本框输入值    //input[@name="values[]"]    ${data[0]}[13]

2.for循环

    [Arguments]     ${length}    ${device_group_name}
    FOR    ${i}    IN RANGE   2    ${length}
        资源管理_检查设备组     ${device_group_name}[${i}]
    END

3.列表操作

根据字符对字符串分割
    [Arguments]    ${character_string}    ${character}   #${character_string}:为字符串,${character}需分割的字符
    ${character_array}     Split String    ${character_string}    ${character}        #处理设备组字符串
    ${length}    get length    ${character_array}
    [Return]    ${character_array}    ${length}

4.字符串操作

4.1 Remove String

_分页选择用户
    ${page}    获取元素文本值     //*[@id="select-user-dialog"]//div[@class="whj_padding whj_color"][4]     #查找一共多少页
    ${page}     Remove String    ${page}    共
    ${page}     Remove String    ${page}    页

思考

1.检查活动窗口?伪命题:看一下要操作的按钮是否可以操作

例:(运行关键字并返回状态,如果不能点击则返回false)
    ${present}    Run Keyword And Return Status    click element    xpath=${resource_query_click}    #检查是否可以用搜索按钮

注意

1.测试用例名称不能重复
2.若出现问题的地方为刚加载进去的时候,则加一些睡眠时间,等待一下,再试试

标签:常用,adDomain,name,character,robot,value,framework,data,id
来源: https://blog.csdn.net/qwe_456987/article/details/118877311

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有