最近在研究appium,里面的client端代码可以用java来写,于是我就想用clojure来写,原本也没写过java,就按照网上的教程进行转换,但是遇到下面的我就不知道怎么转换了。
appium给的例子如下:
import java.io.File;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.MobileElement;
import java.net.URL;
File app = new File("The absolute or relative path to an *.apk file");
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "Android Emulator");
capabilities.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());
capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, MobilePlatform.ANDROID);
//you are free to set additional capabilities
AppiumDriver<MobileElement> driver = new AppiumDriver<>(
new URL("http://target_ip:used_port/wd/hub"), //if it needs to use locally started server
//then the target_ip is 127.0.0.1 or 0.0.0.0
//the default port is 4723
capabilities);
我做了一些转换,但是不知道MobileCapabilityType这个该如何进行转换,我查了相关资料,这个应该是java的一个interface;一般都是这样使用:
public interface MobileCapabilityType
extends org.openqa.selenium.remote.CapabilityType
我知道class如何包含进clojure里面来,但是不知道这个interface该如何进行转换,我在clojure里面该如何调用?