У меня есть следующий код:
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.MobileElement;
import io.appium.java_client.TouchAction;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.android.AndroidDriver;
import java.net.URL;
import java.util.concurrent.TimeUnit;
public class SampleSauceCheckBoxTest {
public static final String URL = "http://127.0.0.1:4723/wd/hub";
public static AndroidDriver driver = null;
public static void main(String[] args) throws Exception {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("platformVersion", "6.0");
capabilities.setCapability("deviceName", "Android Emulator");
capabilities.setCapability("app", "\\Users\\jsun\\Downloads\\app-debug.apk");
driver = new AndroidDriver<>(new URL(URL), capabilities);
/**
* Test Actions here...
*/
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
MobileElement mbeLogin = (MobileElement)driver.findElementByXPath("//android.widget.Button[@content-desc='Log In']");
mbeLogin.click();
//driver.quit();
}
}
Вот результат:
Процесс завершен с кодом выхода 1
Раньше код работал нормально, так что это не проблема совместимости версий appium/selenium.
Из журналов я понимаю, что вам нужно использовать универсальный AndroidDriver с типом MobileElement. Итак, в вашем коде измените следующую строку: