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}

 

 

 

posted @ 2020-04-14 10:14  kelly-凯莉  阅读(307)  评论(0编辑  收藏  举报