Я создаю инструмент для автоматизации тестирования, используя Vue как FE, Springboot как BE, Selenium и Appium как Test Framework.Основная цель - объединить веб-тестирование и тестирование Android в одном веб-приложении.
Проблема в том, что, прежде чем я добавлю Appium, все, что связано с веб-интерфейсом, работает нормально.Когда я добавляю зависимость от appium и пытаюсь создать драйвер Android, консоль продолжает посылать мне такие ошибки:
java.lang.ClassNotFoundException: org.openqa.selenium.remote.BeanToJsonConverter
Вот код моего контроллера:
@Autowired
private DriverService driverService;
@PostMapping("/start")
@ResponseBody
public List<ReportStep> start(@RequestBody Step[] steps) throws MalformedURLException {
WebDriver webDriver;
AndroidDriver<AndroidElement> androidDriver = null;
webDriver = new ChromeDriver();
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability("automationName", "Appium");
cap.setCapability("deviceName", "192.168.171.101:5555");
cap.setCapability("platformName", "Android");
cap.setCapability("platformVersion", "8.0");
cap.setCapability("appPackage", "com.tencent.mm");
cap.setCapability("appActivity", ".ui.LauncherUI");
cap.setCapability("unicodeKeyboard", "True");
cap.setCapability("resetKeyboard", "True");
cap.setCapability("noReset", "true");
cap.setCapability("newCommandTimeout", "60");
androidDriver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), cap);
List<ReportStep> reportStepList = driverService.runSteps(webDriver,androidDriver,steps);
return reportStepList;
}
Консольсказал мне, что
androidDriver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), cap);
не может быть инициализирован.
Если я скопирую этот код в простой Java-проект, он будет работать хорошо, поэтому я думаю, что это что-то о Spring Frameworkи bean config.
Кто-нибудь может объяснить, что происходит и как это исправить?