使用Java,我如何验证包含中断的元素中的文本?

时间:2013-12-18 21:19:51

标签: java selenium

我有一个包含中断文本的元素。使用Java,我如何验证元素的文本是否符合我的期望?

我使用的是以下代码,但总是失败。打印的报告显示实际和预期的文本值是相同的,所以我不知道它为什么会失败。

<span id="ctl00_cphMainContent_lblWelcomeText">
Dear Tester, 
<br>
<br>
Line 1
<br>
<br>
Line 2
<br>
<br>
Line 3
<br>
<br>
Line 4

和我的java:

public static final String PAGETEXT = "css=ctl00_cphMainContent_lblWelcomeText";

protected void verifyText(PAGETEXT, "Dear Tester,\r\n\r\nLine 1\r\n\r\nLine 2\r\n\r\nLine 3\r\n\r\nLine 4"){
        //verify that the expected text is present
        String actualtext = driver.getSingleElement(PAGETEXT).getText();
        Assert.assertEquals(actualtext, expectedtext);

3 个答案:

答案 0 :(得分:1)

我诚实地将其分解为单独的断言。

verifyTextContains(PAGETEXT, "Dear Tester,");
verifyTextContains(PAGETEXT, "Line 1");
verifyTextContains(PAGETEXT, "Line 2");
verifyTextContains(PAGETEXT, "Line 3");
verifyTextContains(PAGETEXT, "Line 4");

这当然是假设您的验收标准不包括“确保在这些行之间出现断点”

答案 1 :(得分:1)

你可以使用这样的东西。

String expectedtext="Dear Tester, \n\nLine 1\n\nLine 2\n\nLine 3\n\nLine 4";

public void verifyText(){
  String actualtext = driver.getSingleElement(PAGETEXT).getText();
  Assert.assertEquals(actualtext, expectedtext);
}

基本上保持你的空格在实际文本中。用\ n

替换

答案 2 :(得分:0)

  1. 拆分为行(Split Java String by New Line
  2. 断言行数等于
  3. 断言每一行等式