RobotFramework作业

RobotFramework 作业 1

确保 32位Python 3.6.2 安装成功

安装 如下 RF使用中需要的工具和库

1. RF 
在两个Python中安装 robotframework
执行命令 pip install robotframework 


2. seleniumlibrary 
在两个Python中安装 seleniumlibrary
执行命令  pip install --upgrade robotframework-seleniumlibrary 


3.pycharm插件IntelliBot
下载 IntelliBot插件
   https://github.com/jcyrss/songqin-testdev/raw/master/others/softwares/intellibot.jar
在Pycharm中,点击菜单 file - settings - plugins
在弹出对话框中 选择 install plugin from disk
选择下载的jar文件

4. 可选择操作
pycharm 可以点击菜单 File -> Import Settings -> 导入下面的pycharm 配置文件
https://github.com/jcyrss/songqin-testdev/raw/master/rf/files/settings.jar



根据视频,将如下 自动化用例 拷贝到 一个 名为 baidu.robot的文件中,然后用 robot命令行 运行一下

*** Test Cases ***
搜索松勤
    Import Library    SeleniumLibrary
    Open Browser    http://www.baidu.com    chrome
    Set Selenium Implicit Wait    5
    Input Text    id=kw    松勤\n
    ${firstRet}=    Get Text    id=1
    Should Contain    ${firstRet}    松勤网

 

RobotFramework 作业 2

不要用RIDE,请直接在pycharm中,创建一个测试套件文件。

该文件中包含 一个settings表和一个测试用例表
settings表中导入库SeleniumLibrary

测试用例表中包含 两个测试用例:

用例1:
定义一个RF变量var1为整数 100
定义一个RF变量var2为字符串 '5'
用RF关键字 should be true 验证变量 var1 * int(var2) == 500



用例2 (没有学过Selenium同学可以不做):
登录百度网站搜索 "北京时间" ,检查第一个搜索项显示当前的年份是否是 2018年。 
SeleniumLibrary 有关键字 Get Text, 其参数 如果使用 css选择元素的方法 以'css='开头,后面加上 css选择表达式

 

测试套件文件 s1.robot
*** Settings ***
Library  SeleniumLibrary

*** Test Cases ***
测试1
    Open Browser    http://www.baidu.com/    chrome
    Set Selenium Implicit Wait    5
    Input Text    id=kw    北京时间\n
    ${date}=    Get Text    css=.op-beijingtime-date
    log to console   ${date}
    Should Be True    $date.startswith('2017年')
    Close Browser


测试2
    ${var1}   convert to integer   100
    ${var2}   set variable    5
    should be true  $var1 * int($var2) == 500

  

RobotFramework 作业 3

创建一个测试套件文件,实现 2个测试用例:
用例1:

    1.  用Python语言开发一个测试库 course_mgr.py。
        该库有一个函数 listCourse 可以返回教管系统的所有课程(可以使用requests库开发)。
        (还不会使用Python的同学,拷贝参考答案中的Python代码,产生库文件)

    2.  用RF测试用例来使用 listCourse 关键字, 根据其返回的课程列表,
        将所有的课程名输出到日志文件中(使用循环)
        验证是否和预期课程相同

用例2:
    登录网站https://www.vmall.com/index.html
    获得所有热销单品的名称,打印在log报表中


测试库 course_mgr.py

import requests

def listCourse():
    params = {'action':'list_course', 'pagenum':'1', 'pagesize':20 }
    response = requests.get("http://localhost/api/mgr/sq_mgr/",params=params)

    bodyDict = response.json()

    return [ one['name']  for one in  bodyDict["retlist"]]


if "__main__" == __name__:
    cnamelist = listCourse()
    for one in cnamelist:
        print (one)

  

测试套件文件 s1.robot

*** Settings ***
Library    SeleniumLibrary
Library    course_mgr
Library    Collections


*** Test Cases ***
测试1
     ${courseList}=   ListCourse
     :FOR   ${ele}  IN  @{courseList}
       \    log to console   ${ele}


     ${expected}=      Create List     python语言    初中化学
    Lists Should Be Equal     ${courseList}     ${expected}



测试2
    Open Browser    https://www.vmall.com/    chrome
    Set Selenium Implicit Wait    4
    ${eles}=    Get Webelements   css=.home-hot-goods .grid-items:not(.grid-items-sm) div
    :FOR   ${ele}  IN  @{eles}
       \   log to console   ${ele.text}
       \   ${eletxt}=   evaluate  $ele.get_attribute('innerText')
       \   log to console   ${eletxt}

    Close Browser

  

 

posted @ 2018-06-26 19:48  小青~  阅读(619)  评论(0编辑  收藏  举报