robotframework - Robot Framework - Selenium2Library - 根据之前的文本将文本输入到字段中

标签 robotframework selenium2library

由于每次刷新后随机生成每个 ID,我不得不使用其他标识符。我基本上希望机器人将文本输入到我指定的标识符旁边的字段中。

https://vgy.me/3YBIgl.png

我希望将文本输入到 user: 字段并使用“user:”作为要使用的定位器。
它适用于 xpaths,但我宁愿使用另一种不会那么脆弱的方法。

这是用于生成表单的 HTML

<tbody id="m8DPe" class="z-rows">
<tr id="m8DPf" style="background:#FFFFFF;" class="z-row">
    <td id="m8DPg-chdextr" style="background:#FFFFFF;text-align:left;" class="z-row-inner">
        <div id="m8DPg-cell" class="z-row-content">
            <span id="m8DPg" class="z-label">User:</span>
        </div>
    </td>
    <td id="m8DPh-chdextr" style="background:#FFFFFF;text-align:left;" class="z-row-inner">
        <div id="m8DPh-cell" class="z-row-content">
            <input id="m8DPh" class="z-textbox" value="" type="text" name="j_username">
        </div>
    </td>
</tr>
<tr id="m8DPi" style="background:#FFFFFF;" class="z-row z-grid-odd">
    <td id="m8DPj-chdextr" style="background:#FFFFFF;text-align:left;" class="z-row-inner">
        <div id="m8DPj-cell" class="z-row-content">
        <span id="m8DPj" class="z-label">Password:</span>
        </div>
    </td>
    <td id="m8DPk-chdextr" style="background:#FFFFFF;text-align:left;" class="z-row-inner">
        <div id="m8DPk-cell" class="z-row-content">
            <input id="m8DPk" class="z-textbox" value="" type="password" name="j_password">
        </div>
    </td>
</tr>

我知道这将是类似的事情:
Input Text    //tr[contains(text(), 'Example') and ...]    ${USERNAME}

但老实说,我不知道。有什么地方可以阅读吗?

我对机器人框架非常陌生。对不起,菜鸟。

最佳答案

查看示例,输入的 name 属性看起来不是随机生成的。如果确实如此,您可以按名称使用最简单的 Selenium 定位器策略,例如:

Input Text    name=j_username    ${USERNAME}

如果不是这种情况,可以通过 xpath 来完成:
//tr[//span[text()="User:"]/td//input

读取(从右到左清晰,虽然它被评估为 LTR):返回输入,它位于 td(单元格)内,它本身是 tr(表格行)的直接子元素,具有跨度该文本(此处完全匹配)。

因此,定位器将找到包含“User:”的单元格的行,并返回其中的输入。

关于robotframework - Robot Framework - Selenium2Library - 根据之前的文本将文本输入到字段中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40681641/

相关文章:

javascript - 如何使用 Robot Framework 选择此单选按钮?

testing - 在关键字 "Run Keywords"内分配一个变量可能吗?

selenium - 使用 Robot Framework Test 在浏览器中上传文件

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

robotframework - 如何根据robotframework中的条件分配变量

java - 带有 Selenium 和 Java 关键字的机器人框架

robotframework - 如何使用机器人框架运行 headless REMOTE chrome

selenium - 使用Robot Framework创建一个空列表并在迭代中推送数据

selenium - Robot Framework - Selenium2Library - 使用 Edge 浏览器选择文件关键字

robotframework - 使用机器人框架手动输入(验证码)?