【发布时间】:2013-05-11 19:31:07
【问题描述】:
我们有一个分布式测试环境,robotremoteserver 启动了许多其他应用程序,并将它们作为测试的一部分使用。我尝试运行的测试要求我在一个套件中运行超过一百万个测试用例。这里的问题是,当pybot 开始运行时,它会阻塞 8 GB 的 RAM 并导致性能下降。过了一会儿,它就冻结了。
为了克服这个问题,我计划创建单独的套件,每个套件少于 100 个。但在这种情况下,我无法使用从其他套件启动的其他远程服务器的关键字。我可以使用它的唯一方法是断开与远程服务器的连接并在每个套件中重新连接它 - 这会破坏测试的目的。
我不确定是否有人遇到过这种情况。如果有人能想出解决这个问题的办法,我将不胜感激。
附加信息
有助于解决此问题的另一件事:是否可以从另一个套件启动的库(带有状态)中调用关键字?
我可以在使用 RIDE 时使用 get library instance 吗?我在一个套件中导入库,然后尝试在其他套件中获取库实例。这可能吗?
我不断收到以下错误:
AttributeError: 远程实例没有属性'replace'
在套件 1 中,这就是我正在做的事情:
Import Library Remote ${verifix_xmlrpc_url} WITH NAME Verifix
${lib}= BuiltIn.Get Library Instance Verifix
Set Global Variable ${lib}
在套件 2 中:
${lib}.remove messages ${VenueNSDQ}
【问题讨论】:
-
嗨,Amol,到目前为止,您有什么成功吗?老实说,在一个测试套件下链接这么多测试用例听起来很愚蠢,我无法想象将套件作为一个单元来理解是可能的。我想我会建议像您在逻辑单元中所做的那样拆分测试套件,以避免出现问题。您是否尝试过对标签做同样的事情?一个额外的建议是在你拆分出一些测试套件后使用 pabot。如果您需要一些共享资源来进行任何测试运行,请小心
-
@shicky 没有理由称任何人愚蠢......
-
@Monkey 我并没有说他愚蠢,事实上我竭尽全力帮助 Amol。我说在一个测试套件下拥有一百万个测试用例是愚蠢的,它完全无法管理并且自找麻烦,因此 Amol 发现自己处于有问题的情况。我怀疑 Amol 完全负责将一百万个测试用例放在一个套件中,因为这是 Amol 试图解决的问题,很可能是他继承的。你为什么不尝试和帮助,而不是试图在不存在的地方制造冲突?鉴于我的评论获得了赞成票,显然其他人也同意这种观点。
-
@shicky:拥有一百万个测试用例可能不会那么愚蠢,如果它们是自动生成的。也许他们有一个大的产品矩阵,需要针对一个大的输入和预期输出矩阵进行测试,他们会自动生成测试用例。排列很容易达到数百万。在不知道这些测试用例是如何创建和管理的情况下,称其为“愚蠢”有点不敏感。
-
很公平@BryanOakley,我向你的高超知识低头,并向 Amol 和其他任何被我的话冒犯的人道歉。如前所述,我无意冒犯,因为我指的是测试用例情况,绝不是针对 Amol。我仍然认为在一个套件中拥有接近一百万个测试用例是一个非常非常糟糕的主意,正如 Amol 在他的问题中强调的那样。我悬赏了这个问题,进行了自己的研究,并提出了我会采取的一些步骤,但我能做的不多。
标签: python automated-tests robotframework