美文网首页
Robot Framework12-RF如何减少web窗口打开次

Robot Framework12-RF如何减少web窗口打开次

作者: 筱媛媛 | 来源:发表于2019-07-27 17:38 被阅读0次

    认真看过前2篇文章是否发现一个简单的“验证当系统中没有课的时,是否能成功添加一个课程”测试用例,在执行的时候出现多次登录和退出操作。那么如何进行优化呢?本篇将对RF如何减少web窗口打开的次数进行展开讲解,希望感兴趣的小伙伴可以坚持看下去同时欢迎提出宝贵的意见让我们一起进步!

    01:需求概述

    (1)用例名称:验证当系统中没有课的时,是否能成功添加一个课程

    (2)用例现状:初始化操作、执行用例、清除操作均各打开且关闭浏览器一次

    (3)现状缺点:每次打开都要加载页面需要耗费不少时间

    (4)优化要求:实现执行一条用例只打开和关闭一次浏览器用户名和密码也只有第一次需要输入

    (5)实现思路:①使用Suite SetupSuite Teardown,保证浏览器打开和关闭只执行一次②将DeleteAllLesson进行改造使之只有第一次需要输入用户名和密码

    02:Go To

    1)关键字含义:访问某个网址(前提是已经打开过浏览器)

    2)关键字参数:url

    用户关键字优化后代码实现如下

    *** Keywords ***
    login
        [Arguments]  ${username}     ${password}
        go to   http://localhost/mgr/login/login.html
        input text  id:username     ${username}
        input text  id:password     ${password}
        click element   tag:button
    addCourse
        [Arguments]     ${name}     ${desc}     ${display_idx}
        click element  css:[class="glyphicon glyphicon-plus"]
        input text     css:[ng-model="addData.name"]    ${name}
        input text     css:[ng-model="addData.desc"]    ${desc}
        input text     css:[ng-model="addData.display_idx"]     ${display_idx}
        click element  css:[ng-click="addOne()"]
        sleep  1
    listCourse
        [Return]     ${expect}
        ${eles}    get webelements   xpath://td[2]
        FOR     ${ele}       IN      @{eles}
            log to console      ${ele}
        END
        ${expect}      evaluate   [ele.text for ele in $eles]
    #*********************优化部分代码*********************
    SetupDeleteAllLesson
        login   auto     sdfsdfsdf
        TeardownDeleteAllLesson
    TeardownDeleteAllLesson
        set selenium implicit wait  1
        FOR     ${i}    IN RANGE     9999
            ${del_buttons}=       Get Webelements  css:[ng-click="delOne(one)"]
            exit for loop if     $del_buttons==[]
            evaluate  $del_buttons[0].click()
            click element  css:[class="btn btn-primary"]
            sleep   2
         END
        ${expect}     listcourse
         set selenium implicit wait  1
         should be true       $expect==[]
    setup webtest
        open browser  http://localhost   chrome
        set selenium implicit wait  5
    teardown webtest
        close browser
    #*********************优化部分代码*********************
    

    测试用例优化后代码实现如下

    *** Settings ***
    Resource  rc2.robot
    Suite Setup  setup webtest
    Suite Teardown  teardown webtest
    Test Setup    SetupDeleteAllLesson
    Test Teardown  TeardownDeleteAllLesson
    
    *** Test Cases ***
    case1
    #增加课程
        addCourse   初中地理    初中地理基础知识     1
    #获取课表内容
        ${expect}   listCourse
        should be true      $expect == ['初中地理']
    

    相关文章

      网友评论

          本文标题:Robot Framework12-RF如何减少web窗口打开次

          本文链接:https://www.haomeiwen.com/subject/rkaglctx.html