JSONファイルに要素ロケータを含めることはできません。ページオブジェクトモデルに従って、すべての要素をJavaクラスに含めています。しかし、JSONファイルからテストデータを読み込むことは非常に簡単です。私はこれで周りの混乱しましたので、それはしばらくしているが、私は(私はまだJSONオブジェクト/ファイルを生成するために使用します)JSON Simpleを使用してこのようなものは、ファイルを読み込むことでした
protected JSONObject getDataFile(String dataFileName) {
String dataFilePath = "src/test/resources/";
JSONObject testObject = null;
try {
FileReader reader = new FileReader(dataFilePath + dataFileName);
JSONParser jsonParser = new JSONParser();
JSONObject jsonObject = (JSONObject) jsonParser.parse(reader);
testObject = (JSONObject) jsonObject;
} catch (Exception ex) {
ex.printStackTrace();
}
return testObject;
}
あなたが持ったらJSONオブジェクトでは、JSONシンプルはそれとやりとりして値を取得するいくつかの方法を提供します。私はGsonとしばらく前に遊んだし、それはかなり似ていると思う。
データファイルがどのように構造化されているかわかりませんが、テストケース名を表すキーストリングがあり、値は実際のデータと他のキーと値のペアを含むjsonオブジェクトでしたそのデータをTestNGデータプロバイダに供給しました。それがあなたの設定に似ているなら、私はそのコードを共有することができます。
編集:私は、私は唯一のログやレポート作成のために、私が正しくリコール場合は、その使用と信じてここで、除去することができ@dataProvider
public Object[][] getTestScenarios(String dataFileName, String testCaseName) {
JSONArray testCase = (JSONArray) getDataFile(dataFileName).get(testCaseName);
List<JSONObject> testScenarioArray = new ArrayList<JSONObject>();
for (int i = 0; i < testCase.size(); i++) {
testScenarioArray.add((JSONObject) testCase.get(i));
}
Object[][] dataProviderArray = new Object[testScenarioArray.size()][];
for (int scenario = 0; scenario < testScenarioArray.size(); scenario++) {
String scenarioName = null;
if ((String) testScenarioArray.get(scenario).get("scenario") != null) {
scenarioName = (String) testScenarioArray.get(scenario).get("scenario");
} else {
scenarioName = "No scenario name specified";
};
dataProviderArray[scenario] = new Object[] { scenarioName, (JSONObject) testScenarioArray.get(scenario) };
}
return dataProviderArray;
}
シナリオ名のものが使用する方法です。私がJSONArrayとしてそれを持っていて、このようにコード化された理由は、単一のテストケースが異なるデータを持つ複数のシナリオを持つ配列を持つ可能性があるからです。テストにいくつのシナリオがあるかを気にする必要はありませんでした。
として印刷されます。 jsonとして使用するデータの例と、Java Sereniumテストでの使用方法の例を示してください。そうでなければ、他にどんな援助がありますか? – user2272115
あなたのコメントのためのuser2272115ありがとうございます - 私は例のない質問を追加するときは、その一般的な質問と任意の助けが私が始めるのに良いことを意味します。ありがとう!私はすぐにデータを共有します! –