|
@@ -3,66 +3,70 @@ package net.mooctest.www.android_auto_test.common;
|
|
|
import com.sun.tools.javac.Main;
|
|
|
|
|
|
import java.io.File;
|
|
|
+import java.io.IOException;
|
|
|
import java.lang.reflect.Method;
|
|
|
import java.net.MalformedURLException;
|
|
|
import java.net.URL;
|
|
|
|
|
|
+import groovy.lang.GroovyClassLoader;
|
|
|
+import groovy.lang.GroovyObject;
|
|
|
import io.appium.java_client.AppiumDriver;
|
|
|
import io.appium.java_client.android.AndroidDriver;
|
|
|
-import net.mooctest.www.android_auto_test.common.constant.Consts;
|
|
|
-import net.mooctest.www.android_auto_test.common.exceptions.AppiumDriverInitException;
|
|
|
-import net.mooctest.www.android_auto_test.utils.DeviceUtil;
|
|
|
-import net.mooctest.www.android_auto_test.utils.PrintUtil;
|
|
|
-import org.openqa.selenium.WebDriverException;
|
|
|
import org.openqa.selenium.remote.CapabilityType;
|
|
|
import org.openqa.selenium.remote.DesiredCapabilities;
|
|
|
-import org.openqa.selenium.remote.UnreachableBrowserException;
|
|
|
|
|
|
import javax.tools.JavaCompiler;
|
|
|
import javax.tools.ToolProvider;
|
|
|
|
|
|
public class FuckingTest {
|
|
|
public static void main(String args[]){
|
|
|
- JavaCompiler javac = ToolProvider.getSystemJavaCompiler();
|
|
|
- int status = javac.run(null, null, null, "-d", "target/classes","scripts/Main.java");
|
|
|
- if(status!=0){
|
|
|
- System.out.println("没有编译成功!");
|
|
|
- }
|
|
|
-
|
|
|
- AppiumDriver d = initDriver();
|
|
|
-
|
|
|
+ Inner i = new Inner();
|
|
|
try {
|
|
|
- Class thisClass = Class.forName("ttt.Main");
|
|
|
- Object iClass = thisClass.newInstance();
|
|
|
- Method thisMethod = thisClass.getDeclaredMethod("test", AppiumDriver.class);
|
|
|
- thisMethod.setAccessible(true);
|
|
|
- thisMethod.invoke(iClass, d);
|
|
|
- }
|
|
|
- catch (Exception e) {
|
|
|
+ i.test2();
|
|
|
+ } catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public static AppiumDriver initDriver(){
|
|
|
- File app = new File("tasks/30000/趣头条_3.9.59.000.1231.1404.apk");
|
|
|
- DesiredCapabilities capabilities = new DesiredCapabilities();
|
|
|
- capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
|
|
|
- capabilities.setCapability("platformName", "Android");
|
|
|
- capabilities.setCapability("deviceName", "Android Emulator");
|
|
|
- capabilities.setCapability("platformVersion", "4.1.2");
|
|
|
- capabilities.setCapability("app", app.getAbsolutePath());
|
|
|
- capabilities.setCapability("appPackage", "com.jifen.qukan");
|
|
|
- capabilities.setCapability("appActivity", "com.jifen.qkbase.main.MainActivity");
|
|
|
- capabilities.setCapability("udid","66J5T19401004951");
|
|
|
- capabilities.setCapability("unicodeKeyboard","true");
|
|
|
- capabilities.setCapability("resetKeyboard","true");
|
|
|
- capabilities.setCapability("noSign", "true");
|
|
|
- AppiumDriver d = null;
|
|
|
- try {
|
|
|
- d = new AndroidDriver(new URL("http://127.0.0.1:" + 8888 + "/wd/hub"), capabilities);
|
|
|
- } catch (MalformedURLException e) {
|
|
|
- e.printStackTrace();
|
|
|
+ static class Inner{
|
|
|
+ private void test2() throws IOException, IllegalAccessException, InstantiationException {
|
|
|
+ AppiumDriver d = initDriver();
|
|
|
+
|
|
|
+ ClassLoader parent = getClass().getClassLoader();
|
|
|
+ GroovyClassLoader loader = new GroovyClassLoader(parent);
|
|
|
+ try {
|
|
|
+ Class groovyClass = loader.parseClass(new File("scripts/Main.java"));
|
|
|
+
|
|
|
+ GroovyObject groovyObj = (GroovyObject) groovyClass.newInstance();
|
|
|
+
|
|
|
+ System.out.println( groovyObj.invokeMethod("test",d));
|
|
|
+ }catch (Exception e){
|
|
|
+ System.out.println(e.getClass());
|
|
|
+ }
|
|
|
+ System.out.println("end");
|
|
|
+ }
|
|
|
+
|
|
|
+ public static AppiumDriver initDriver(){
|
|
|
+ File app = new File("tasks/30001/趣头条_3.9.59.000.1231.1404.apk");
|
|
|
+ DesiredCapabilities capabilities = new DesiredCapabilities();
|
|
|
+ capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
|
|
|
+ capabilities.setCapability("platformName", "Android");
|
|
|
+ capabilities.setCapability("deviceName", "Android Emulator");
|
|
|
+ capabilities.setCapability("platformVersion", "4.1.2");
|
|
|
+ capabilities.setCapability("app", app.getAbsolutePath());
|
|
|
+ capabilities.setCapability("appPackage", "com.jifen.qukan");
|
|
|
+ capabilities.setCapability("appActivity", "com.jifen.qkbase.main.MainActivity");
|
|
|
+ capabilities.setCapability("udid","CLB0218724002507");
|
|
|
+ capabilities.setCapability("unicodeKeyboard","true");
|
|
|
+ capabilities.setCapability("resetKeyboard","true");
|
|
|
+ capabilities.setCapability("noSign", "true");
|
|
|
+ AppiumDriver d = null;
|
|
|
+ try {
|
|
|
+ d = new AndroidDriver(new URL("http://127.0.0.1:" + 8888 + "/wd/hub"), capabilities);
|
|
|
+ } catch (MalformedURLException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return d;
|
|
|
}
|
|
|
- return d;
|
|
|
}
|
|
|
}
|