Browser UI自动化,web页面梳理 keyword

3 篇文章 0 订阅
2 篇文章 0 订阅

8.1 Web action

*** Settings ***

Library           Selenium2Library

 

*** Keywords ***

1、关闭所有web浏览器

    Close All Browsers

 

2、关闭web浏览器

    Close Browser

 

3、关闭web窗口

    Close Window

 

4、切换web浏览器

    [Arguments]    ${index}

    Switch Browser    ${index}   【转换】

 

5、创建Webdriver

    [Arguments]    ${driver_name}    ${alias}=    ${kwargs}={}

    Create Webdriver    ${driver_name}    ${alias}    ${kwargs}

6、删除webCookie

    [Arguments]    ${name}

    Delete Cookie    ${name}

 

7、删除所有webCookie

    Delete All Cookies

 

8、删除web本地策略

    [Arguments]    ${strategy_name}

    Remove Location Strategy    ${strategy_name}

9、刷新web页面

    Reload Page

 

10、web回退

    Go Back

 

11、web偏移拖拽

    [Arguments]    ${source}    ${xoffset}    ${yoffset}

    Drag And Drop By Offset    ${source}    ${xoffset}    ${yoffset}

 

12、在web图片上按下鼠标左键

    [Arguments]    ${locator}

    Mouse Down On Image    ${locator}

 

13、在web连接上按下鼠标左键

    [Arguments]    ${locator}

    Mouse Down On Link    ${locator}

 

14、当前webFrame包含

    [Arguments]    ${text}    ${loglevel}=INFO

    Current Frame Contains    ${text}    ${loglevel}

 

15、web截屏

    [Arguments]    @{filename}

    Capture Page Screenshot    @{filename}

16、打开web浏览器

    [Arguments]    ${url}    ${browser}=chrome    @{args}

    Open Browser    ${url}    ${browser}    @{args}

 

17、打开web菜单

    [Arguments]    ${locator}

    Open Context Menu    ${locator}

 

18、执行webjs

    [Arguments]    ${code}

    Execute Javascript    ${code}

 

18、执行异步webjs

    [Arguments]    ${code}

    Execute Async Javascript    ${code}【异步】

19、拖拽web元素

    [Arguments]    ${source}    ${target}

    Drag And Drop    ${source}    ${target}

 

20、web按下鼠标左键

    [Arguments]    ${locator}

    Mouse Down    ${locator}

 

21、web按键

    [Arguments]    ${locator}    ${key}

    [Documentation]    按键 \ \ text_field \ \ q

    ...

    ...    按键 \ \ login_button \ \\13 \ \ #ASCII Code for enter Key

    Press Key    ${locator}    ${key}

22、提交web表单

    [Arguments]    ${locator}=

    Submit Form    ${locator}

 

23、最大化web

    Maximize Browser Window

 

24、web模拟

    [Arguments]    ${locator}    ${event}

    Simulate    ${locator}    ${event}   【模仿】

 

25、web注册失败后运行的关键字

    [Arguments]    ${kwd}

    Register Keyword To Run On Failure    ${kwd}

 

26、添加webcookie

    [Arguments]    ${name}    ${value}    ${path}=    ${domain}=    ${secure}=    ${expiry}=

 

27、添加web本地策略

    [Arguments]    ${strategy_name}    ${strategy_keyword}    ${persist}=False

    Add Location Strategy    ${strategy_name}    ${strategy_keyword}    ${persist}

 

28、清除web元素文本

    [Arguments]    ${locator}

    Clear Element Text    ${locator}

 

29、确认web

    Confirm Action

 

30、获取web窗口列表

    @{list}    List Windows

    [Return]    @{list}

 

31、给web元素分配ID

    [Arguments]    ${locator}    ${id}

    Assign Id To Element    ${locator}    ${id}

 

32、设置Selenium等待

    [Arguments]    ${seconds}

    ${return}    Set Selenium Implicit Wait    ${seconds}

    [Return]    ${return}

 

33、设置Selenium超时

    [Arguments]    ${seconds}

    Set Selenium Timeout    ${seconds}

 

34、设置Selenium速率

    [Arguments]    ${speed}

    Set Selenium Speed    ${speed} seconds

 

35、设置web浏览器等待时间

    [Arguments]    ${seconds}

    Set Browser Implicit Wait    ${seconds}

 

