测试用例的实现——自动化测试精解(4)

发表于:2021-1-04 10:13

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:刘云    来源:51Testing软件测试网原创

  3.1.3  测试用例的实现
  创建资源文件和用户关键字后,就可以在测试套件里导入它们。把Source设置为Positive_ Function_TestSuite.tsv,然后单击Resource按钮,选择刚创建好的资源文件,添加对资源文件的引用,如图3-11所示。
图3-11  添加对资源文件的引用
  在3.1.1节中我们创建了一个名为Hello_TestCase的测试用例,但是只有一个测试用例的名字,并无具体创建的步骤。我们要测试的场景是向助理机器人发出一句“你好!”,助理机器人根据当前时间回复“主人,早上好!”“主人,下午好!”或“主人,晚上好!”。测试用例的具体实现步骤如图3-12所示。
图3-12  Hello_TestCase的具体实现步骤
  Send_Message是在Operation_Resource文件里刚创建的关键字,用于向助理机器人发送指令。Get_Reply也是在Operation_Resource文件里刚创建的关键字,用于查询助理机器人并得到相应的回复。
  Check_Hello_Returns是一个作用域为本测试套件的关键字,用来验证助理机器人的回复是否正确。其定义如图3-13所示。
图3-13  Check_Hello_Returns关键字的定义
  Check_Hello_Returns 关键字有一个输入参数${arg},用于传递助理机器人回复的内容。
  Get Time、Run Keyword If、Should Contain都是Robot Framework的BuiltIn库默认包含的关键字。我们可以在RIDE里按F5键查看每一个关键字的解释和用法。
  至此,第一个测试用例就设计完成了。以这个测试用例作为基础,第二个关于时间的测试用例就很简单了。第二个测试用例如下。
  问:现在几点了?
  助理机器人答:现在时刻9:00整。
  Time_TestCase如图3-14所示。
  所有用到的关键字都是在设计第一个测试用例的时候创建的,这个测试用例可以直接复用。
  第三个关于天气的测试用例与前两个类似,可以复用现有的全部关键字,只需替换具体的问题和回复,这里就不赘述。Weather_TestCase如图3-15所示。
图3-14  Time_TestCase

图3-15  Weather_TestCase
  3.1.4  更多测试套件
  至此,我们已经自动设置了助理机器人正常的测试点,现在可以自动设置其异常的测试点。在同一个测试工程下新建一个名为Negative_Function_TestSuite的测试套件,单击Resource按钮,添加对资源文件Operations_Resource.tsv的引用,如图3-16所示。
图3-16  添加对资源文件的引用
  设计的测试用例覆盖下面这个测试点。
  问:Robot Framework是什么?
  机器人答:对不起!我现在还不能理解您在说什么,请尝试其他问题吧。
  Unkown_TestCase如图3-17所示。
图3-17  Unkown_TestCase
  现在,我们已经自动设置了助理机器人的所有测试点,下面试运行。右击Assistant Robot Project,然后选择Select All Tests以选中全部测试用例。单击RIDE中的Run选项卡,然后单击Start按钮,测试用例的运行情况如图3-18所示。
图3-18  测试用例的运行情况
  Robot Framework瞬间把所有测试用例都运行了一遍,4个测试用例都成功通过(pass),耗时短于1s(elipsed time:00:00:00:487),实际上只用了487ms。勾选Report复选框,即可查看测试报告如图3-19所示。勾选Log复选框,即可查看测试日志,如图3-20所示。
图3-19  测试报告

图3-20  测试日志(片段)

版权声明:51Testing软件测试网获得人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号