zoukankan      html  css  js  c++  java
  • 06:robotframework用户关键字和资源文件(上)

    大纲:

    • 作业复盘
    • 用户关键字
    • 资源文件
    • 数据驱动

     

    01:讲解作业

    image.png

    页面展示:

    image.png

    python文件(定义一个函数):

    from selenium import webdriver
    import time
    
    def deleteAlllesson():
        driver = webdriver.Chrome()
        driver.implicitly_wait()
        driver.get('http://localhost/mgr/login/login.html')
    
        #登录
        driver.find_element_by_id('username').send_keys('auto')
        driver.find_element_by_id('password').send_keys('sdfsdfsdf')
        driver.find_element_by_tag_name('button').click()
    
        #删除课程
        driver.implicitly_wait(1)
        while True:
           del_btns = driver.find_elements_by_css_selector('[ng-click="delOne(one)"]')
           if del_btns==[]:
               break
           del_btns[0].click()
           driver.find_element_by_class_name('btn btn-primary').click()
           time.sleep() #为了等待弹出框消失,接下来点击下面的删除按钮
        driver.implicitly_wait(10)
        driver.quit()
    
    if __name__ == '__main__':
        deleteAlllesson()

    RF文件:

    *** Settings ***
    Library  SeleniumLibrary
    Library  st.py
    *** Test Cases ***
    添加课程
            [Setup]     deleteAlllesson
            [Teardown]   deleteAlllesson
            #自定义库python+selenium不要和seleniumLibrary混用
            open browser   http://localhost/mgr/login/login.html    chrome
            set selenium implicit wait  10
            #输入用户名和密码
            input text  id:username    auto
            input text  id=password    sdfsdfsdf
            click element  tag=button
           # click button  #被操作的元素只能是button元素
    
    
           #开始添加课程
             click element  css=[ng-click="showAddOne=true"]
             input text  css=[ng-model="addData.name"]   初中化学
             input text  css=[ng-model="addData.desc"]   初中化学描述
             input text  css=[ng-model="addData.display_idx"]  3
             click element  css=[ng-click="addOne()"]
    
             ${course_name}   get text  css=tbody td:nth-child(2)
             should be equal   初中化学    ${course_name}
             close browser

    02:用户关键字

    语法:由RF层面的关键字组成

    作用:类似于RF层面的函数,用于封装一些步骤

    定义、使用用户关键字

    • 首选我们要创建关键字表
    • 用户关键字的定义和定义一个用例非常,写法非常的像 

    image.png

    *** Settings ***
    Library  SeleniumLibrary
    Library  st.py
    *** Test Cases ***
    添加课程
            [Setup]     deleteAlllesson
            [Teardown]   deleteAlllesson
    
            loginwebsite
            addCourse    初中化学   描述 1
            checkCourse   初中化学
    
            close browser
    添加课程2
    
            [Setup]     deleteAlllesson
            [Teardown]   deleteAlllesson
            loginwebsite
            addCourse    初中语文   描述 2
            checkCourse   初中语文
    
            close browser
    
    
    *** Keywords ***
    loginwebsite
            #自定义库python+selenium不要和seleniumLibrary混用
            open browser   http://localhost/mgr/login/login.html    chrome
            set selenium implicit wait  10
            #输入用户名和密码
            input text  id:username    auto
            input text  id=password    sdfsdfsdf
            click element  tag=button
           # click button  #被操作的元素只能是button元素
    
    addCourse
             #开始添加课程
             [Arguments]  ${name}  ${desc}  ${idx}
             click element  css=[ng-click="showAddOne=true"]
             input text  css=[ng-model="addData.name"]   ${name}
             input text  css=[ng-model="addData.desc"]   ${desc}
             input text  css=[ng-model="addData.display_idx"]  ${idx}
             click element  css=[ng-click="addOne()"]
    
    checkCourse
              [Arguments]   ${except}
             ${course_name}   get text  css=tbody td:nth-child(2)
             should be equal   ${except}    ${course_name}
     

     

    我是kelly-凯莉 每天努力一点点,幸运就多一点点
  • 相关阅读:
    《原創》實現禁止 WTL CTabView 中標籤的拖曳行為。 (Disable Dragging Operation of CTabView)
    《轉貼》ATL NTService 運作流程
    《轉貼》WTL 之 m_hWndMDIClient
    《原創》加強版的 C++ 字串型別
    《原創》建立最基礎的 Irrlicht 3D 引擎的應用框架。(for vc2008)
    《轉貼》關於 ios::app 與 ios::ate 簡易說明
    《轉貼》WTL for MFC programmer 系列文章
    《轉貼》以Virtual Inheritance及Template讓C++能實現C#中的sealed
    Oracle学习笔记(concat和substr)
    Oralce学习笔记(sql取一张表的数据插入另一张表)
  • 原文地址:https://www.cnblogs.com/kelly11/p/12696171.html
Copyright © 2011-2022 走看看