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();
}
}
今質問:
checkForVerificationErrors(); を追加する方がはるかに優れています。各後 (verifyTrue(selenium.isTextPresent())); 行または上記のコードのようにテストの最後に追加できますか?
Selenium RC/JUnit のどの行でテストが失敗したかを知るにはどうすればよいですか? ログウィンドウのSelenium IDEでは、行が表示され、コマンドも赤でマークされています。JUnit では、テスト エラーを生成した行ではなく、失敗トレースのみを表示します。
以下のスクリーンショットを参照してください。
ありがとうございました!良い1日を!