Eclipse 使用UTF-8-IllegalArgumentException:找不到具有空id属性的元素
我的Selenium Java项目正在使用15种不同的语言。我的测试将根据启动浏览器之前设置的语言执行。使用Eclipse编写代码 由于文本根据文本的不同而不同,因此我将识别元素并在文本字段中输入文本。例如,英国是“城市”,而意大利是“城市”。 注意:我不能直接使用定位器,因为文本/问卷在这些语言之间有不同的位置 我必须使用UTF-8的文件编码 当我执行它时,它会出错为“IllegalArgumentException:找不到具有空id属性的元素”。请纠正我的错误 下面的课程是访问要在问题字段中输入的测试数据Eclipse 使用UTF-8-IllegalArgumentException:找不到具有空id属性的元素,eclipse,selenium,selenium-webdriver,Eclipse,Selenium,Selenium Webdriver,我的Selenium Java项目正在使用15种不同的语言。我的测试将根据启动浏览器之前设置的语言执行。使用Eclipse编写代码 由于文本根据文本的不同而不同,因此我将识别元素并在文本字段中输入文本。例如,英国是“城市”,而意大利是“城市”。 注意:我不能直接使用定位器,因为文本/问卷在这些语言之间有不同的位置 我必须使用UTF-8的文件编码 当我执行它时,它会出错为“IllegalArgumentException:找不到具有空id属性的元素”。请纠正我的错误 下面的课程是访问要在问题字段中
public class GetQuestionLocator {
public static String getLocator(String questionname) {
String locatorvalue = null;
switch (questionname) {
//Building Information Questions
case "Site name": //UK
case "Name des Standorts": //Germany, Austria
case "Building #": //Italy
case "Naam locatie": //nld
case "Kohteen nimi": //Finland
case "Nombre de la instalación": //Spain, Andorra, Marvi
case "Platsnamn": //Sweden
case "Nome da instalação": //Portugal
case "Stedets navn": //Denmark
locatorvalue = AssessmentPageData.BuildingDescription;
break;
case "Street address": //UK
case "Straße": //Germany, Austria
case "Edificio": //Italy
case "Straatnaam": //nld
case "Katuosoite": //Finland
case "Dirección": //Spain, Andorra, Marvi
case "Gatuadress": //Sweden
case "Direcção": //Portugal
case "Vejnavn": //Denmark
locatorvalue = AssessmentPageData.BuildingAddress;
break;
case "City": //UK
case "Ort": //Germany, Austria
case "Città": //Italy
case "Plaats": //nld
case "Kaupunki": //Finland
case "Ciudad": //Spain, Andorra, Marvi
case "Stad": //Sweden
case "Cidade": //Portugal
case "By": //Denmark
locatorvalue = AssessmentPageData.BuildingCity;
break;
}
下面是我如何映射Excel数据和定位器的
public void provideBuildingDetails(String FL) throws InterruptedException {
String SiteName = null;
String StreetAddress = null;
String City = null;
String PostalCode = null;
String Country = null;
String BuildingDescription = null;
String BuildingAddress = null;
String BuildingCity = null;
String BuildingPostalCode = null;
String BuildingCountry = null;
switch (FL) {
case "UK":
SiteName = Xls_Reader.getData("UKBuildingQuestions", "BuildingInformationQuestions", "SiteName");
StreetAddress = Xls_Reader.getData("UKBuildingQuestions", "BuildingInformationQuestions","StreetAddress");
City = Xls_Reader.getData("UKBuildingQuestions", "BuildingInformationQuestions", "City");
PostalCode = Xls_Reader.getData("UKBuildingQuestions", "BuildingInformationQuestions", "PostalCode");
Country = Xls_Reader.getData("UKBuildingQuestions", "BuildingInformationQuestions", "Country");
BuildingDescription = Xls_Reader.getData("UKBuildingQuestions", "ProvideBuildingDetails","BuildingDescription");
BuildingAddress = Xls_Reader.getData("UKBuildingQuestions", "ProvideBuildingDetails","BuildingAddress");
BuildingCity = Xls_Reader.getData("UKBuildingQuestions", "ProvideBuildingDetails", "BuildingCity");
BuildingPostalCode = Xls_Reader.getData("UKBuildingQuestions", "ProvideBuildingDetails","BuildingPostalCode");
BuildingCountry = Xls_Reader.getData("UKBuildingQuestions", "ProvideBuildingDetails","BuildingCountry");
break;
case "Italy":
SiteName = Xls_Reader.getData("ItalyBuildingQuestions", "BuildingInformationQuestions", "SiteName");
StreetAddress = Xls_Reader.getData("ItalyBuildingQuestions", "BuildingInformationQuestions","StreetAddress");
City = Xls_Reader.getData("ItalyBuildingQuestions", "BuildingInformationQuestions", "City");
PostalCode = Xls_Reader.getData("ItalyBuildingQuestions", "BuildingInformationQuestions", "PostalCode");
Country = Xls_Reader.getData("ItalyBuildingQuestions", "BuildingInformationQuestions", "Country");
BuildingDescription = Xls_Reader.getData("ItalyBuildingQuestions", "ProvideBuildingDetails","BuildingDescription");
BuildingAddress = Xls_Reader.getData("ItalyBuildingQuestions", "ProvideBuildingDetails","BuildingAddress");
BuildingCity = Xls_Reader.getData("ItalyBuildingQuestions", "ProvideBuildingDetails", "BuildingCity");
BuildingPostalCode = Xls_Reader.getData("ItalyBuildingQuestions", "ProvideBuildingDetails","BuildingPostalCode");
BuildingCountry = Xls_Reader.getData("ItalyBuildingQuestions", "ProvideBuildingDetails","BuildingCountry");
break;
}
ClickOnElement("id", AssessmentPageData.BuildingQuestionGroupInfo);
String locator = GetQuestionLocator.getLocator(SiteName);
EnterValuesByIndex("id", locator, BuildingDescription, 1);
locator = GetQuestionLocator.getLocator(StreetAddress);
EnterValuesByIndex("id", locator, BuildingAddress, 1);
locator = GetQuestionLocator.getLocator(City);
EnterValuesByIndex("id", locator, BuildingCity, 1);
locator = GetQuestionLocator.getLocator(PostalCode);
EnterValuesByIndex("id", locator, BuildingPostalCode, 1);
locator = GetQuestionLocator.getLocator(Country);
EnterValuesByIndex("id", locator, BuildingCountry, 1);
}
在意大利的Excel中,
例外情况如下所示:,
通过以下步骤纠正此问题
通过以下步骤纠正此问题:
您需要发布HTML代码片段。这将帮助我们为您构建类似xpath的定位器。我已使用HTML脚本更新,请检查。请发布完整的异常以及异常发生的行更新异常。我正在使用命令提示符从Git执行代码。您需要发布HTML代码片段。这将帮助我们为您构建类似xpath的定位器。我已使用HTML脚本更新,请检查。请发布完整的异常以及异常发生的行更新异常。我正在使用命令提示符从Git执行代码。