0

我正在测试一个 Web 应用程序,其中某些文本字段具有基于要求的限制(例如,数量文本字段不允许使用字母和特殊字符,而名称文本字段不允许使用数字和特殊字符。),因此在浏览器中手动尝试时,限制工作正常。但是在自动化相同的测试用例时,这样的文本字段接受所有数据(例如字母(小写和大写),数字,特殊字符。)......意味着自动化没有任何限制工作......我在 Eclipse 中使用 Selenium 编写自动化测试(testNG 框架)并使用 SeleniumRC 运行测试。

4

1 回答 1

0

我建议使用 RegExps 来验证字符串格式。例如,我非常喜欢构建版本格式

@Test
    public void buildVersionFormatVerify() throws IOException {

    String buildVersion = findElementByCssSelector("home.buildversion.label").getText().trim();
    String extractedVer;
    extractedVer = buildVersion.substring(buildVersion.indexOf(':')+1,buildVersion.length()).trim();

    Assert.assertTrue("build version does not match regexp",extractedVer.matches("\\d.\\d\\s.\\s\\d{2}"));

}

另一种方法如下:您输入一个不满足输入格式的特定字符串,以符合功能规范。然后你可以触发输入被接受的方式(没有错误消息出现或验证器没有处理不正确的输入),你可以阻止“接受的输入”不符合功能规范,例如

 Assert.assertFalse("improper input format",isElementPresent(By.xpath(...xpath of the error message...)));

恕我直言,这是我解决这个问题的愿景。

于 2012-10-12T11:52:43.327 回答