标签: robotframework

来自变量文件的Robotframework列表变量

我在从文件中读取列表变量时遇到问题.我有一个包含3个变量的文件(variables.py):

TEST1=212
TEST2=[111, 222, 333, 444, 555, 666]
TESTS3="sadasd"
Run Code Online (Sandbox Code Playgroud)

这两个${TEST1}${TEST3}可访问(我从变量文件中的值),但是,当我尝试访问第二个变量@{TEST2}[2],我得到一个错误:

FAIL : Non-existing variable '@{TEST2}[2]'
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用文件中的变量,则只会发生这种情况.如果我在RIDE中创建列表变量,我可以轻松地访问它@{Variable}[{$index}]

如果我尝试这种语法:${TEST2}[2],我得到:

'[111, 222, 333, 444, 555, 666][2]'
Run Code Online (Sandbox Code Playgroud)

因此,机器人框架知道存在具有给定名称的变量,但不知道它是列表变量.难道我做错了什么?

variables file-upload list robotframework

1
推荐指数
1
解决办法
3万
查看次数

在 Robot Framework 中使用“Regexp Escape”和“should match”

我正在尝试学习机器人框架,我正在尝试匹配这样的正则表达式

TC should match
    ${escaped} =    Regexp Escape   Hello World
    Should Match    ${Hello World}  ${escaped}
Run Code Online (Sandbox Code Playgroud)

其中,${Hello World} 是 Hello World(在变量表中声明)

当我运行此命令时,出现此错误。“'Hello World' 与 'Hello\ World' 不匹配”。我究竟做错了什么?。提前致谢。另外,我正在尝试匹配 [az]* 或 s+ d+ 之类的东西。我不能那样做。任何帮助表示赞赏

regex robotium robotframework

1
推荐指数
1
解决办法
5181
查看次数

RobotFramework:使用'运行关键字{if,除非}'获取返回值

从RobotFramework中的关键字获取返回变量通常很容易,只需在关键字中放入一个返回值,并在变量后面运行关键字来存储返回值.

当我想有条件地运行该关键字时遇到问题.关键字Run Keyword IfRun Keyword Unless关键字都Wait Until Keyword Succeeds希望将关键字作为第一个参数,如果第一个参数是变量,则会抛出错误.

目前我正在通过在关键字中设置套件级变量来解决这个问题,我知道我将有条件地运行,但这感觉有些笨拙.更糟糕的是,我必须重构任何在最初设计时作为条件关键字不需要的关键字.当然,我可能永远不会使用返回变量,并且总是设置套件级变量,但这只会让我觉得很脏.

我还没有找到一个干净的方法来做到这一点.它有效,但我希望其他人找到更好的方法.

robotframework

1
推荐指数
1
解决办法
6912
查看次数

失败时无法运行关键字“捕获页面屏幕截图”

我正在使用机器人框架运行自动化 android 应用程序:我导入了 selenium2library 和 android 库。最初我使用 goto url 关键字启动应用程序:我将参数作为我的应用程序的 url 给出。运行测试脚本后,我得到 ::

Keyword 'Capture Page Screenshot' could not be run on failure: 
Multiple keywords with name 'Capture Page Screenshot' found. Give 
the full name of the keyword you want to use:     
AppiumLibrary.Capture Page Screenshot     
Selenium2Library.Capture Page Screenshot.
Run Code Online (Sandbox Code Playgroud)

如何解决。谁能告诉我一些解决方案。

robotframework appium

1
推荐指数
1
解决办法
9743
查看次数

机器人框架“找不到资源文件”错误

我设计了这种架构,其中所有测试用例都在 Amazon.robot 文件中,机器人框架的所有低级关键字都将在两个单独的文件中(AmazonGui.robot 和 Commons.robot)

包含所有测试用例的 Amazon.robot 文件:

*** Settings ***
Documentation  This is some basic infor the whole suite
Resource  Resources/AmazonGui.robot
Resource  Resources/Common.robot

*** Variables ***


*** Test Cases ***
User must sign in to check out

    [Documentation]  This is some basic info about test
    [Tags]  Smoke

    Common.Begin Web Test
    AmazonGui.Search for Products
    AmazonGui.Select Product from Search Results
    AmazonGui.Add Product to Cart
    AmazonGui.Begin Checkout
    Common.End Web Test
Run Code Online (Sandbox Code Playgroud)