36、设置web窗口坐标

    [Arguments]    ${x}    ${y}

    Set Window Position    ${x}    ${y}

 

37、设置web窗口大小

    [Arguments]    ${width}    ${higth}

    Set Window Size    ${width}    ${higth}

 

38、web跳转

    [Arguments]    ${url}

    Go To    ${url}

 

39、web输入密码

    [Arguments]    ${path}    ${passwd}

    Input password    ${path}    ${passwd}

40、web输入文本

    [Arguments]    ${path}    ${str}

    Input Text    ${path}    ${str}

 

41、鼠标悬停web

    [Arguments]    ${locator}

    Mouse Over    ${locator}

 

42、鼠标移出web

    [Arguments]    ${locator}

    Mouse Out    ${locator}

43、鼠标释放web

    [Arguments]    ${locator}

Mouse Up    ${locator}、

 

8.2 webclinkaction

*** Settings ***

Library           Selenium2Library

 

*** Keywords ***

1、点击web元素

    [Arguments]    ${path}

    Click Element    ${path}

 

2、点击web元素坐标

    [Arguments]    ${locator}    ${xoffset}    ${yoffset}

    Click Element At Coordinates    ${locator}    ${xoffset}    ${yoffset}

 

3、点击web图片

    [Arguments]    ${locator}

    Click Image    ${locator}

 

4、点击web按钮

    [Arguments]    ${path}

    Click Button    ${path}

5、点击web链接

    [Arguments]    ${locator}

    Click Link    ${locator}

6、双击web元素

    [Arguments]    ${locator}

Double Click Element    ${locator}

 

8.3 web getaction

** Settings ***

Library           Selenium2Library

 

*** Keywords ***

1、获取webCookie值

    [Arguments]    ${name}

    ${value}    Get Cookie Value    ${name}

    [Return]    ${value}

 

2、获取webList元素

    [Arguments]    ${locator}

    @{items}    Get List Items    ${locator}

 

3、获取webList多个选定值

    [Arguments]    ${locator}

    @{values}    Get Selected List Values    ${locator}

    [Return]    @{values}

4、获取webList多个选定标签

    [Arguments]    ${locator}

    @{labels}    Get Selected List Labels    ${locator}

    [Return]    @{labels}

 

5、获取webList选定值

    [Arguments]    ${locator}

    ${value}    Get Selected List Value    ${locator}

    [Return]    ${value}

 

6、获取webList选定标签

    [Arguments]    ${locator}

    ${label}    Get Selected List Label    ${locator}

    [Return]    ${label}

 

7、获取webSelenium等待时间

    ${sec}    Get Selenium Implicit Wait

    [Return]    ${sec}

 

8、获取webSelenium超时

    ${timeout}    Get Selenium Timeout

    [Return]    ${timeout}

9、获取webSelenium速率

    ${res}    Get Selenium Speed

    [Return]    ${res}

 

10、获取webxpath匹配次数

    [Arguments]    ${xpath}

    ${count}    Get Matching Xpath Count    ${xpath}

    [Return]    ${count}

 

11、获取web元素值

    [Arguments]    ${locator}

    ${value}    Get Value    ${locator}

    [Return]    ${value}

 

12、获取web元素属性

    [Arguments]    ${attribute_locator}

    Get Element Attribute    ${attribute_locator}

 

13、获取web元素文本

    [Arguments]    ${locator}

    ${text}    Get Text    ${locator}

    [Return]    ${text}

 

14、获取web坐标

    ${location}    Get Location

    [Return]    ${location}

 

15、获取web垂直坐标

    [Arguments]    ${locator}

    ${vertical}    Get Vertical Position    ${locator}

    [Return]    ${vertical}

 

16、获取web当前Url

    ${url}    Log Location

    [Return]    ${url}

 

17、获取web当前页面标题

    ${title}    Log Title

    [Return]    ${title}

 

18、获取web所有Cookie

    @{cookies}    Get Cookies

    [Return]    @{cookies}

 

19、获取web所有连接

    @{links}    Get All Links

    [Return]    @{links}

 

20、获取web文本

    [Arguments]    ${path}

    ${text}    get text    ${path}

    [Return]    ${text}

 

