shi*_*cky 2 python selenium robotframework
我是机器人的新手,如果这是一个愚蠢的问题,我很抱歉,但我正在寻找将列表传递给内置方法 should_contain 的方法:
def should_contain(self, item1, item2, msg=None, values=True):
"""Fails if `item1` does not contain `item2` one or more times.
Works with strings, lists, and anything that supports Python's `in`
keyword. See `Should Be Equal` for an explanation on how to override
the default error message with `msg` and `values`.
Examples:
| Should Contain | ${output} | PASS |
| Should Contain | ${some_list} | value |
"""
msg = self._get_string_msg(item1, item2, msg, values, 'does not contain')
asserts.fail_unless(item2 in item1, msg)
Run Code Online (Sandbox Code Playgroud)
所以首先是测试用例中的简单方法,我知道这个语法是错误的,但是否可以做类似的事情:
Should Contain ${RESPONSE} "hello","world",250
Run Code Online (Sandbox Code Playgroud)
我尝试使用列表变量并将其传入,这似乎有效,但在更深入的调查中,它似乎只是比较元素计数而不是实际元素值,这令人失望
为了解决这个问题,我刚刚对我关心的值做了应该包含。问题是我在几行上用不同的数据重复应该包含,这显然不是好的做法。
Should Contain ${RESPONSE} "Hello"
Should Contain ${RESPONSE} "World"
Should Contain ${RESPONSE} 250
Run Code Online (Sandbox Code Playgroud)
有没有人能够提供一些指导或改进的方法来实现我想要做的事情?我正在考虑创建一种新方法以允许它进入自定义库,但我认为必须有一种更简单的方法。需要明确的是,我不关心物品的顺序。
小智 5
应该包含关键字不接受列表类型变量作为第二个参数。您可以通过使用 FOR 循环解析列表来解决方法:
*** Variables ***
${Response} "250 hello world foobar"
*** Test Cases ***
Stackoverflow
@{list} = Create List hello world 250
:FOR ${item} in @{list}
\ Should Contain ${RESPONSE} ${item}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11900 次 |
最近记录: |