系统测试的机器人框架

时间:2014-04-25 15:06:02

标签: selenium selenium-webdriver remote-access robotframework system-testing

我正在尝试消化机器人框架如何帮助我自动化系统测试。我有以下要求 我有多个代理将数据推送到中央服务器,UI连接到服务器以显示数据。我有多个路径来测试代理到服务器和服务器到UI。除此之外,我需要验证从代理到UI的端到端测试(验证代理在UI中发送的数据)。我试图了解机器人框架如何帮助我。

我有以下要求: -

  1. 我需要运行测试用例来测试不同系统上的多个路径
  2. 测试可以在java(Junit)python或Jasmine测试
  3. 中进行
  4. 我应该能够收集所有日志或报告到中央系统
  5. 它只讨论编写关键字驱动的测试用例,但是如何编写实际的测试用例?这只是所有测试用例的驱动程序吗?它如何帮助远程执行?

2 个答案:

答案 0 :(得分:0)

使用robotframework,你不能用另一种编程语言编写测试,你的测试是用机器人语言编写的。你不能将junit或jasmine与机器人一起使用。所以,这似乎违反了你问题中的要求(2)。但是,您可以在java或python中编写 keywords ,并让测试执行这些关键字。

我不完全明白你要做的事情,但你很有可能用机器人框架做到这一点。例如,您可以编写一个关键字,例如"告诉代理将数据推送到服务器",您可以编写另一个关键字,如"验证服务器有价值",您可以写第三个关键字如"验证值出现在UI"中。您可以用java或python编写它们,或者组合现有的关键字(例如:可能"验证值出现在UI"通过组合几个现有的selenium关键字来构建)。

然后,您可以编写一个连续调用每个关键字的测试用例。

您的测试用例可能类似于:

| Example test case
| | Tell agent to push | Hello, world
| | Verify server has the value | Hello, world
| | Verify the UI shows the value | Hello, world

根据您的代理和UI的工作方式,这些关键字可能会执行某些命令行工具,或者他们可以访问RESTful Web API,或者他们可能会使用selenium来验证UI。机器人关键字非常灵活,可以用您选择的语言执行任何操作。

答案 1 :(得分:0)

如果我正确理解你的问题,答案是Robot Framework实际上是Python的shell,因此你可以将它用作基于测试的驱动程序,用于你想用Java或Python编写的任何东西,以及天空是极限。

这不是Robot Framework的设计方式,但这里概述了我认为它可以像你想的那样使用。

Robot Framework runs ->
                        a Robot Framework keyword which runs ->
                                                                some Python/Java code which executes

换句话说,是的,Robot Framework CAN至少可以作为Python和Java脚本的驱动程序,它们本身可以(可能带有一些神秘的导入)依次执行Jasmine。如果Robot Framework正在运行的脚本失败,那么Robot Framework将报告失败。如果Robot Framework正在运行的脚本正确执行,则Robot Framework将报告Pass。

我应该补充一点,我从未听说过Robot Framework同时运行Java和Python文件。

理论上,Robot Framework还可以运行.cmd和.bat文件。从那里,天空是极限。