21、获取web标题

    ${title}    get title

    [Return]    ${title}

 

22、获取web水平坐标

    [Arguments]    ${locator}

    @{position}    Get Horizontal Position    ${locator}

    [Return]    @{position}

 

23、获取web焦点

    [Arguments]    ${locator}

    Focus    ${locator}

 

24、获取web窗口名字

    @{names}    Get Window Names

    [Return]    @{names}

 

25、获取web窗口坐标

    ${x}    ${y}=    Get Window Position

    [Return]    ${x}    ${y}

 

25、获取web窗口大小

    ${width}    ${higth}=    GET Window Size

    [Return]    ${width}    ${higth}

 

26、获取web窗口标识

    @{windows}    Get Window Identifiers

    [Return]    @{windows}

 

27、获取web窗口标题

    @{titles}    Get Window Titles

    [Return]    @{titles}

 

28、获取web表格内容

    [Arguments]    ${table_locator}    ${row}    ${column}    ${loglevel}=INFO

    ${cell}    Get Table Cell    ${table_locator}    ${row}    ${column}    ${loglevel}

    [Return]    ${cell}

 

29、获取web警告信息

    ${msg}    Get Alert Message

    [Return]    ${msg}

 

30、获取web资源

    ${source}    Get Source

    [Return]    ${source}

 

31、获取web页面元素

    [Arguments]    ${locator}

    @{elements}    Get Webelements    ${locator}

    [Return]    @{elements}

 

32、获取web页面标题

    ${title}    Get Title

    [Return]    ${title}

 

33、获取web页面资源

    [Arguments]    ${loglevel}=INFO

    ${source}    Log Source    ${loglevel}

[Return]    ${source}

 

 

8.4 web selecttaction

 

*** Settings ***

Library           Selenium2Library

 

*** Keywords ***

1、下次确认web选择取消

    Choose Cancel On Next Confirmation

 

2、下次确认web选择确定

    Choose Ok On Next Confirmation

 

3、从webList中取消选项

    [Arguments]    ${locator}    @{items}

    Unselect From List    ${locator}    @{items}

 

3、从webList中选择选项

    [Arguments]    ${locator}    @{items}

    Select From List    ${locator}    @{items}

 

4、全选webList元素

    [Arguments]    ${locator}

    Select All From List    ${locator}

 

5、根据Index从webList中取消选项

    [Arguments]    ${locator}    @{indexes}

    Unselect From List By Index    ${locator}    @{indexes}

 

6、根据Index从webList选择

    [Arguments]    ${locator}    @{indexes}

    Select From List By Index    ${locator}    @{indexes}

 

7、根据Label从webList中取消选项

    [Arguments]    ${locator}    @{Labels}

    Unselect From List By Label    ${locator}    @{Labels}

 

8、根据Label从webList选择

    [Arguments]    ${locator}    @{labels}

    Select From List By Label    ${locator}    @{labels}

9、根据Value从webList中取消选项

    [Arguments]    ${locator}    @{values}

    Unselect From List By Value    ${locator}    @{values}

 

10、根据Value从webList选择

    [Arguments]    ${locator}    @{values}

    Select From List By Value    ${locator}    @{values}

 

11、根据值选择web列表元素

    [Arguments]    ${locator}    ${value}

    Select From List By Value    ${locator}    ${value}

 

12、取消选择webCheckbox

    [Arguments]    ${locator}

    Unselect Checkbox    ${locator}

13、取消选择webFrame

    Unselect Frame

 

14、选择webCheckbox

    [Arguments]    ${locator}

    Select Checkbox    ${locator}

 

14、选择webFrame

    [Arguments]    ${locator}

    Select Frame    ${locator}

 

15、选择webRadio按钮

    [Arguments]    ${group_name}    ${value}

    Select Radio Button    ${group_name}    ${value}

16、选择web文件

    [Arguments]    ${locator}    ${file_path}

    Choose File    ${locator}    ${file_path}

17、选择web窗口

    [Arguments]    ${locator}=

Select Window    ${locator}

 

 

8.5 web shouldaction

*** Settings ***

Library           Selenium2Library

 

*** Keywords ***

1、webCheckbox应该不被选择

    [Arguments]    ${locator}

    Checkbox Should Not Be Selected    ${locator}

 

