SeleniumLibrary+Robotframework开发自动化测试项目(02-创建测试用例)

1、打开RIDE

现在我们已经把测试环境搭建完成了,来启动RIDE编辑脚本吧
现在你的桌面上应该会有一个RIDE的启动图标:
RIDE图标双击即可打开,如果桌面上没有也没关系,使用python 来直接执行ride.py即可,大家若果觉得每次都这样执行太麻烦了,写一个bat脚本就可以了,之前搭建环境的时候有讲到的。

2、创建测试项目

因为我们本地实际上现在是一个空白的状态,所有我们使用New Project来创建一个新项目:Suite
创建项目
创建项目参数解释
需要注意的__init__.txt文件,这个文件虽然看起来和python下面的__init__.py文件很像,不过在这里是做测试套件的设置用的,具体的我们后面再讲;因为我们选择的type类型为Directory所以会创建目录suite并且该该目录下会有__init__.txt文件,如果我们选择的是File则只会创建一个suite.txt文件。

3、创建测试套件

创建的过程是一步一步的,先创建项目-》创建测试套件(一个or多个)-》创建测试用例
创建套件的参数和创建项目的是类似的,区别在于创建套件的话,文件所在目录不需要我们来选择;
创建测试套件:TestcaseDemo创建测试套件
创建测试套件参数

4、创建测试用例

大家可能已经注意到了右击不同的文件弹出的可供我们选择的列表是不同的,这就是上面跟大家讲的创建顺序(RIDE规定了我们的创建顺序)
创建测试套件:TestcaseDemo
创建测试哟里
这里解释一下force tags和default tags的区别
force tags:为suite下的所有测试用例都打上这个标签,通过这里打的标签在测试用例里面是置灰了,不可编辑的
default tags:如果suite下的测试用例没有打标签,就会打上这里设置的标签,如果测试用例已经打了标签,则不进行添加
输入测试用例名称

5、引入测试库文件

Selenium2Library是我们在搭建环境的时候就已经下载完成的,之后我们还会用到更多的自定义的库文件。
引入测试库步骤
库文件如果导入成功的话,字体显示为黑色,反之则为红色
引入测试库失败
导入成功后,可以按F5来查看引入类库包含有哪些关键字(也有可能出现明明关键字存在但是就是搜索不到的情况,这个时候就需要把robotframework的版本降低一下)
关键字查看
补充一下,如果关键字引入成功也是有可能为黑色的,这个时候把robotframework的版本降低一下即可以解决

6、编写测试用例

创建测试用例:Open Learning Log
open browser第一个参数是需要访问的网址,第二个参数为使用的浏览器,默认是Firefox,我们使用Chorme则需要填写该参数
编写测试用

7、执行测试用例

用例执行还有其他很多参数,之后用到再做解释;
-d C:\workspaces\SeleniumTest\log:指定输出文件的路径包括:日志、报告
–extension txt:robot:使用测试文件可以使用txt格式测试用例执行

8、查看测试结果

通过RIDE查看报告的方法
测试报告显示

9、完善测试用例

下面是我们已经创建好的完整用例的样子,可能有小伙伴奇怪,我们明明是在RIDE上通过填表的方式来编写的用例,这个代码片段是什么呢,其实这个就是我们在RIDE上面通过表格填写后,RIDE自动帮我们生成的脚本,同理我们把这样的脚本使用RIDE打开的话,RIDE也可以展示位表格的样子(前提是脚本的格式符合RIDE的要求);

*** Settings ***
Suite Teardown    close browser
Library           Selenium2Library

*** Test Cases ***
Open Learning Log
    open browser    http://127.0.0.1:8000/    Chrome
    Maximize Browser Window
    click element    xpath=//a[text()="登录"]
    Wait Until Page Contains Element    xpath=//*[text()="Log in to your account."]
    input text    id=id_username    admin
    input text    id=id_password    admin@123
    click element    name=submit
    Wait Until Page Contains Element    xpath=//a[text()="你好,admin."]
    [Teardown]    click element    xpath=//a[text()="注销"]

测试用例详解

10、测试用例元素定位方法解析

打开Chrome页面进入被测页面后点击“F12”进入开发者调试模式;
手工页面点击流程:
元素定位01
元素定位02
元素定位03
元素定位06
看到这里相信大家应该对自动化用例的元素定位有一些简单的印象了,接下来我们简单讲解一下;
在selenium自动化中所有的事务性操作(click、input、check)我们都是基于元素的,常用的定位方式有id、name、xpath等;
id、name是标签的属性这个比较简单,直接使用就可以了,Xpath的话我们可以直接拷贝,但是在公司项目中我们常常不是使用直接拷贝的xpath,因为直接拷贝的一般使用的为绝对路径,在项目还在更新的情况下,元素极易出现问题,这时候我们需要自己来写了;

//*[@id="navbar"]/ul[2]/li[1]/a

// : 固定以两个斜杆开头;
* : 表示的是标签名,这里是使用的正则
[@id="navbar"] : 代表属性值,一般为父类的(最接近的有属性的层极)
/ul[2]/li[1]/a : 代表层级关系

页面展示的text是特殊的,因为这个text并不是标签的属性值,所以使用的是:[text()="**"]
有时候控件有多个属性不好定位,我们也可以使用and或者or

[@id="id" and name="name"]
[@id="id" or name="name"]

我们定位的时候元素也有可能包含一些变量或者特殊字符的情况出现,这个时候我们可以使用contains来定位元素,可以直接定位出包含指定属性的元素出来

//*[contains(@id, "id") ]
//a[contains(text(),'automates browsers. Th')]

自己写好的定位需要在页面进行一些校验才可以使用,在界面查找一下如果有且只有一个,那我们就写好了一个可以唯一定位的元素了;
校验唯一定位

11、RIDE运行问题修改

1、RIDE中文乱码修改

大家运行测试用例的时候是否会像我一样在日志输出中出现中文乱码的情况呢;
中文输出乱码
(1) 找到目录:C:\Python\Python37\Lib\site-packages\robotide\contrib\testrunner下的testrunnerplugin.py文件。
(2) 修改第565行,把encoding[‘SYSTEM’])改为encoding[‘OUTPUT’])
修改文件为output格式
(3) 重启ride工具,再运行一下,出现乱码的问题就解决了;
中文正常输出

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值