Skip to content

Commit

Permalink
[plugin-mobile-app] Replace usages of deprecated Appium client APIs
Browse files Browse the repository at this point in the history
  • Loading branch information
valfirst committed Jun 8, 2024
1 parent bd9481c commit f82e389
Showing 1 changed file with 7 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@
package org.vividus.mobileapp.steps;

import static io.appium.java_client.CommandExecutionHelper.execute;
import static io.appium.java_client.MobileCommand.prepareArguments;
import static java.util.Map.entry;
import static org.vividus.selenium.type.CapabilitiesValueTypeAdjuster.adjustType;

import java.time.Duration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

import org.apache.commons.lang3.math.NumberUtils;
import org.jbehave.core.annotations.Given;
Expand Down Expand Up @@ -155,15 +155,13 @@ public void changeAppiumSettings(List<NamedEntry> settings)
{
ExecutesMethod executesMethod = webDriverProvider.getUnwrapped(ExecutesMethod.class);

String[] params = settings.stream()
.map(NamedEntry::getName)
.toArray(String[]::new);
Object[] values = settings.stream()
.map(NamedEntry::getValue)
.map(v -> NumberUtils.isDigits(v) ? Long.valueOf(v) : adjustType(v))
.toArray();
Map<String, Object> settingsMap = settings.stream().collect(
Collectors.toMap(NamedEntry::getName, namedEntry -> {
String value = namedEntry.getValue();
return NumberUtils.isDigits(value) ? Long.valueOf(value) : adjustType(value);
}));

execute(executesMethod, entry("setSettings", prepareArguments("settings", prepareArguments(params, values))));
execute(executesMethod, entry("setSettings", Map.of("settings", settingsMap)));
}

/**
Expand Down

0 comments on commit f82e389

Please sign in to comment.