0

我有一个表格,下面有一个表格。您可以填写表格,但点击“撤消”按钮会将输入的任何信息恢复到进行编辑之前的状态。

我想断言手动输入的文本,以便我可以确认“撤消”按钮正在恢复字段。除非保存该项目,否则“值”属性不会更改,因此我不能将其用于断言的属性。如果有帮助,下面是字段的 XPath。

<table id="userAdminForm" class="c4i-ui-fieldGrid">
  <tbody>
    <tr>
      <td class="c4i-labelCell">
      <td class="c4i-fieldCell" rowspan="1" colspan="1">
        <div class="c4i-fieldDiv rel" style="min-height: 36px">
           <input id="userName" class="ui-inputfield ui-inputtext ui-widget ui-state-default ui-corner-all" type="text" value="Super User" name="userName" role="textbox" aria-disabled="false" aria-readonly="false" aria-multiline="false">
4

2 回答 2

0

我发现我需要从 html 中获取“value”属性来获取文本。以下代码在运行时可以通过测试,如果“oldtext”字符串不是所需的文本,它将失败。

感谢 Hari 让我走上正轨。

WebElement userName = findElementById("userName");
    userName.click();
    userName.clear();
    userName.sendKeys("testforUndo");

    WebElement undo = findElementById("cancel");
    undo.click();

    String text = findElementById("userName").getAttribute("value");
    String oldtext = "Testing";

    Assert.assertTrue(text.equals(oldtext));
于 2012-06-28T13:20:37.570 回答
0

您可以先使用以下方式在用户名字段中输入一些文本 -

driver.findElement(By.id("userName")).sendKeys("some name");

然后您可以单击撤消按钮。如果您提供 html 页面的完整源代码,那么我可以为您提供单击撤消按钮的代码。

然后阅读用户名字段中的文本 -

String text = driver.findElement(By.id("userName")).getText();

然后您可以验证文本的值并检查撤消按钮的功能。如果文本为空,则表示撤消按钮工作正常。

于 2012-06-27T15:38:40.700 回答