【发布时间】:2021-11-17 12:37:04
【问题描述】:
为了帮助测试社区了解测试工具的差异,我尝试制作一个系列,就像 Flur-Funk 对 Tosca 所做的那样。 (我在项目中使用了 x 次 Tosca)
所以现在我解决了同样的难题,但后来使用了 Robot Framework。 (我稍后会把它们放到Youtube上)
所以我遇到了这个(困难的)难题: 这是我到目前为止得到的:
*** Settings ***
# https://robotframework-browser.org/
Library Browser
Library DateTime
Library Collections
Library String
#Library SeleniumLibrary
#Library SeleniumLibrary
# https://robotframework.org/robotframework/latest/libraries/DateTime.html
# pip install DateTime
*** Variables ***
@{VALUES} | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
*** Test Cases ***
Example Test 73589
Browser.Open Browser https://obstaclecourse.tricentis.com/Obstacles/73589
${rijmetgetallen}= GET TEXT id=array
LOG TO CONSOLE ${rijmetgetallen}
${stripped}= STRIP STRING ${rijmetgetallen} characters=[,\'n]
${converted}= CONVERT TO LIST ${stripped}
FOR ${var} IN ${stripped}
Run Keyword If '${var}' == '1' Continue For Loop
Click id=b1
LOG TO CONSOLE ${var}
# ELSE Click id=tech
END
Click id=button1
Click id=button2
Get Text xpath=//body *= You solved this automation problem.
# used resources:
# https://www.tutorialspoint.com/robot_framework/robot_framework_working_with_variables.htm
导致日志:
Example Test 73589 3
2
5
1
9
4
8
6
7
| FAIL |
Evaluating expression ''3
2
5
1
9
4
8
6
7' == '1'' failed: SyntaxError: EOL while scanning string literal (<string>, line 1)
------------------------------------------------------------------------------
0012 Test 73589 | FAIL |
你会如何解决这个问题? 如何克服错误?
Tosca 工具的解决方案可以在这里找到:https://www.youtube.com/watch?v=BcsuH8Q1x60
【问题讨论】:
-
${converted}不是您期望的列表,Convert To List并没有神奇地将您的数字字符串分解为每个成员都是一个单独的数字的列表。提示 - 为此使用Split String。你解谜的算法不对;你的循环做什么 - 它运行的次数与数字一样多,然后单击交换(大概,如果 id=b1 是这样) - 如果当前数字不是 1;并停止。这不是冒泡排序(它使用内部循环),也不是如何解决这个 html 页面(使用一个足够高的循环和 2 个条件检查)。最后Get Text的语法是错误的。 -
我对@987654328@ 的评论进行了更正,没有意识到您正在使用在关键字中包含断言的浏览器库。
标签: python robotframework puzzle