带有json字符串的@DataProvider处有多个下划线(Selenium Java)
我使用数据提供者将浏览器组合从Jenkins传递到json对象。请帮我找出那个方法有什么问题 我的项目是基于Java的,有TestNg和Maven带有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
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>