如何在Spring Boot中使用Appium AndroidDriver?

时间:2018-11-19 08:34:48

标签: android spring selenium spring-boot appium

我正在使用Vue作为FE,Springboot作为BE,Selenium和Appium作为测试框架来构建自动化测试工具。主要目的是将Web和android测试集成在一个webapp中。

问题在于,在我添加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框架和bean配置有关。

有没有人可以解释发生了什么以及如何解决?

0 个答案:

没有答案