この質問はxpathsに言及していますが、実際にはxpathsに特有ではなく、実際にはJava Stringsに関係します。変数の名前をダンプまたは印刷する
私はJava 8を使用しており、約40文字列(クラス内のpublic static final String)を持っています。
private static final String employeeID_x = "//input[@id = 'id']";
private static final String employeeName = "//input[@id = 'EmployeeName']";
と
private static final String age_x = "//div[@id = 'Employee']/div[2]/span[1]";
などのようないくつかのより複雑なものは、これらの40がありますがあります。例は以下の通りです。私はあなたのアイデアを得る
for (String xp: arr) {
List<WebElement> eles = driver.findElement(By.xpath(xp));
if (eles.size() == 0) {
System.out.println(xp + " does not exist");
}
}
を確認するために、その後
private static final String[] arr = {employeeID_x, employeeName_x, age_x, .....};
のような配列をしたように、すべてのXPathを検証したいです。これは動作しますが、エラーメッセージは "// div [@id = 'Employee']/div [2]/span [1]は存在しません。私はこれは大丈夫だと思うが、私はむしろそれが "age_xは存在しない"と言うだろう。
変数名の印刷方法がわかりません。私はクラスとgetFields()を使用しようとしましたが、動作していないようです。
private static final String[] names= {"employeeID_x", "employeeName_x", "age_x", .....};
をして、エントリの数を取得し、
for (int i = 0; i < arr.length; i++) {
String xp = arr[i];
String name = names[i];
List<WebElement> eles = driver.findElements(By.xpath(xp));
if (eles.size() == 0) {
System.out.println(name + " does not exist");
}
}
を使用しますが、あなたが見ることができるように私がしなければならない何
は、配列を複製し、このように引用符で各要素を入れていますこれは痛みになることがあります。とにかくXPから名前を取得するにはありますか?たぶん、いいえ、私はそれが各文字列の値を代用する配列を作成するときに恐れているので?
ご覧のとおり、これはxpathsに固有のものではありません。
、キーが変数名である '地図<文字列、文字列>'に格納します。 – azurefrog