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