我的桌子下面有一张表格。您可以填写表单,但点击“撤消”按钮会将所有输入的信息恢复为编辑前的状态。
我想声明手动输入的文本,以便我可以确认“撤消”按钮正在还原字段。除非保存该项,否则'value'属性不会更改,因此我不能将其用于断言的属性。如果有帮助,则字段的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">
答案 0 :(得分:0)
您可以先使用 -
在用户名字段中输入一些文字driver.findElement(By.id("userName")).sendKeys("some name");
然后您可以点击撤消按钮。如果您提供了html页面的完整源代码,那么我可以为您提供单击撤消按钮的代码。
然后通过 -
读取用户名字段中的文本String text = driver.findElement(By.id("userName")).getText();
然后您可以验证文本的值并检查撤消按钮的功能。如果文本为空,则表示撤消按钮正常工作。
答案 1 :(得分: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));