2、webFrame应该包含文本

    [Arguments]    ${locator}    ${text}    ${loglevel}=INFO

    Frame Should Contain    ${locator}    ${text}    ${loglevel}

 

3、webList应该无选项

    [Arguments]    ${locator}

    List Should Have No Selections    ${locator}

 

4、webList选项应该是

    [Arguments]    ${locator}    @{items}

    List Selection Should Be    ${locator}    @{items}

 

5、webRadio按钮不应该被选择

    [Arguments]    ${group_name}

    Radio Button Should Not Be Selected    ${group_name}

 

6、webRadio按钮应该被设置成

    [Arguments]    ${group_name}    ${value}

    Radio Button Should Be Set To    ${group_name}    ${value}

 

7、webUrl应该包含

    [Arguments]    ${expected}

    Location Should Contain    ${expected}

8、webXpath应该匹配X次

    [Arguments]    ${xpath}    ${expected_xpath_count}    ${msg}=    ${loglevel}=INFO

    Xpath Should Match X Times    ${xpath}    ${expected_xpath_count}    ${msg}    ${loglevel}

 

9、webcheckbox应该被选择

    [Arguments]    ${locator}

    checkbox should be selected    ${locator}

10、weburl应该是

    [Arguments]    ${url}

    Location Should Be    ${url}

 

11、web元素应该不包含文本

    [Arguments]    ${locator}    ${expected}    ${msg}=

    Element Should Not Contain    ${locator}    ${expected}    ${msg}

 

12、web元素应该不可用

    [Arguments]    ${locator}

    Element Should Be Disabled    ${locator}

 

13、web元素应该不可见

    [Arguments]    ${locator}    ${msg}=

    Element Should Not Be Visible    ${locator}    ${msg}

 

14、web元素应该包含文本

    [Arguments]    ${locator}    ${text}

    Element Should Contain    ${locator}    ${text}

 

15、web元素应该匹配x次

    [Arguments]    ${locator}    ${count}    ${msg}=    ${loglevel}=INFO

    Locator Should Match X Times    ${locator}    ${count}    ${msg}    ${loglevel}

 

16、web元素应该可用

    [Arguments]    ${locator}

    Element Should Be Enabled    ${locator}

 

17、web元素应该可见

    [Arguments]    ${locator}

    Element Should Be Visible    ${locator}

 

18、web元素文本应该是

    [Arguments]    ${locator}    ${expected}    ${msg}=

    Element Text Should Be    ${locator}    ${expected}    ${msg}

 

19、web当前Frame不应该包含

    [Arguments]    ${text}    ${loglvl}=INFO

    Current Frame Should Not Contain    ${text}    ${loglvl}

 

20、web应该出现警告弹窗

    [Arguments]    ${text}=

    Alert Should Be Present    ${text}

 

21、web文本区值应该是

    [Arguments]    ${locator}    ${expected}    ${msg}=

    Textarea Value Should Be    ${locator}    ${expected}    ${msg}

 

22、web文本区应该包含

    [Arguments]    ${locator}    ${expected}    ${msg}=

    Textarea Should Contain    ${locator}    ${expected}    ${msg}

 

23、web文本框值应该是

    [Arguments]    ${locator}    ${expected}    ${msg}=

    Textfield Value Should Be    ${locator}    ${expected}    ${msg}

 

24、web文本框应该包含

    [Arguments]    ${locator}    ${expected}    ${msg}=

    Textfield Should Contain    ${locator}    ${expected}    ${msg}

 

25、web标题应该是

    [Arguments]    ${title}

    Title Should Be    ${title}

 

26、web表头应该包含

    [Arguments]    ${table_locator}    ${expected}    ${loglevel}=INFO

    table header should contain    ${table_locator}    ${expected}    ${loglevel}

 

27、web表头应该包含文本

    [Arguments]    ${table_locator}    ${expected}    ${loglevel}=INFO

    Table Header Should Contain    ${table_locator}    ${expected}    ${loglevel}

28、web表应该包含文本

    [Arguments]    ${table_locator}    ${expected}    ${loglevel}=INFO

    Table Should Contain    ${table_locator}    ${expected}    ${loglevel}

 

29、web表格Footer应该包含文本

    [Arguments]    ${table_locator}    ${expected}    ${loglevel}

    Table Footer Should Contain    ${table_locator}    ${expected}    ${loglevel}

