带有json字符串的@DataProvider处有多个下划线(Selenium Java)

带有json字符串的@DataProvider处有多个下划线(Selenium Java),java,arrays,json,selenium,Java,Arrays,Json,Selenium,我使用数据提供者将浏览器组合从Jenkins传递到json对象。请帮我找出那个方法有什么问题 我的项目是基于Java的,有TestNg和Maven package com.***.tests; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import org.openqa.selenium.WebDriver; import org.openqa.selenium.json.JsonException

我使用数据提供者将浏览器组合从Jenkins传递到json对象。请帮我找出那个方法有什么问题

我的项目是基于Java的,有TestNg和Maven

package com.***.tests;

import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.json.JsonException;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.DataProvider;

import java.lang.reflect.Method;
import java.net.MalformedURLException;
import java.net.URL;

public class RemoteSauceOnDemandBrowser {

protected WebDriver driver;

public static final String SAUCE_ACCESS_KEY = 
System.getenv("SAUCE_ACCESS_KEY");
public static final String SAUCE_USERNAME = System.getenv("SAUCE_USERNAME");


@DataProvider(name = "hardCodedBrowsers", parallel = true)

public static Object[][] sauceBrowserDataProvider(Method testMethod) throws 
JsonException {

    String browsersJSONArrayString  = 
System.getenv("SAUCE_ONDEMAND_BROWSERS");

    JsonArray browsersJSONArrayObj = new JsonArray(browsersJSONArrayString);
//新JsonArray上的browsersJSONArrayString(browsersJSONArrayString);-在JsonArray中带下划线的是JsonArray(int),不能应用于java.lang.String

    Object[][] browserObjArray = new Object[browsersJSONArrayObj.length()] 
[3];
//长度下划线为“无法解析方法长度”

    for (int i=0; i<browsersJSONArrayObj.length(); i++) 
   {
        JsonObject browserObj = 
 (JsonObject)browsersJSONArrayObj.getAsJsonObject(i);
//i-在JsonElement中带下划线的getAsJsonObject不能应用于(int)

}

使用新的依赖项更新了pom.xml:

  <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20090211</version>
        <scope>test</scope>
  </dependency>

org.json

您使用的类与示例中使用的类不同,您应该使用JSONArray而不是JSONArray,JSONObject而不是JSONObject-

通过在每个JSON字符串下面加下划线的大写JSON。将依赖项添加到pom.xml中,但问题仍然存在。您的示例已由我prntscr.com/k5njgy下载,我还没有任何版本。尝试添加导入:import org.json.JSONArray;导入org.json.JSONException;导入org.json.JSONObject;这没用。似乎从来没有使用过json依赖关系。想知道是否应该将json包添加到路径中,IDEA read解决方案可能存在一些问题
  <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20090211</version>
        <scope>test</scope>
  </dependency>