zoukankan      html  css  js  c++  java
  • 10:robotframework封装关键字/减少web窗口打开次数/重定向网页/传参形式/添加多个关键字

    01:从作业说起

    image.png

    把python文件实现的关键字改为RF资源文件里面的用户关键字

     

    python文件(笔记:06)

    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()

     

    改为RF资源文件关键字(rc.robot)

    deleteAlllesson
            loginwebsite
            #删除课程
            set selenium implicit wait  1
            FOR   ${var}  IN  RNAGE    9999
                ${del_btns}   get webelements   css=[ng-click="delOne(one)"]
                exit for loop if    $del_btns=[]
                evaluate   $del_btns[0].click()
    
                click element   css=.btn btn-primary
                sleep  1
             END 
             
             set selenium implicit wait  1
             
             close browser

     

     

    02:通过前面代码执行,浏览器打开了多次,这次减少web窗口打开的次数

    setupwebTest
             open browser   http://localhost/mgr/login/login.html   chrome
             set selenium implicit wait  1
    
    teardownWebTest
            close browser

     

    image.png

     

    03:上面已经把多次打开浏览器页面封装关键字,但是出现一个问题,如果登录操作不在当前页面,会找不到该元素

    解决方法如下:

    重定向指定网页——使用go to 

    后跟参数:url

     image.png

     

    04:封装登录操作

    用户名密码, 写死在代码中??

    这些数据根据不同的测试环境,可能会变化,如果这些数据,都散落在各个测试脚本文件中,非常不利于统一的修改

    一般这种类型的数据,是写在一个用于配置的文件里面

    资源文件作为配置文件,定义全局变量

     

    变量表中声明变量

    • 首先我们要创建Variables 表

    image.png

    • List变量

    @{database}    127.0.0.1  3306

    • Dict

    ${user1}       name=auto    pw=sdfsdfsdf

    image.png

     

    细节知识点:

    image.png

    image.png

     

    image.png

    另一种登录方式写法:
    image.png

     

    05:解决多次登录问题

     【setup】 中添加多个关键字,使用run  keywords

    image.png

     

  • 相关阅读:
    Chapter6 Commodity Forwards
    Chapter5 Prepaid Forwards
    个人作业5——软工个人总结
    软工网络15个人作业3
    软工网络15——结对编程
    软工网络15个人阅读作业2
    软工网络15个人阅读作业1 201521123080曾飞远
    Java课程设计 猜数游戏个人博客
    201521123080《Java程序设计》第14周学习总结
    201521123080《Java程序设计》第13周学习总结
  • 原文地址:https://www.cnblogs.com/kelly11/p/12703738.html
Copyright © 2011-2022 走看看