【问题标题】:Selenium, verfiy that field formats correctlySelenium,验证字段格式是否正确
【发布时间】:2019-04-22 18:12:09
【问题描述】:

我是 selenium 的新手,希望能得到一些帮助。想象一下,我们有一个用户可以在其中写字的盒子;我需要断言文本字段的格式正确为 1000000.00 = $1,000,000.00 我正在尝试使用 selenium 和 java 来验证这一点。该字段由下面的 html 表示。

<div id="req8">
<h2>Test #8</h2>
<input id="req8input" type="text" value="Type Number Here">
</div>

我将如何在 Java 中解决这个问题?谢谢!

【问题讨论】:

    标签: java html selenium selenium-webdriver


    【解决方案1】:

    使用this 为您的值获取正确的文本格式,然后您可以对字段的现有文本值进行断言。您也可以使模式特定于语言环境。还有各种其他选择。这样的事情应该可以工作。

    String value=""1000000.00""
    DecimalFormat myFormatter = new DecimalFormat("###,###.##");
    String output = myFormatter.format(value);
    WebElement webElement= driver.findElement(By.ById("req8input"));
    webElement.sendKeys("100);
    assertEquals(output, webElement.getAttribute("value"));
    

    【讨论】:

      【解决方案2】:

      定位元素:

      WebElement el = driver.findElement(By.id("req8input"));
      

      设置文本框的值:

      el.sendKeys("1000000");
      

      读取值:

      String val = el.getAttribute("value");
      

      比较一下:

      assertEquals("$1,000,000.00", val);
      

      正如您所说,您是 Selenium 的新手,这可能会导致 大量 问题。所以回答你的下一个问题:从documentation开始!

      【讨论】:

      • OP 似乎在询问值的格式,而不是发送、获取和断言值。如果 1000000 没有硬编码怎么办?在那种情况下,你的断言无论如何都会失败。
      • @VivekSingh OP 只说“硒新手”和“一些帮助”,除此之外没有明确说明。我实际上正在考虑将这个问题标记为过于宽泛。你当然可以不同意我的意见并投反对票。
      猜你喜欢
      • 2016-06-14
      • 1970-01-01
      • 2013-01-03
      • 2011-11-07
      • 1970-01-01
      • 1970-01-01
      • 2020-05-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多