3

Selenium RC についていくつか質問があります ->VerifyTextPresent 例:(verifyTrue(selenium.isTextPresent()));

Selenium IDE からテストを実行すると、ページのテキストにスペル ミスが見つかりましたが、Selenium RC/JUnit を介してテストを実行すると、エラーはキャッチされませんでした。

メソッドを追加する必要があることを理解しています: checkForVerificationErrors();IDE と同じ結果を得るには、Java コードに。

たとえば、このコード/行 (検証)-> IDE:

<tr>
    <td>verifyTextPresent</td>
    <td>Search results: 1 - 30 of 50</td>
    <td></td>
</tr>

セレン RC/JUnit:verifyTrue(selenium.isTextPresent("Search results: 1 - 30 of 50"));

メソッドを追加した後checkForVerificationErrors();、Selenium RC は IDE として動作します。

完全なコードは次のとおりです。

package com.example.tests;

import com.thoughtworks.selenium.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
import java.util.regex.Pattern;

public class Dice_Search extends SeleneseTestCase {
    private Selenium selenium;

    @Before
    public void setUp() throws Exception {
        selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://www.dice.com/");
        selenium.setSpeed("2000");
        selenium.start();
        selenium.windowMaximize();
        selenium.windowFocus();
    }

    @Test
    public void testDice_Search() throws Exception {
        selenium.open("/");
        selenium.type("id=FREE_TEXT", "selenium");
        selenium.type("id=zipCodeCity", "Los Angeles, CA");
        selenium.click("id=searchSubmit");
        selenium.waitForPageToLoad("30000");
        verifyTrue(selenium.isTextPresent("Search results: 1 - 30 of 50"));
        verifyTrue(selenium.isTextPresent("Create Search Agent Matching These Results"));
        verifyTrue(selenium.isTextPresent("selenium"));
        verifyEquals("selenium", selenium.getText("css=div.undoLabel"));
        checkForVerificationErrors();
    }

    @After
    public void tearDown() throws Exception {
        selenium.stop();
    }
}

今質問:

  1. checkForVerificationErrors(); を追加する方がはるかに優れています。各後 (verifyTrue(selenium.isTextPresent())); 行または上記のコードのようにテストの最後に追加できますか?

  2. Selenium RC/JUnit のどの行でテストが失敗したかを知るにはどうすればよいですか? ログウィンドウのSelenium IDEでは、行が表示され、コマンドも赤でマークされています。JUnit では、テスト エラーを生成した行ではなく、失敗トレースのみを表示します。

以下のスクリーンショットを参照してください。 IDE

JUnit

ありがとうございました!良い1日を!

4

1 に答える 1

0

私は RC があまり得意ではありませんが、ここで私が考えていることは次のとおりです。(例: verifyTrue(element.getText().equals("text")) 2. スタック トレース情報を読み取ります。Eclipse IDE を使用している場合は、[コンソール] タブ内のリンクをクリックできます。

于 2013-08-29T15:08:43.327 に答える