30、web表格列应该包含文本

    [Arguments]    ${table_locator}    ${col}    ${expected}    ${loglevel}=INFO

    Table Column Should Contain    ${table_locator}    ${col}    ${expected}    ${loglevel}

 

31、web表格应该包含

    [Arguments]    ${table_locator}    ${row}    ${column}    ${expected}

    table cell should contain    ${table_locator}    ${row}    ${column}    ${expected}

 

32、web表格应该包含文本

    [Arguments]    ${table_locator}    ${row}    ${column}    ${expected}    ${loglevel}=INFO

    Table Cell Should Contain    ${table_locator}    ${row}    ${column}    ${expected}    ${loglevel}

33、web表格行应该包含文本

    [Arguments]    ${table_locator}    ${row}    ${expected}    ${loglvl}=INFO

    Table Row Should Contain    ${table_locator}    ${row}    ${expected}    ${loglvl}

 

34、web页面应该不包含Checkbox

    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO

    Page Should Not Contain Checkbox    ${locator}    ${msg}    ${loglevel}

 

35、web页面应该不包含Link

    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO

    Page Should Not Contain Link    ${locator}    ${msg}    ${loglevel}

 

36、web页面应该不包含List

    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO

    Page Should Not Contain List    ${locator}    ${msg}    ${loglevel}

 

37、web页面应该不包含Radio按钮

    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO

    Page Should Not Contain Radio Button    ${locator}    ${msg}    ${loglevel}

 

38、web页面应该不包含元素

    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO

    Page Should Not Contain Element    ${locator}    ${msg}    ${loglevel}

 

39、web页面应该不包含图片

    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO

    Page Should Not Contain Image    ${locator}    ${msg}    ${loglevel}

 

40、web页面应该不包含按钮

    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO

    Page Should Not Contain Button    ${locator}    ${msg}    ${loglevel}

 

41、web页面应该不包含文本

    [Arguments]    ${text}    ${lvl}=INFO

    Page Should Not Contain    ${text}    ${lvl}

 

42、web页面应该不包含文本框

    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO

    Page Should Not Contain Textfield    ${locator}    ${msg}    ${loglevel}

 

43、web页面应该包含Checkbox

    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO

    Page Should Contain Checkbox    ${locator}    ${msg}    ${loglevel}

 

44、web页面应该包含Link

    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO

    Page Should Contain Link    ${locator}    ${msg}    ${loglevel}

 

45、web页面应该包含List

    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO

    Page Should Contain List    ${locator}    ${msg}    ${loglevel}

 

46、web页面应该包含Radio按钮

    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO

    Page Should Contain Radio Button    ${locator}    ${msg}    ${loglevel}

 

47、web页面应该包含元素

    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO

    Page Should Contain Element    ${locator}    ${msg}    ${loglevel}

 

48、web页面应该包含图片

    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO

    Page Should Contain Image    ${locator}    ${msg}    ${loglevel}

49、web页面应该包含按钮

    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO

    Page Should Contain Button    ${locator}    ${msg}    ${loglevel}

 

50、web页面应该包含文本

    [Arguments]    ${text}    ${loglevel}=INFO

    Page Should Contain    ${text}    ${loglevel}

 

51、web页面应该包含文本框

    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO

    Page Should Contain Textfield    ${locator}    ${msg}    ${loglevel}

 

 

8.6 webwaitaction

*** Settings ***

Library           Selenium2Library

 

*** Keywords ***

1、等待web元素不包含文本

    [Arguments]    ${locator}    ${text}    ${timeout}=    ${error}=

    Wait Until Element Does Not Contain    ${locator}    ${text}    ${timeout}    ${error}

 

等待web元素不可见

    [Arguments]    ${locator}    ${timeout}=    ${error}=

    Wait Until Element Is Not Visible    ${locator}    ${timeout}    ${error}

 

2、等待web元素包含文本

    [Arguments]    ${locator}    ${text}    ${timeout}=    ${error}=

    Wait Until Element Contains    ${locator}    ${text}    ${timeout}    ${error}

 

3、等待web元素可用

    [Arguments]    ${locator}    ${timeout}=    ${error}=

    Wait Until Element Is Enabled    ${locator}    ${timeout}    ${error}

 

