2017-05-19 3 views
0

Java Scriptingを使用して自動化する通常の「Add Users」モジュールがあるとしますが、「User already exist」などのエラーメッセージを避けるためにデータの重複を避ける方法はありますか?Selenium Webdriver - データ複製を回避する方法

+0

https://commons.apache.org/proper/commons-lang/apidocs/index.html?org/apache/commons/lang3/RandomStringUtils.htmlこれは 'selenium-java'でパッケージ化されています。 – SiKing

+0

ティアダウンステップでデータを消去する –

答えて

0

自動化することができます。あなたは原因あなたは(おそらく)静的変数を使用して'Add Users'テストケースを実行しているという事実にを「ユーザーが既に存在する」受信されています。

注:私は、新しいユーザーの基本的な登録フロー/シナリオを検討します次の例の場合:nameemailpasswordが必要なフィールドであること。 注-002:私の言語はJavaScriptです。 Javaで簡単にコンセプトを再現できるはずです。

1)あなたが提出している情報への事前保留/ポスト保留ユニーク識別子(例:1970年1月1日=から経過した秒数を返しますDate()>それテストケースを実行しているときは、常にユニークとなります)

var timestamp = Number(new Date()); 
var email = 'test.e2e' + timestamp + '@<yourMainDomainHere>' 

注:あなたが実際にせずにhardcoaded値を使用できるように通常、name & passwordは、一意である必要はありません。任意の問題。

2)同じことはまた、18桁0および1(0.8018194703223693)の間の値を返す)JSため(Math.random()を用いて達成することができます。

var almostUnique = Math.random(); 
// You can go ahead and gen only the decimals 
almostUnique = almostUnique.toString().split('.')[1]; 
var email = 'test.e2e' + almostUnique + '@<yourMainDomainHere>' 

!!!警告:Math.random()は実際にはユニークではありませんが、何百回もの機能テストケースの回帰分析では、重複が発生する可能性はありませんでした。

3)(それほどエレガント|ハーダー指数関数の実装が困難になって)あなたは、あなたのウェブアプリケーションへのアクセスバックエンドAPIを持っており、それによってあなたがDBで異なるアクションを実行することができるなら、あなたが実際に書くことができますあなた自身登録のテストケースの後に実行するいくつかのスクリプトは、クリーンアップスイートのように。

これらのスクリプトでは、以前に追加したユーザーをデータベースから削除する必要があります。

希望すると便利です。

0

あなたはどの言語をコーディングしているのかは言及していませんが、使用する言語の任意の関数を使用して、ユーザーIDの乱数やテキストを生成します。重複がないことを保証するものではありませんが、テストの性質上、どちらの状況にも対処できるはずです。これが明確でない場合、または質問が正しく理解できない場合は、試したことや使用する言語など、さらに多くの情報を提供する必要があります。

関連する問題