【问题标题】:Tosa puzzle with RobotFrameWork: read string text from a certain point till a certain point使用 RobotFrameWork 的 Tosa 拼图:从某个点到某个点读取字符串文本
【发布时间】:2021-12-05 18:35:56
【问题描述】:

来源是这个障碍:https://obstaclecourse.tricentis.com/Obstacles/87912

到目前为止,我得到的是:

    *** Settings ***
Library    Browser
Library    XML
Library    Collections
Library    String

Documentation     BE FAST AUTOMATE
*** Variables ***
${links}=  <isbn>
${rechts}=  </isbn>

*** Test Cases ***
Execute a for loop only three times
    Open Browser    https://obstaclecourse.tricentis.com/Obstacles/87912
    Click    id=loadbooks
    ${alles}=  Get Text    id=books

提到这个:'hard'

Get Text 从字面上获取所有文本都很好,但从那时起,我不知道如何获取 isbn(从特定的,甚至......任何)

【问题讨论】:

  • 链接到外部站点,甚至没有在此给出问题的简短描述?
  • 读取xml(使用xml库),找到与书的值对应的key,然后获取id。容易
  • @ClaudioBatista 我确实阅读了 XML 库文档。其实我觉得有点难。如果我不问,我会知道该怎么做。所以对于那些经验远不如你的人。你能告诉我们那会是什么样子吗?请。
  • @ClaudioBatista 老实说,XML 库的文档 (robotframework.org/robotframework/latest/libraries/XML.html) 不是那么清楚,在我看来,它与其他一些难以阅读的库形成对比。有点模糊。

标签: robotframework


【解决方案1】:

多亏了这个页面:Parse XML only returns first element

*** Settings ***
Library    Browser  enable_presenter_mode=False
Library    XML
Library    Collections
Library    String

Documentation     BE FAST AUTOMATE
*** Variables ***
#@{ROBOTS}=        1    2    3
${links}=  <isbn>
${rechts}=  </isbn>

*** Test Cases ***
Find the isbn
    Open Browser    https://obstaclecourse.tricentis.com/Obstacles/87912
    sleep  5s
    Click    id=loadbooks
    ${alles}=  Get Text    id=books
    ${x}=    Parse Xml    ${alles}    
    ${el_my_value}=    XML.Get Element    ${x}    .//isbn
    Log  ${el_my_value}
    ${first_text}=    Get Element Text    ${el_my_value}

但现在我仍然需要正确标题对应的 isbn。

因为响应是:找到多个匹配 './/isbn' 的元素 (6)。

【讨论】:

    【解决方案2】:

    我认为我不应该发布此内容,因为您应该建立练习的答案,而不是谷歌... 不过,还是这样吧。

    数据是隐藏的,如果您仔细查看页面的 html,您会看到在单击“加载书籍”按钮后会启动一个 javascript 函数,该函数会将值设置到 xml 和变量中。 知道了这些信息之后就很容易得到我们想要的值,只需要使用简单的robot + selenium:

    *** Settings ***
    Library   SeleniumLibrary
    
    *** Test Cases ***
    Insert Correct ISBN
       Open Browser    https://obstaclecourse.tricentis.com/Obstacles/87912   Chrome
       Click Element    id=loadbooks
       ${isbnValue}    Execute Javascript    return isbn
       Input Text    id=isbn    ${isbnValue}
    

    【讨论】:

    • 这有点帮助。两件事:1)“浏览器”库是我想使用的库。 2)不会导致特定变体(属于标题)
    • 还有一件事,实际的构建目的是使用 Tosca,我所做的是我自己编造的。 (仅用于练习目的)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-09
    • 2019-08-27
    • 1970-01-01
    • 1970-01-01
    • 2012-03-03
    • 1970-01-01
    相关资源
    最近更新 更多