Не найден конструктор AndroidDriver с Appium в затмении - PullRequest
1 голос
/ 01 июня 2019

Код с ошибками:

package TestCase;

import java.net.MalformedURLException;
import java.net.URI;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import com.gargoylesoftware.htmlunit.javascript.host.URL;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.remote.MobileCapabilityType;
import io.appium.java_client.remote.MobilePlatform;

public class TestWebBrowser {
    //AppiumDriver driver = new IOSDriver();
    public static AndroidDriver driver;

    public static void main(String[] args) throws MalformedURLException {           
        DesiredCapabilities capabilities = new DesiredCapabilities();   
        driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);  
    }
}

Ошибка сообщения:

  • URL-адрес конструктора (строка) не определен
  • Конструктор AndroidDriver (URL, DesiredCapabilities) не определен
  • AndroidDriver является необработанным типом

Я пробовал с различными версиями java-клиента, но проблема по-прежнемусохраняется

Ответы [ 2 ]

1 голос
/ 01 июня 2019

Вам нужно использовать конструктор existen, как это:

https://appium.github.io/java-client/io/appium/java_client/android/AndroidDriver.html

Вам нужно использовать java.net.URL, а не com.gargoylesoftware.htmlunit.javascript.host.URL

0 голосов
/ 01 июня 2019

@ Лорена, привет.
1. Во-первых, не могли бы вы дважды проверить импорт? Ниже приведен фрагмент кода с правильными

package tests.web;

import java.net.MalformedURLException;
import java.net.URL;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.remote.MobileBrowserType;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.remote.DesiredCapabilities;
public class AndroidWebTest {
   private static final String ACCESS_KEY = System.getenv(“SEETEST_IO_ACCESS_KEY”);
   private static final String CLOUD_URL = “https://cloud.seetest.io:443/wd/hub”;
   private static final String TITLE = “Testing Website on Android Chrome with Java”;
   private AndroidDriver driver = null;

   @Before
   public void setUp() throws MalformedURLException {
       DesiredCapabilities dc = new DesiredCapabilities();
       dc.setCapability(“testName”, TITLE);
       dc.setCapability(“accessKey”, ACCESS_KEY);
       dc.setBrowserName(MobileBrowserType.CHROME);
       driver = new AndroidDriver(new URL(CLOUD_URL), dc);
   }

   @Test
   public void testAppiumOnChrome() {
       driver.get(“https://amazon.com”);
       System.out.println(driver.getTitle());
       if (driver.getCapabilities().getCapability(“device.category”).equals(“TABLET”)) {
           driver.findElement(By.xpath(“//*[@name=’field-keywords’]”)).sendKeys(“iPhone”);
           driver.findElement(By.xpath(“//*[@text=’Go’]”)).click();
       } else {
           driver.findElement(By.xpath(“//*[@name=’k’]”)).sendKeys(“iPhone”);
           driver.findElement(By.xpath(“//*[@value=’Go’]”)).click();
       }
   }

   @After
   public void tearDown() {
       if (driver != null) {
           driver.quit();
       }
   }
}

Более подробную информацию см. В статье Сравнение и объединение драйверов автоматизации веб-тестов и мобильных устройств .

  1. Если ваш проект основан на maven, не могли бы вы еще раз проверить зависимости? Например, смотрите последние обновления приложения здесь enter image description here

Соответствующий репозиторий Maven для проверки наличия (последнего) Java-клиента: https://mvnrepository.com/artifact/io.appium/java-client

...