0

特定のテキストフィールドに要件に基づいた制限があるWebアプリケーションをテストしています(たとえば、テキストフィールドの量はアルファベットと特殊文字を許可せず、名前のテキストフィールドは数字と特殊文字を許可しません)。したがって、ブラウザーで手動で試行している間、制限は正常に機能します。しかし、同じテストケースを自動化する一方で、そのようなテキストフィールドはすべてのデータ(アルファベット(小文字と大文字)、数字、特殊文字など)を受け入れます...自動化では制限がまったく機能しないことを意味します..私はEclipseでSeleniumを使用して自動テストを書いています(testNGフレームワーク)およびSeleniumRCを使用してテストを実行します。

4

1 に答える 1

0

文字列形式の検証には正規表現を使用することをお勧めします。例:ビルドバージョンフォーマットの私の非常に

@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を使用して機能仕様に従わない「受け入れられた入力」をブロックできます。

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

私見、それはこの問題の解決の私のビジョンです。

于 2012-10-12T11:52:43.327 に答える