robotframework+selenium的PO模式、RF标识及编写规范

PO模式

Page Object模式是Selenium中的一种测试设计模式,主要是将每一个页面设计为一个Class(封装在一个class类中),其中包含页面中需要测试的所有元素(按钮,输入框,标题等)的属性和操作,这样在Selenium测试页面中可以通过调用页面类来获取页面元素,这样巧妙的避免了当页面元素id或者位置变化时,需要改测试页面代码的情况。当页面元素变化时,只需要更改测试页Class中页面的属性即可。

目的: 测试代码与被测页面对象代码分离,后期如果有页面元素发生了更改,只需要修改相应页面对象的代码,而不需要修改测试代码,后期好维护。

robotframework+selenium的PO模式、RF标识及编写规范

编写规范

1.变量、关键字的大小写、空格、下划线不敏感

关键字和参数之间至少2个空格,若有下划线和空格都会被忽略。比如Input Text、input text都可以

自定义关键字最好是首字母大写,命名要见名知意,每个单词间空一格,不要下划线和多余空格

robotframework+selenium的PO模式、RF标识及编写规范

2 同时执行多个关键字,AND必须大写

[Teardown] run keywords delete data  AND  reload page

3 条件表达式 的and 要小写

Run Keyword If '${name}'=='张三' and '${sex}'=='男'

robotframework+selenium的PO模式、RF标识及编写规范

4.ELSE IF ELSE 必须大写

run keyword if ***

... ELSE IF ***

... ELSE ***

5.FOR、IN、IN RANGE、END必须大写,且END 需必写,中间的空格都是两个或两个以上。如果用到IN RANGE 中间的空格是1个

RF标识

首字母大写

1.[Documentation] 给当前关键字加入说明

2.[Setup] 指的就是案例启动的时候执行某个关键字

3.[Teardown] 指的就是案例结束的时候执行某个关键字

4.[Template] 模板,所有的case就只需要设置这个关键字的传入参数即可

5.[Arguments] 传入参数

6.[Return] 返回值

7.[Timeout] 设置每一个测试案例的超时时间,只要超过这个时间就会失败,并停止案例运行。这是防止某些情况导致案例一直卡住不动,也不停止也不失败

robotframework+selenium的PO模式、RF标识及编写规范robotframework+selenium的PO模式、RF标识及编写规范

8. 标签

suit下打tag分为两种:一种是Force Tags,一种是Default Tags。放在***Settings***中

Force Tags:suit下面所有的测试用例都被打上这个tag,即使测试用例打了自己的tag, 也不起作用

Default Tags:suit下面的测试用例如果没有打tag,就会用这个默认tag, 如果打了tag,就用自己打的tag。

[Tags] tag # 单个用例的标签,放在case下面

命令执行:

pybot --include tag2 Test.robot 所有包含tag2的测试用例都会被执行

pybot --exclude tag2 Test.robot 所有包含tag2的测试用例都不会被执行

pybot --include tag1ORtag2 -e tag3 Test.robot 执行包含tag1或tag3但不包含tag2的测试用例

robotframework+selenium的PO模式、RF标识及编写规范 robotframework+selenium的PO模式、RF标识及编写规范

9. Suite Setup指的是测试套件启动的时候就执行某个关键字。测试套件是为测试执行目的分组而成的测试用例集合。

10. Suite Teardown指的是测试套件结束的时候就执行某个关键字

robotframework+selenium的PO模式、RF标识及编写规范

自动化测试

robotframework框架的驱动模式

2022-9-29 10:51:56

自动化测试

robotframework中实现上传与下载文件

2022-10-11 17:33:21

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索
Array ( [0] => post [1] => user [2] => document [3] => newsflashes )