我还有另外两个具有低关键字的资源文件,所以基本上测试用例(Amazon.robot)正在调用低级关键字文件(Common.robot 和 AmazonGui.robot)。我已将资源文件导入到测试用例文件中。


AmazonGui.robot 文件,包含用于测试用例的低级关键字

*** Settings ***
Library   Selenium2Library

*** Keywords …
Run Code Online (Sandbox Code Playgroud)

automation robotframework

1
推荐指数
2
解决办法
2万
查看次数

在python3上安装机器人框架而不是python2

我在fedora中预装了python3,稍后安装了python2.使用后

pip install robotframework
Run Code Online (Sandbox Code Playgroud)

机器人已成功安装,但它安装在python 2.7/site-packages中.

有没有办法在python3中安装和使用它?或者,是否可以卸载python2,并在python3上重新安装机器人框架?

谢谢.

python installation robotframework

1
推荐指数
1
解决办法
4920
查看次数

RF:将$ {SPACE},$ {EMPTY}和 - 值替换为'0'

目前正在使用Robot Framework List.我有一个这样的列表['Thu 2/22/2018', ' ', '-', '0.0000', '0', '', 'Fri 2/23/2018', '0', '-', '0.0000', '0', '+20 hr 28 min', 'Sat 2/24/2018', '37', '37', '0.0000', '37', '-10 hr 23 min']我想将$ {SPACE},$ {EMPTY}和 - 值转换为'0'.我正在尝试下面的代码,但我收到这些错误

ValueError: Cannot convert index ' ' to an integer.
ValueError: Cannot convert index '-' to an integer.
ValueError: Cannot convert index '' to an integer.
Run Code Online (Sandbox Code Playgroud)

这是代码

:FOR   ${x}  IN   @{OnlyList}
\  Log   ${x}   console=true
\   run keyword if  '${x}'== '${SPACE}'  Collections.set list value  ${OnlyList} …
Run Code Online (Sandbox Code Playgroud)

python robotframework

1
推荐指数
1
解决办法
56
查看次数

如何在页面上获取元素,单击其他内容,然后等待原始元素消失

我在Windows服务器上使用Python 2.7,Robot Framework和Selenium2Library。

在具有按钮和数据文本框的页面上,我有一个硒测试,单击该按钮,这会触发一个get请求,并在返回时重新创建数据文本框并使用新值进行更新。然后测试睡眠10秒钟,以使这种情况发生,然后读取数据文本框中的值。

我真正想做的是获取数据文本框的元素,然后单击按钮并继续轮询原始数据文本引用以使其在DOM上不可用,即它已被重新创建,然后读取文本框以获取价值。

我无法终生发现如何使用Robot Framework和Selenium2Library做到这一点,因为所有调用都是自包含的,并且不会传递引用。

您能提供其他解决方案吗?

selenium python-2.7 robotframework

1
推荐指数
1
解决办法
70
查看次数

Robot Framework是否支持Gherkin数据表?

如何在Robot Framework中实现Gherkin数据表?

以下代码段应将两组(n,is_prime)参数传递给关键字,以便验证:

is_prime(5)=真

is_prime(6)=假

*** Test Cases ***
Function should verify prime number
    Given I have a positive integer and is_prime() function
        | n | is_prime |
        | 5 | True     |
        | 6 | False    |
    When I check whether n is prime
    Then is_prime() should verify this
Run Code Online (Sandbox Code Playgroud)

注意:这与场景大纲无关.我发现https://gist.github.com/Tset-Noitamotua/8f06bd490918a56b0485630016aef60b,并且可以使用机器人编写测试实例表.

这是一个Python函数,我用它来检查素数:

import math


def is_prime(num):
        if num < 2:
            return False
        sqr = int(math.floor(math.sqrt(num)))
        for i in range(2, sqr + 1):
            if num …
Run Code Online (Sandbox Code Playgroud)

gherkin robotframework parameterized-tests

1
推荐指数
1
解决办法
361
查看次数

在Robot Framework中执行断言的最佳方法是什么?

我正在将Robot Framework与Java配合使用。我的问题是:在Robot Framework中执行断言的最佳方法是什么?我应该导入JUnit(或类似的库)并在自己的关键字中使用if声明吗?

是否有一个用于断言的关键字库?我的意思是一个包含如下关键字的库:

Assert True &{value_to_check}
Assert List Contains &{list_of_elements} &{element_to_find} # using java equals method
Run Code Online (Sandbox Code Playgroud)

谢谢!

java junit assertion robotframework

1
推荐指数
1
解决办法
195
查看次数