0

その下にフォームのあるテーブルがあります。フォームに記入することはできますが、[元に戻す]ボタンを押すと、入力した情報が編集前の状態に戻ります。

手動で入力したテキストをアサートして、[元に戻す]ボタンがフィールドを元に戻していることを確認したいと思います。'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">
4

2 に答える 2

0

最初に、-を使用してユーザー名フィールドにテキストを入力できます。

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

次に、元に戻すボタンをクリックします。HTMLページの完全なソースを提供する場合は、元に戻すボタンをクリックするためのコードを提供できます。

次に、ユーザー名フィールドのテキストを-で読みます

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

次に、テキストの値を確認し、元に戻すボタンの機能を確認できます。テキストが空の場合は、元に戻すボタンが正しく機能していることを意味します。

于 2012-06-27T15:38:40.700 に答える
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 に答える