4、等待web元素可见

    [Arguments]    ${locator}    ${timeout}=30

    Wait Until Element Is Visible    ${locator}    ${timeout}

 

5、等待web执行成功

    [Arguments]    ${timeout}    ${retry}    ${keyword}    @{args}

    Wait Until Keyword Succeeds    ${timeout} minutes    ${retry} sec    ${keyword}    @{args}

 

6、等待web条件成立

    [Arguments]    ${condition}    ${timeout}=    ${error}=

    Wait For Condition    ${condition}    ${timeout}    ${error}

 

7、等待web页面不包含元素

    [Arguments]    ${locator}    ${timeout}=    ${error}=

    Wait Until Page Does Not Contain Element    ${locator}    ${timeout}    ${error}

 

8、等待web页面包含元素

    [Arguments]    ${locator}    ${timeout}=    ${error}=

    Wait Until Page Contains Element    ${locator}    ${timeout}    ${error}

 

9、等待web页面包含文本

    [Arguments]    ${text}    ${timeout}=    ${error}=

    Wait Until Page Contains    ${text}    ${timeout}    ${error}

 

三、phone

*** Variables ***

@{三星手机}           6.0.1    ec88d823

@{vivo x9s}       7.1.1    1ffeb419

@{华为M9}           8.0.0    GWY0217729000766

@{小米5}            7.0    d6f9aa57

@{oppo-R7}        5.0    Y5HI4TNFSO6TI7SK

@{vivo-y66}       6.0.1    2803cef4

&{simulator}      platformName=Android    platformVersion=5.1.1    deviceName=127.0.0.1:62001

 

四、publicKeywords

*** Settings ***

Library           DatabaseLibrary

Library           RequestsLibrary

Library           Collections

Library           String

Resource          Variable.txt

Library           DateTime

Library           json

 

*** Keywords ***

1、链接Oracle数据库

    [Arguments]    ${connect_info}

    Connect To Database Using Custom Params    cx_Oracle    ${connect_info}

 

2、数据库查询

    [Arguments]    ${select_info}

    @{field}    query    ${select_info}

    [Return]    @{field}

 

3、执行数据库命令

    [Arguments]    ${execute_info}

    Execute Sql String    ${execute_info}

 

4、执行提交命令

    Execute Sql String    commit

 

5、断开数据库连接

    Disconnect From Database

 

6、获取排队资格

    [Arguments]    ${mstoken}

    log    获取排队资格

    Create Session    queue    https://queue.htd.cn    headers=&{headers}

    ${protect}    Get Request    queue    /htd_data_sync/rest/token/${mstoken}?callback    headers=&{headers}

    ${protect}    Get Substring    ${protect.content}    1    -1

    ${protectJson}    to json    ${protect}

    ${key}    Get From Dictionary    ${protectJson}    protectToken

    Delete Request    queue    https://queue.htd.cn

    [Return]    ${key}

 

7、向后偏移时间

    [Arguments]    ${after}

    ${hour}    ${min}    ${sec}    Get Time    hour,min,sec

    ${time}    Catenate    SEPARATOR=    ${hour}    :    ${min}    :

    ...    ${sec}

    ${newTime}    Add Time To Time    ${time}    ${after}    timer    exclude_milles=yes

    [Return]    ${newTime}

 

8、向前偏移时间

 

    [Arguments]    ${OFFSET}

    ${date}    Get Time

    ${newDate}    Subtract Time From Date    ${date}    ${OFFSET}    %Y-%m-%d

    [Return]    ${newDate}

 

9、向后偏移日期

    [Arguments]    ${OFFSET}

    ${date}    Get Time

    ${newDate}    Add Time To Date    ${date}    ${OFFSET}    %Y-%m-%d

    [Return]    ${newDate}

 

10、获取当前日期-月日

    ${date}    Get Time

    ${date}    Convert Date    ${date}    result_format=%m%d

    [Return]    ${date}

 

11、获取当前日期-年月日

    ${date}    Get Time

    ${date}    Convert Date    ${date}    result_format=%y-%m-%d

    [Return]    ${date}

12、合并字典转json

    [Arguments]    ${info}    &{input}

    log    ${info}

    ${data}    json.Loads    ${info}

    : FOR    ${key}    IN    @{input.keys()}

    \    Set To Dictionary    ${data}    ${key}    ${input['${key}']}

    ${json}    json.dumps    ${data}

    [Return]    ${json}

 

