[Automation]UI Robot Framework - Ride

前言

刚开始做自动化测试,记录笔记

用的工具是 robot framework , 借助 ride


一、安装

  1. brew. 最开始用的brew安装,但是font报错
  2. pip. 于是直接照着官网,用pip (我用的python3.7),​​​​​ 之后根据报错提示,pip3安装对应的依赖
pip3 install robotframework
pip3 install robotframework-ride
  • 电脑里有多个python版本时,不想删除,想直接通过“python”用某一种的话,可以设置一下alias。另外,如果需要将python路径加入到path里面,也可直接在用户配置文件中设置。
vim ~/.bash_profile  //进入用户配置文件    
alias python=/usr/local/bin/python3.7
PATH=路径:$PATH
export PATH

二、使用

1.概述

  • 启用

        在终端执行命令 ride.py,就会出现ride图形化界面,打开对应项目即可。

        同时也可通过vscode等编程工具打开对应项目,方便进行一些代码的操作,操作后,再点击ride中对应的文件,会提示是否更新本地的修改,点击确认即可。

Ride.py
  • 面板简单说明

        打开项目文件夹 MyProgram ,hover,右键点击 “New Suite”, 取名“MySuite”,hover,右键点击 “New Test Case”, 取名“MyNewTestCase”。

        通常情况下,一个功能点的测试,就是创建一个Suite,创建一个主要的用户自定义关键字,可以设置该关键字为模版template,在其下面创建多个testcase,之后只需在各个case中传入相应的参数,即可自动运行该模版。这样用较为方便的形式,实现了多个只有细微差别的用例测试。

        上图是测试套件的格式化的编辑区

        第1部分,可以设置测试套件启动和结束时,所需要执行的关键字,同理下面的Test ..

        第2部分,添加所需要的依赖,通常Library是添加py文件,自己写的,或已有的python包。而Resource通常是添加其他自定义suite的路径,这里引用的自定义suite通常是作为工具资源被其他测试套件依赖,里面可以有相应的关键字、变量或者其他包的设置,这样就不需要在所有测试套件内都设置一遍这些东西了。

        第3部分,添加变量,可以是单个变量,也可以是list或dict(列表或字典)形式。这里的变量也可以包含已有的变量名字。通过变量可以实现不同传参,用起来很方便。也可以简化页面,比如把较长并多次使用的值,设为变量,就可直接在正文中使用变量,同理,也适用于keywords。

        在测试用例的格式化编辑区中,可以添加该用例所需要用到的模版 template,只能加一个关键字,加入之后,只需在测试用例下面填写该关键字所需的参数即可。在有多个testcase时,使用template较为方便。

         上图是文本编辑区,格式化编辑区中的内容都会以文本形式在此处展现,可以直接在文本编辑区中进行编辑,同样也会同步到格式化编辑区。

        右键MySuite,点击 “New User Keyword”, 取名“User Keyword”,这就是用户自定义关键字的创建,同样会显示到编辑区。之前定义的变量,同样也显示在了左侧,和文本编辑区。

        这就可以开始自己的自动化测试啦!

  • 定位错误点

        出现报错后,点击Tab “Run”下首栏中的“ log ”选项,即可分析错误原因。

        此外可配置测试方式为有头浏览器测试,或者无头浏览器测试。有头即可直接的看到浏览器执行的每一步操作是什么,到底哪一步没有执行。无头则会更快。

        另外有时候可能是系统不稳定,再run一遍即可。
 

2.注意点

  • Suite创建

        基于python3安装的RF,suite的运行模式变为了robot,因此创建suite时要为.robot格式

  • locate 元素

        ride中执行一句命令,通常是由3部分构成:关键字+元素位置+参数

        关键字

        可以是外界的依赖包,也可以是自己定义的关键字。

        自己定义的关键字,可以是由其他依赖包中的关键字操作的组合,也可以是自己编写python程序,实现其他依赖包难以实现的功能,某些个性化的功能。

        元素位置

        这里指的是UI界面中,各个元素的UI定位。

        按F12,点击左上角的箭头,鼠标指哪里,就会显示当前元素的位置。

        常用的定位方式:id、class、xpath,可以硬性定位,精确到xpath的每一个div,也可以动态定位,用class,或借助text等其他有效信息。在显示出当前元素所在的定位行后,就可以直接得到xpath,右键 copy->copy xpath 实现。或者使用一些辅助工具,如google插件:xPath Finder、XPath Helper等。

        另外xpath中可添加变量,对应的值可通过参数传入。{"variable_name":"value"}

        参数

        这里的参数可以是python函数中所需要传入的参数,或者是关键字中所需要用到的变量。

3.Other

  • 打开ride后,出现了一个现象。它占据了整个屏幕,但是又不是最大化,然后没有显示左上角的关闭等一系列功能。这时需要将鼠标移至左下角,就会出现一个缩放功能的按钮,进行缩放即可,然后对应工具栏自然就会出现了。
  • if 逻辑
  Run Keyword If    "A"=="B"   关键字    元素定位    参数(optional)
  ...   ELSE    IF   关键字    元素定位    参数(optional)
  ...   ELSE    关键字     元素定位    参数(optional)

        这里一定要...,且不能将ESLE与其合在一起

        若需要字符串比较,需要左右双方都加引号


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值