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

     

  • 相关阅读:
    Redis和Memcache的区别分析
    javascript 与jquery为每个p标签增加onclick方法
    repeater单双行颜色不同,gridview repeater DataList 鼠标经过改变背景颜色
    sql 错误提示
    .net获取select控件中的文本内容
    您试图从目录中执行CGI、ISAPI 或其他可执行程序,但该目录不允许执行程序
    html5 调用摄像头
    openfire配置MSSQL说明(数据库设置)
    Openfire 的安装和配置
    JS 等前端学习。
  • 原文地址:https://www.cnblogs.com/kelly11/p/12703738.html
Copyright © 2011-2022 走看看