13、链接mysql数据库

    [Arguments]    ${database}    ${connectCenterInfo}

    Connect To Database Using Custom Params    pymysql    database='${database}', ${connectCenterInfo}

 

14、根据左右字符截取字符串

    [Arguments]    ${String}    ${Left}    ${Right}

    ${Results}    Get Regexp Matches    ${String}    (${Left}.*)${Right}

    ${Result0}    Evaluate    $Results[0]

    ${ResultR}    Fetch From Right    ${Result0}    ${Left}

    ${Result}    Fetch From Left    ${ResultR}    ${Right}

    [Return]    ${Result}

 

15、获取密文

    [Arguments]    ${Plaintext}

    [Documentation]    输入明文,返回密文(适用于prep,testdocker环境)

    log    获取密文数据

    Create Session    ${middleware-openapi}    ${middleware-url}    headers=&{headers}

    ${params}    Set Variable    data=${Plaintext}

    ${bullTest_result}    Get Request    ${middleware-openapi}    /middleware-openapi/bull/test    params=${params}    headers=&{headers}

    Should Be Equal As Strings    ${bullTest_result.status_code}    200

    ${ciphertext}    Set Variable    ${bullTest_result.content}

    Delete Request    ${middleware-openapi}    ${middleware-url}

    [Return]    ${ciphertext}

 

16、获取明文

    [Arguments]    ${ciphertext}

    [Documentation]    输入密文,返回明文(适用于prep,testdocker环境)

    log    获取明文数据

    Create Session    ${middleware-openapi}    ${middleware-url}    headers=&{headers}

    ${params}    Set Variable    data=${ciphertext}

    ${bullTest2_result}    Get Request    ${middleware-openapi}    /middleware-openapi/bull/test2    params=${params}    headers=&{headers}

    Should Be Equal As Strings    ${bullTest2_result.status_code}    200

    ${Plaintext}    Set Variable    ${bullTest2_result.content}

    Delete Request    ${middleware-openapi}    ${middleware-url}

    [Return]    ${Plaintext}

 

17、获取H5密文

    [Arguments]    ${Plaintext}

    [Documentation]    输入明文,返回密文(适用于prep,testdocker环境)

    log    获取H5密文数据

    Create Session    ${middleware-openapi}    ${middleware-url}    headers=&{headers}

    ${params}    Set Variable    data=${Plaintext}

    ${bullTest_result}    Get Request    ${middleware-openapi}    /middleware-openapi/bull/test3    params=${params}    headers=&{headers}

    Should Be Equal As Strings    ${bullTest_result.status_code}    200

    ${ciphertext}    Set Variable    ${bullTest_result.content}

    Delete Request    ${middleware-openapi}    ${middleware-url}

    [Return]    ${ciphertext}

 

18、获取H5明文

    [Documentation]    输入密文,返回明文(适用于prep,testdocker环境)

    log    获取明文数据

    Create Session    ${middleware-openapi}    ${middleware-url}    headers=&{headers}

    ${params}    Set Variable    data=${ciphertext}

    ${bullTest2_result}    Get Request    ${middleware-openapi}    /middleware-openapi/bull/test4    params=${params}    headers=&{headers}

    Should Be Equal As Strings    ${bullTest2_result.status_code}    200

    ${Plaintext}    Set Variable    ${bullTest2_result.content}

    Delete Request    ${middleware-openapi}    ${middleware-url}

 

19、获取MD5密文

    [Arguments]    ${strings}

    ${MD5}    Evaluate    hashlib.md5('${strings}'.encode(encoding='utf8')).hexdigest()    hashlib

    [Return]    ${MD5}

 

五、variable

*** Variables ***

${middleware-url}    http://10.20.4.175:8080

${middleware-openapi}    openapi

${mallpwd}        9595dfc9b948c7d8216e97743c2d8939

${mallcenter-url-prep}    http://prep-mall.htd.cn

&{headers}        Content-Type=application/x-www-form-urlencoded    Accept-Language=zh-CN,zh;q=0.9    Accept-Encoding=gzip, deflate    Accept=text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8    User-Agent=Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Mobile Safari/537.36

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值