java.lang.IllegalArgumentException:基本 URI 不能为空
Posted
技术标签:
【中文标题】java.lang.IllegalArgumentException:基本 URI 不能为空【英文标题】:java.lang.IllegalArgumentException: Base URI cannot be null 【发布时间】:2022-01-15 22:08:35 【问题描述】:loginApi方法看不到baseUrl,在config文件中 并抛出异常:java.lang.IllegalArgumentException: Base URI cannot be null。 但是如果BaseUrl在类本身而不是在配置文件中,则执行该方法并且BaseUrl不会返回null
public class Api extends Base
public void loginAPI(String username, String password)
Response response = RestAssured.given().log().all().
contentType("application/x-www-form-urlencoded").
given().
param("username", username).
param("password", password).
baseUri(BaseUrl).basePath("/manager/login/").
when().post().
then().extract().response();
类基础
public class Base
static public String BUrl;
String BaseUrl = BUrl;
public static String baseUrl()
if (alternativeBaseUrl_1 != null)
BUrl = alternativeBaseUrl_1;
else
BUrl = ConfigProperties.getTestProperty("BaseUrl");
return BUrl;
配置属性
BaseUrl=working url
测试
@Test
public void test1()
staticBasePage.openPage(baseUrl());
api.loginAPI(ConfigProperties.getTestProperty("LoginRoot"),ConfigProperties.getTestProperty("PasswordRoot"));
【问题讨论】:
【参考方案1】:因为您在BUrl
有值之前创建实例api
,所以BaseUrl
= null。
快速修复:
@Test
public void test1()
staticBasePage.openPage(baseUrl());
new Api().loginAPI(ConfigProperties.getTestProperty("LoginRoot"),ConfigProperties.getTestProperty("PasswordRoot"));
【讨论】:
以上是关于java.lang.IllegalArgumentException:基本 URI 不能为空的主要内容,如果未能解决你的问题,请参考以下文章