Automation One By One - Robot Framework - 优化Test Case

还是以前面提到成功登录 百度账号的feature为例。

*** Settings ***
Library       Selenium Library
Resource      /Path/to/Variable.txt
Resource      /Path/to/loginkeywords.txt
*** Testcases ***
Login Should Succeed When the Correct Username and Password are Entered
  Open Login Page
  Enter Username  @{username}[0]
  Enter Password  @{password}[0]
  Click the Login Button
  Login Is Successful  @{username}[0]

仔细想想这个 test case是不是还有什么不完美的地方呢?

我们说一个test case最大的特性就是repeatability, 即保证每次执行时步骤都是可重现的,output的也都是一样的。

看看上面这个test case,它是否具有可重现性的特质呢? 如果用户已经登录了,这面的脚本是否可以执行通过?

如何解决这个问题?
  • 在test case的真正代码执行前,我们先判断一下是否已经登录,如果已经登录则执行退出运作然后再执行登录的操作,如果没有登录则执行登录操作。
  • 我们修改一下test case
    • 先查找一下有没有退出按钮
    • 如果有单击退出
    • 如果没有再执行接下来的脚本

*** Settings ***
Library       Selenium Library
Resource      /Path/to/Variable.txt
Resource      /Path/to/loginkeywords.txt
*** Testcases ***
Login Should Succeed When the Correct Username and Password are Entered
  ${status}=  Call Selenium Api  is_element_present  link=登出(将是否存在登出按钮的结果当成变量存储起来)
  Run Keyword If  ${status} == True  Click  link=登出(以变量为条件进行判断)
  Open Login Page
  Enter Username  @{username}[0]
  Enter Password  @{password}[0]
  Click the Login Button
  Login Is Successful  @{username}[0]

    • 为了方便用户理解,我们把刚才新增的脚本放在loginkeywords.txt中.
  • 修改过后的Test Case及LoginKeywords如

*** Settings ***
Library       Selenium Library
Resource      /Path/to/Variable.txt
Resource      /Path/to/loginkeywords.txt
*** Testcases ***
Login Should Succeed When the Correct Username and Password are Entered
  Whether Login
  Open Login Page
  Enter Username  @{username}[0]
  Enter Password  @{password}[0]
  Click the Login Button
  Login Is Successful  @{username}[0]


*** Keywords ***
Whether Login
  ${status}=  Call Selenium Api  is_element_present  link=登出(将是否存在登出按钮的结果当成变量存储起来)
  Run Keyword If  ${status} == True  Click  link=登出(以变量为条件进行判断)
Open Login Page (移除)
  Click Link  link=登录
Enter Username  [Arguments]  ${username}
  Input Text  uname  ${username}
Enter Password  [Arguments]  ${password}
  Input Text  pwd  ${password}
Click the Login Button
  Click Button  login
Login Is Successful  [Arguments]  ${username}
  Page Should Contain  ${username}
Login Is Failed  [Arguments]  ${username}
  Page Should Not Contain  ${username}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值