php smeoa,robotframework-UI自动化测试-实例3(无效登录)

Shake with your right hand but hold a rock in your left.

测试需求:

在登录界面设计测试用例的时候,除了最基本的一个用正确的用户名和密码登录以外,一般还会设计几个无效登录的情况,比如:

错误的用户名和正确的密码

正确的用户名和错误的密码

错误的用户名和错误的密码

以上的情况都是为了验证系统对于无效登录时的异常捕获情况。从实际项目经验出发,开发人员在实现需求的时候,有效的用例基本能够顺利执行,往往是无效的用例方面会找到系统里面的bug,这和开发人员通常没有太多的时间去考虑异常处理是相关的。

测试设计:

写出对应的无效登录的Testcase集(单独写登录的测试用例的请参见实例2(登录)),如下图:

293ab19d6b6c

tests.png

聪明的朋友一定会想到在以上6个测试用例中会发现其实都是在做同一个操作,不同的只是输入的用户名和密码不一样,这时会想到提取一个公用的模块出来实现这些重复的步骤,用数据驱动的模式来实现这个测试需求。

测试实现:

1 创建一个新的测试用例集OAInValidLoginTests,右键点击选取公用的New User keyword,取名Login with invalid credentials should fail

2 点击页面上出现的User Keyword文件会发现其界面和之前的Testcase是一致的。

293ab19d6b6c

login.png

步骤还是遵循正常登录时候的步骤,只是在验证点上面需要做异常登录的验证。

3 为实现数据驱动,在User Keyword文件中加上参数化,点击[Settings]->[Arguments],在Arguments处写上需要参数化的两个变量 username和password

293ab19d6b6c

22.png

4 创建对应的6个Test Cases,用图形方式比较麻烦,直接用Text的方式来实现更方便,切换到 Text Edit窗口,在Test Cases部分写入以下的代码:

*** Test Cases *** USERNAME PASSWORD

Invalid Username invalid ${VALID PASSWORD}

Invalid Password ${VALID USERNAME} invalid

Invalid Both invalid invalid

Empty Username ${EMPTY} ${VALID PASSWORD}

Empty Password ${VALID USERNAME} ${EMPTY}

Empty Both ${EMPTY} ${EMPTY}

你会发现在左边的树形界面上出现了对应的6个Testcase,点击进去后Edit界面下出现类似于下图的:

293ab19d6b6c

invalid user.png

因为在这里又定义了一个变量${VALID PASSWORD}

5 变量的定义是在User Keyword中会发现有变化的值可以写为变量,变量的定义是在Testcase上右键点击New Scalar(为什么不直接取名字叫New Variable呢。。真是任性),输入变量的名称(Name)和对应的值(Value)

293ab19d6b6c

variable.png

此时我们设计了3个变量,${VALID USERNAME},${VALID PASSWORD},${SERVER URL}

6 在OAInValidLoginTests(Test Case)中的Test Template中填写刚才创建的Login with invalid credentials should fail 文件。

293ab19d6b6c

10.png

最终的robot代码如下:

*** Settings ***

Test Template Login with invalid credentials should fail

Library Selenium2Library

*** Variables ***

${SERVER URL} http://localhost/smeoa/index.php?m=login&a=index # this is the comment for server URL

${VALID USERNAME} admin

${VALID PASSWORD} admin

*** Test Cases *** USERNAME PASSWORD

Invalid Username invalid ${VALID PASSWORD}

Invalid Password ${VALID USERNAME} invalid

Invalid Both invalid invalid

Empty Username ${EMPTY} ${VALID PASSWORD}

Empty Password ${VALID USERNAME} ${EMPTY}

Empty Both ${EMPTY} ${EMPTY}

*** Keywords ***

Login with invalid credentials should fail

[Arguments] ${username} ${password}

open browser ${SERVER URL} chrome

Input text id = emp_no ${username}

Input text id = password ${password}

click button xpath = //input[@value='登录']

sleep 2

wait until page contains element xpath = //input[@value='登录'] 20 error

close browser

CC先生的小黑板

1 变量的形式

${变量名}

2 变量的设置

Test case右键单击New Scalar

Settings里的Arguments中直接添加,用‘|’ 分割

3 模板的定制

新建类似于Test Case的文件,然后在Settings里面的Test Template中添加文件名

4 数据驱动

代码里面在Test case 部分直接填写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值