|
@@ -1,533 +1,470 @@
|
|
|
-package cn.com.ctop.crawler.modules.test;
|
|
|
-
|
|
|
-import com.google.gson.Gson;
|
|
|
-import io.appium.java_client.TouchAction;
|
|
|
-import io.appium.java_client.android.AndroidDriver;
|
|
|
-import io.appium.java_client.touch.WaitOptions;
|
|
|
-import io.appium.java_client.touch.offset.PointOption;
|
|
|
-import lombok.Data;
|
|
|
-import org.openqa.selenium.Point;
|
|
|
-import org.openqa.selenium.WebElement;
|
|
|
-import org.openqa.selenium.remote.DesiredCapabilities;
|
|
|
-
|
|
|
-import java.net.MalformedURLException;
|
|
|
-import java.net.URL;
|
|
|
-import java.time.Duration;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-
|
|
|
-@Data
|
|
|
-public class AppiumTest {
|
|
|
- private Boolean isLoop = true;
|
|
|
- private Duration duration = Duration.ofSeconds(1);
|
|
|
-
|
|
|
- public void swipeToUp(AndroidDriver driver) {
|
|
|
- int width = driver.manage().window().getSize().width;
|
|
|
- int height = driver.manage().window().getSize().height;
|
|
|
- TouchAction action1 = new TouchAction(driver).press(PointOption.point(width / 2, height * 3 / 4)).waitAction(WaitOptions.waitOptions(duration))
|
|
|
- .moveTo(PointOption.point(width / 2, height / 4)).release();
|
|
|
- action1.perform();
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- public void swipeToDown(AndroidDriver driver) {
|
|
|
- int width = driver.manage().window().getSize().width;
|
|
|
- int height = driver.manage().window().getSize().height;
|
|
|
- TouchAction action2 = new TouchAction(driver).press(PointOption.point(width / 2, height / 4)).waitAction(WaitOptions.waitOptions(duration))
|
|
|
- .moveTo(PointOption.point(width / 2, height * 3 / 4)).release();
|
|
|
- action2.perform();
|
|
|
- }
|
|
|
-
|
|
|
- public void swipeToLeft(AndroidDriver driver) {
|
|
|
- int width = driver.manage().window().getSize().width;
|
|
|
- int height = driver.manage().window().getSize().height;
|
|
|
- TouchAction action3 = new TouchAction(driver).press(PointOption.point(width * 3 / 4, height / 2)).waitAction(WaitOptions.waitOptions(duration))
|
|
|
- .moveTo(PointOption.point(width / 4, height / 2)).release();
|
|
|
- action3.perform();
|
|
|
- }
|
|
|
-
|
|
|
- public void tapPoint(AndroidDriver driver, Integer x, Integer y) {
|
|
|
- TouchAction action = new TouchAction(driver).tap(PointOption.point(x, y)).release();
|
|
|
- action.perform();
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- public void swipeToRight(AndroidDriver driver) {
|
|
|
- int width = driver.manage().window().getSize().width;
|
|
|
- int height = driver.manage().window().getSize().height;
|
|
|
- TouchAction action4 = new TouchAction(driver).press(PointOption.point(width / 4, height / 2)).waitAction(WaitOptions.waitOptions(duration))
|
|
|
- .moveTo(PointOption.point(width * 3 / 4, height / 2)).release();
|
|
|
- action4.perform();
|
|
|
- }
|
|
|
-
|
|
|
- // "http://39.106.184.70:4723/wd/hub"
|
|
|
- public AndroidDriver initAndroidDriver(String serverUrl, String deviceName, String appPackage, String appActivity) throws Exception {
|
|
|
- return new AndroidDriver(new URL(serverUrl), initCapabilities(deviceName, appPackage, appActivity));
|
|
|
- }
|
|
|
-
|
|
|
- public DesiredCapabilities initCapabilities(String deviceName, String appPackage, String appActivity) {
|
|
|
- DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
|
|
|
- //指定测试设备的名称
|
|
|
-// desiredCapabilities.setCapability("deviceName", "127.0.0.1:62001");
|
|
|
-// desiredCapabilities.setCapability("deviceName", "183.131.157.66:10005");
|
|
|
- desiredCapabilities.setCapability("deviceName", deviceName);
|
|
|
- //添加操作系统配置
|
|
|
- desiredCapabilities.setCapability("platformName", "Android");
|
|
|
- //添加操作系统版本设置
|
|
|
-// desiredCapabilities.setCapability("platformVersion", "4.4.2");
|
|
|
- //指定想要测试应用的包名
|
|
|
-// desiredCapabilities.setCapability("appPackage", "com.smile.gifmaker");
|
|
|
- desiredCapabilities.setCapability("appPackage", appPackage);
|
|
|
- desiredCapabilities.setCapability("noReset", true);
|
|
|
- desiredCapabilities.setCapability("unicodeKeyboard", true);
|
|
|
- desiredCapabilities.setCapability("resetKeyboard", true);
|
|
|
- //指定想要测试应用的入口activity
|
|
|
-// desiredCapabilities.setCapability("appActivity", "com.yxcorp.gifshow.HomeActivity");
|
|
|
- desiredCapabilities.setCapability("appActivity", appActivity);
|
|
|
- return desiredCapabilities;
|
|
|
- }
|
|
|
-
|
|
|
- public List<AppiumTask> initTask() {
|
|
|
- List<AppiumTask> list = new ArrayList<>();
|
|
|
- AppiumTask appiumTask1 = new AppiumTask();
|
|
|
- appiumTask1.setFindType("class");
|
|
|
- appiumTask1.setFindKey("android.widget.CheckedTextView");
|
|
|
- appiumTask1.setClickType("element");
|
|
|
- appiumTask1.setLoopType("noloop");
|
|
|
- appiumTask1.setIsMust(true);
|
|
|
- appiumTask1.setWaitTime(3000L);
|
|
|
-
|
|
|
- AppiumTask appiumTask2 = new AppiumTask();
|
|
|
- appiumTask2.setFindType("xpath");
|
|
|
- appiumTask2.setFindKey("//android.view.View[@content-desc=\"发现\"]");
|
|
|
- appiumTask2.setClickType("element");
|
|
|
- appiumTask2.setLoopType("noloop");
|
|
|
- appiumTask2.setIsMust(true);
|
|
|
- appiumTask2.setWaitTime(3000L);
|
|
|
-
|
|
|
- AppiumTask appiumTask3 = new AppiumTask();
|
|
|
- appiumTask3.setFindType("id");
|
|
|
- appiumTask3.setFindKey("com.smile.gifmaker:id/subject");
|
|
|
- appiumTask3.setClickType("no");
|
|
|
- appiumTask3.setLoopType("loop");
|
|
|
- appiumTask3.setIsMust(true);
|
|
|
- appiumTask3.setSwapType("up");
|
|
|
-
|
|
|
- AppiumTask appiumTask31 = new AppiumTask();
|
|
|
- appiumTask31.setFindType("loop");
|
|
|
- appiumTask31.setClickType("point");
|
|
|
- appiumTask31.setLoopType("noloop");
|
|
|
- appiumTask31.setIsMust(false);
|
|
|
- appiumTask31.setTextEqualType("eq");
|
|
|
- appiumTask31.setTextEqualKey("广告");
|
|
|
- appiumTask31.setOffsiteX(-100);
|
|
|
- appiumTask31.setOffsiteY(-100);
|
|
|
- appiumTask31.setWaitTime(2000L);
|
|
|
-
|
|
|
-// AppiumTask appiumTask32 = new AppiumTask();
|
|
|
-// appiumTask32.setFindType("loop");
|
|
|
-// appiumTask32.setClickType("no");
|
|
|
-// appiumTask32.setLoopType("noloop");
|
|
|
-// appiumTask32.setIsMust(false);
|
|
|
-// appiumTask32.setTextEqualType("neq");
|
|
|
-// appiumTask32.setTextEqualKey("广告");
|
|
|
-//
|
|
|
-// AppiumTask appiumTask321 = new AppiumTask();
|
|
|
-// appiumTask321.setFindType("id");
|
|
|
-// appiumTask321.setFindKey("com.smile.gifmaker:id/back_btn");
|
|
|
-// appiumTask321.setClickType("element");
|
|
|
-// appiumTask321.setLoopType("noloop");
|
|
|
-// appiumTask321.setIsMust(false);
|
|
|
-
|
|
|
- AppiumTask appiumTask311 = new AppiumTask();
|
|
|
- appiumTask311.setFindType("loop");
|
|
|
- appiumTask311.setClickType("no");
|
|
|
- appiumTask311.setLoopType("noloop");
|
|
|
- appiumTask311.setIsMust(true);
|
|
|
- appiumTask311.setSwapType("up");
|
|
|
-
|
|
|
- AppiumTask appiumTask312 = new AppiumTask();
|
|
|
- appiumTask312.setFindType("id");
|
|
|
- appiumTask312.setWaitTime(5000L);
|
|
|
- appiumTask312.setFindKey("com.smile.gifmaker:id/ad_simplified_style_enhanced_ad_install_text");
|
|
|
- appiumTask312.setClickType("element");
|
|
|
- appiumTask312.setLoopType("noloop");
|
|
|
- appiumTask312.setIsMust(false);
|
|
|
-
|
|
|
-
|
|
|
- AppiumTask appiumTask3121 = new AppiumTask();
|
|
|
- appiumTask3121.setFindType("id");
|
|
|
- appiumTask3121.setFindKey("com.android.packageinstaller:id/ok_button");
|
|
|
- appiumTask3121.setClickType("element");
|
|
|
- appiumTask3121.setLoopType("noloop");
|
|
|
- appiumTask3121.setIsMust(true);
|
|
|
- appiumTask3121.setLoopRate(3000L);
|
|
|
-
|
|
|
- AppiumTask appiumTask3122 = new AppiumTask();
|
|
|
- appiumTask3122.setFindType("id");
|
|
|
- appiumTask3122.setFindKey("com.android.packageinstaller:id/launch_button");
|
|
|
- appiumTask3122.setClickType("element");
|
|
|
- appiumTask3122.setLoopType("noloop");
|
|
|
- appiumTask3122.setIsMust(true);
|
|
|
- appiumTask3121.setLoopRate(3000L);
|
|
|
-
|
|
|
- AppiumTask appiumTask3124 = new AppiumTask();
|
|
|
- appiumTask3124.setFindType("id");
|
|
|
- appiumTask3124.setFindKey("com.android.packageinstaller:id/permission_allow_button");
|
|
|
- appiumTask3124.setClickType("element");
|
|
|
- appiumTask3124.setLoopType("noloop");
|
|
|
- appiumTask3124.setIsMust(false);
|
|
|
- appiumTask3124.setWaitTime(3000L);
|
|
|
-
|
|
|
- AppiumTask appiumTask3125 = new AppiumTask();
|
|
|
- appiumTask3125.setFindType("id");
|
|
|
- appiumTask3125.setFindKey("com.android.packageinstaller:id/permission_allow_button");
|
|
|
- appiumTask3125.setClickType("element");
|
|
|
- appiumTask3125.setLoopType("noloop");
|
|
|
- appiumTask3125.setIsMust(false);
|
|
|
- appiumTask3125.setWaitTime(3000L);
|
|
|
-
|
|
|
- AppiumTask appiumTask3126 = new AppiumTask();
|
|
|
- appiumTask3126.setFindType("id");
|
|
|
- appiumTask3126.setFindKey("com.android.packageinstaller:id/permission_allow_button");
|
|
|
- appiumTask3126.setClickType("element");
|
|
|
- appiumTask3126.setLoopType("noloop");
|
|
|
- appiumTask3126.setIsMust(false);
|
|
|
- appiumTask3126.setWaitTime(3000L);
|
|
|
-
|
|
|
- AppiumTask appiumTask3127 = new AppiumTask();
|
|
|
- appiumTask3127.setFindType("id");
|
|
|
- appiumTask3127.setFindKey("com.android.packageinstaller:id/permission_allow_button");
|
|
|
- appiumTask3127.setClickType("element");
|
|
|
- appiumTask3127.setLoopType("noloop");
|
|
|
- appiumTask3127.setIsMust(false);
|
|
|
- appiumTask3127.setWaitTime(3000L);
|
|
|
- appiumTask3127.setIsClose(true);
|
|
|
-
|
|
|
- List<AppiumTask> subList4 = new ArrayList<>();
|
|
|
- subList4.add(appiumTask3121);
|
|
|
- subList4.add(appiumTask3122);
|
|
|
-// subList4.add(appiumTask3123);
|
|
|
- subList4.add(appiumTask3124);
|
|
|
- subList4.add(appiumTask3125);
|
|
|
- subList4.add(appiumTask3126);
|
|
|
- subList4.add(appiumTask3127);
|
|
|
- appiumTask312.setSubTask(subList4);
|
|
|
-
|
|
|
- List<AppiumTask> subList3 = new ArrayList<>();
|
|
|
- subList3.add(appiumTask311);
|
|
|
- subList3.add(appiumTask312);
|
|
|
- appiumTask31.setSubTask(subList3);
|
|
|
-
|
|
|
-// List<AppiumTask> subList2 = new ArrayList<>();
|
|
|
-// subList2.add(appiumTask321);
|
|
|
-// appiumTask32.setSubTask(subList2);
|
|
|
-
|
|
|
- List<AppiumTask> subList1 = new ArrayList<>();
|
|
|
- subList1.add(appiumTask31);
|
|
|
-// subList1.add(appiumTask32);
|
|
|
- appiumTask3.setSubTask(subList1);
|
|
|
-
|
|
|
- list.add(appiumTask1);
|
|
|
- list.add(appiumTask2);
|
|
|
- list.add(appiumTask3);
|
|
|
- return list;
|
|
|
- }
|
|
|
-
|
|
|
- public void t() {
|
|
|
- try {
|
|
|
-// AndroidDriver androidDriver = initAndroidDriver("http://39.106.184.70:4723/wd/hub","183.131.157.66:10005","com.smile.gifmaker","com.yxcorp.gifshow.HomeActivity");
|
|
|
- AndroidDriver androidDriver = initAndroidDriver("http://39.106.184.70:4723/wd/hub", "183.131.157.66:10005", "com.smile.gifmaker", "com.yxcorp.gifshow.HomeActivity");
|
|
|
-
|
|
|
- List<AppiumTask> list = initTask();
|
|
|
- for (AppiumTask task : list) {
|
|
|
- runTask(androidDriver, task, null);
|
|
|
- }
|
|
|
- androidDriver.quit();
|
|
|
- System.out.println("task success");
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- public void runTask(AndroidDriver androidDriver, AppiumTask appiumTask, WebElement loopElement) throws Exception {
|
|
|
- if (appiumTask != null) {
|
|
|
- System.out.println(new Gson().toJson(appiumTask));
|
|
|
- if (appiumTask.getWaitTime() != null && appiumTask.getWaitTime() > 0) {
|
|
|
- Thread.sleep(appiumTask.getWaitTime());
|
|
|
- }
|
|
|
- if (appiumTask.getLoopType() != null && "noloop".equals(appiumTask.getLoopType())) {
|
|
|
- if (appiumTask.getFindType() != null) {
|
|
|
- WebElement element = null;
|
|
|
- if ("id".equals(appiumTask.getFindType())) {
|
|
|
- element = getElementById(androidDriver, appiumTask.getFindKey());
|
|
|
- } else if ("class".equals(appiumTask.getFindType())) {
|
|
|
- element = getElementByClass(androidDriver, appiumTask.getFindKey());
|
|
|
- } else if ("xpath".equals(appiumTask.getFindType())) {
|
|
|
- element = getElementByXpath(androidDriver, appiumTask.getFindKey());
|
|
|
- } else if ("loop".equals(appiumTask.getFindType())) {
|
|
|
- element = loopElement;
|
|
|
- }
|
|
|
- if (element != null) {
|
|
|
- if (appiumTask.getTextEqualType() != null) {
|
|
|
- if ("eq".equals(appiumTask.getTextEqualType())) {
|
|
|
- if (!element.getText().equals(appiumTask.getTextEqualKey())) {
|
|
|
- return;
|
|
|
- }
|
|
|
- } else if ("neq".equals(appiumTask.getTextEqualType())) {
|
|
|
- if (element.getText() == null || element.getText().equals(appiumTask.getTextEqualKey())) {
|
|
|
- return;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if (appiumTask.getClickType() != null) {
|
|
|
- if ("element".equals(appiumTask.getClickType())) {
|
|
|
- element.click();
|
|
|
- } else if ("point".equals(appiumTask.getClickType())) {
|
|
|
- Point point = element.getLocation();
|
|
|
- tapPoint(androidDriver, point.getX() + appiumTask.getOffsiteX(), point.getY() + appiumTask.getOffsiteY());
|
|
|
- }
|
|
|
- }
|
|
|
- List<AppiumTask> subTask = appiumTask.getSubTask();
|
|
|
- if (subTask != null && subTask.size() > 0) {
|
|
|
- for (AppiumTask task : subTask) {
|
|
|
- runTask(androidDriver, task, element);
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (appiumTask.getIsMust() != null && appiumTask.getIsMust() == true) {
|
|
|
- if (appiumTask.getLoopRate() != null && appiumTask.getLoopRate() > 0) {
|
|
|
- Thread.sleep(appiumTask.getLoopRate());
|
|
|
- }
|
|
|
- runTask(androidDriver, appiumTask, element);
|
|
|
- return;
|
|
|
- }
|
|
|
- if (appiumTask.getClickType() != null && "point".equals(appiumTask.getClickType())) {
|
|
|
- tapPoint(androidDriver, appiumTask.getOffsiteX(), appiumTask.getOffsiteY());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if (appiumTask.getSwapType() != null) {
|
|
|
- if ("up".equals(appiumTask.getSwapType())) {
|
|
|
- this.swipeToUp(androidDriver);
|
|
|
- } else if ("down".equals(appiumTask.getSwapType())) {
|
|
|
- this.swipeToDown(androidDriver);
|
|
|
- } else if ("left".equals(appiumTask.getSwapType())) {
|
|
|
- this.swipeToLeft(androidDriver);
|
|
|
- } else if ("right".equals(appiumTask.getSwapType())) {
|
|
|
- this.swipeToRight(androidDriver);
|
|
|
- }
|
|
|
- }
|
|
|
- } else if (appiumTask.getLoopType() != null && "loop".equals(appiumTask.getLoopType())) {
|
|
|
- while (isLoop) {
|
|
|
- System.out.println("loop:" + isLoop);
|
|
|
- if (appiumTask.getFindType() != null) {
|
|
|
- List<WebElement> list = null;
|
|
|
- if ("id".equals(appiumTask.getFindType())) {
|
|
|
- list = androidDriver.findElementsById(appiumTask.getFindKey());
|
|
|
- } else if ("class".equals(appiumTask.getFindType())) {
|
|
|
- list = androidDriver.findElementsByClassName(appiumTask.getFindKey());
|
|
|
- } else if ("xpath".equals(appiumTask.getFindType())) {
|
|
|
- list = androidDriver.findElementsByXPath(appiumTask.getFindKey());
|
|
|
- }
|
|
|
- if (list != null && list.size() > 0) {
|
|
|
- for (WebElement element : list) {
|
|
|
- if (!isLoop) {
|
|
|
- break;
|
|
|
- }
|
|
|
- if (appiumTask.getLoopRate() != null && appiumTask.getLoopRate() > 0) {
|
|
|
- Thread.sleep(appiumTask.getLoopRate());
|
|
|
- }
|
|
|
- List<AppiumTask> subTask = appiumTask.getSubTask();
|
|
|
- if (subTask != null && subTask.size() > 0) {
|
|
|
- for (AppiumTask task : subTask) {
|
|
|
- runTask(androidDriver, task, element);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if (appiumTask.getSwapType() != null) {
|
|
|
- if ("up".equals(appiumTask.getSwapType())) {
|
|
|
- this.swipeToUp(androidDriver);
|
|
|
- } else if ("down".equals(appiumTask.getSwapType())) {
|
|
|
- this.swipeToDown(androidDriver);
|
|
|
- } else if ("left".equals(appiumTask.getSwapType())) {
|
|
|
- this.swipeToLeft(androidDriver);
|
|
|
- } else if ("right".equals(appiumTask.getSwapType())) {
|
|
|
- this.swipeToRight(androidDriver);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- if (appiumTask.getIsClose() != null && appiumTask.getIsClose()) {
|
|
|
- this.isLoop = false;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- public static void main(String[] args) throws MalformedURLException, InterruptedException {
|
|
|
- // TODO Auto-generated method stub
|
|
|
- //1.添加配置,创建DesiredCapabilities对象
|
|
|
- AppiumTest appiumTest = new AppiumTest();
|
|
|
- appiumTest.t();
|
|
|
- //2.创建驱动...URL是appium的固定地址;指定appium通讯的地址,将相对应的配置传入到驱动里边
|
|
|
-
|
|
|
-// com.longene.lglocation/.activity.MainActivity
|
|
|
-// com.longene.setcardproperty/.MainActivity
|
|
|
- //打开地图后点击同意继续
|
|
|
-// androidDriver.findElementById("com.smile.gifmaker:id/button").click();
|
|
|
- //点击进入地图
|
|
|
- //加线程等待
|
|
|
-// Thread.sleep(5000);
|
|
|
-// while (true){
|
|
|
-// try {
|
|
|
-// AndroidDriver androidDriver = appiumTest.initAndroidDriver("http://39.106.184.70:4723/wd/hub","","","");
|
|
|
-//
|
|
|
-// List<WebElement> list = androidDriver.findElementsByClassName("android.widget.CheckedTextView");
|
|
|
-// if(list != null && list.size() > 0){
|
|
|
-// list.get(0).click();
|
|
|
-// }
|
|
|
+//package cn.com.ctop.crawler.modules.test;
|
|
|
+//
|
|
|
+//import cn.com.ctop.crawler.modules.core.util.AppiumUtil;
|
|
|
+//import com.google.gson.Gson;
|
|
|
+//import io.appium.java_client.TouchAction;
|
|
|
+//import io.appium.java_client.android.AndroidDriver;
|
|
|
+//import io.appium.java_client.touch.WaitOptions;
|
|
|
+//import io.appium.java_client.touch.offset.PointOption;
|
|
|
+//import lombok.Data;
|
|
|
+//import org.openqa.selenium.Point;
|
|
|
+//import org.openqa.selenium.WebElement;
|
|
|
+//import org.openqa.selenium.remote.DesiredCapabilities;
|
|
|
+//
|
|
|
+//import java.net.MalformedURLException;
|
|
|
+//import java.net.URL;
|
|
|
+//import java.time.Duration;
|
|
|
+//import java.util.ArrayList;
|
|
|
+//import java.util.List;
|
|
|
+//
|
|
|
+//@Data
|
|
|
+//public class AppiumTest {
|
|
|
+// private Boolean isLoop = true;
|
|
|
+// private Duration duration = Duration.ofSeconds(1);
|
|
|
+//
|
|
|
+//
|
|
|
+//
|
|
|
+// // "http://39.106.184.70:4723/wd/hub"
|
|
|
+// public AndroidDriver initAndroidDriver(String serverUrl, String deviceName, String appPackage, String appActivity) throws Exception {
|
|
|
+// return new AndroidDriver(new URL(serverUrl), initCapabilities(deviceName, appPackage, appActivity));
|
|
|
+// }
|
|
|
+//
|
|
|
+// public DesiredCapabilities initCapabilities(String deviceName, String appPackage, String appActivity) {
|
|
|
+// DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
|
|
|
+// //指定测试设备的名称
|
|
|
+//// desiredCapabilities.setCapability("deviceName", "127.0.0.1:62001");
|
|
|
+//// desiredCapabilities.setCapability("deviceName", "183.131.157.66:10005");
|
|
|
+// desiredCapabilities.setCapability("deviceName", deviceName);
|
|
|
+// //添加操作系统配置
|
|
|
+// desiredCapabilities.setCapability("platformName", "Android");
|
|
|
+// //添加操作系统版本设置
|
|
|
+//// desiredCapabilities.setCapability("platformVersion", "4.4.2");
|
|
|
+// //指定想要测试应用的包名
|
|
|
+//// desiredCapabilities.setCapability("appPackage", "com.smile.gifmaker");
|
|
|
+// desiredCapabilities.setCapability("appPackage", appPackage);
|
|
|
+// desiredCapabilities.setCapability("noReset", true);
|
|
|
+// desiredCapabilities.setCapability("unicodeKeyboard", true);
|
|
|
+// desiredCapabilities.setCapability("resetKeyboard", true);
|
|
|
+// //指定想要测试应用的入口activity
|
|
|
+//// desiredCapabilities.setCapability("appActivity", "com.yxcorp.gifshow.HomeActivity");
|
|
|
+// desiredCapabilities.setCapability("appActivity", appActivity);
|
|
|
+// return desiredCapabilities;
|
|
|
+// }
|
|
|
+//
|
|
|
+// public List<AppiumTask> initTask() {
|
|
|
+// List<AppiumTask> list = new ArrayList<>();
|
|
|
+// AppiumTask appiumTask1 = new AppiumTask();
|
|
|
+// appiumTask1.setFindType("class");
|
|
|
+// appiumTask1.setFindKey("android.widget.CheckedTextView");
|
|
|
+// appiumTask1.setClickType("element");
|
|
|
+// appiumTask1.setLoopType("noloop");
|
|
|
+// appiumTask1.setIsMust(true);
|
|
|
+// appiumTask1.setWaitTime(3000L);
|
|
|
+//
|
|
|
+// AppiumTask appiumTask2 = new AppiumTask();
|
|
|
+// appiumTask2.setFindType("xpath");
|
|
|
+// appiumTask2.setFindKey("//android.view.View[@content-desc=\"发现\"]");
|
|
|
+// appiumTask2.setClickType("element");
|
|
|
+// appiumTask2.setLoopType("noloop");
|
|
|
+// appiumTask2.setIsMust(true);
|
|
|
+// appiumTask2.setWaitTime(3000L);
|
|
|
+//
|
|
|
+// AppiumTask appiumTask3 = new AppiumTask();
|
|
|
+// appiumTask3.setFindType("id");
|
|
|
+// appiumTask3.setFindKey("com.smile.gifmaker:id/subject");
|
|
|
+// appiumTask3.setClickType("no");
|
|
|
+// appiumTask3.setLoopType("loop");
|
|
|
+// appiumTask3.setIsMust(true);
|
|
|
+// appiumTask3.setSwapType("up");
|
|
|
+//
|
|
|
+// AppiumTask appiumTask31 = new AppiumTask();
|
|
|
+// appiumTask31.setFindType("loop");
|
|
|
+// appiumTask31.setClickType("point");
|
|
|
+// appiumTask31.setLoopType("noloop");
|
|
|
+// appiumTask31.setIsMust(false);
|
|
|
+// appiumTask31.setTextEqualType("eq");
|
|
|
+// appiumTask31.setTextEqualKey("广告");
|
|
|
+// appiumTask31.setOffsiteX(-100);
|
|
|
+// appiumTask31.setOffsiteY(-100);
|
|
|
+// appiumTask31.setWaitTime(2000L);
|
|
|
+//
|
|
|
+//// AppiumTask appiumTask32 = new AppiumTask();
|
|
|
+//// appiumTask32.setFindType("loop");
|
|
|
+//// appiumTask32.setClickType("no");
|
|
|
+//// appiumTask32.setLoopType("noloop");
|
|
|
+//// appiumTask32.setIsMust(false);
|
|
|
+//// appiumTask32.setTextEqualType("neq");
|
|
|
+//// appiumTask32.setTextEqualKey("广告");
|
|
|
+////
|
|
|
+//// AppiumTask appiumTask321 = new AppiumTask();
|
|
|
+//// appiumTask321.setFindType("id");
|
|
|
+//// appiumTask321.setFindKey("com.smile.gifmaker:id/back_btn");
|
|
|
+//// appiumTask321.setClickType("element");
|
|
|
+//// appiumTask321.setLoopType("noloop");
|
|
|
+//// appiumTask321.setIsMust(false);
|
|
|
+//
|
|
|
+// AppiumTask appiumTask311 = new AppiumTask();
|
|
|
+// appiumTask311.setFindType("loop");
|
|
|
+// appiumTask311.setClickType("no");
|
|
|
+// appiumTask311.setLoopType("noloop");
|
|
|
+// appiumTask311.setIsMust(true);
|
|
|
+// appiumTask311.setSwapType("up");
|
|
|
+//
|
|
|
+// AppiumTask appiumTask312 = new AppiumTask();
|
|
|
+// appiumTask312.setFindType("id");
|
|
|
+// appiumTask312.setWaitTime(5000L);
|
|
|
+// appiumTask312.setFindKey("com.smile.gifmaker:id/ad_simplified_style_enhanced_ad_install_text");
|
|
|
+// appiumTask312.setClickType("element");
|
|
|
+// appiumTask312.setLoopType("noloop");
|
|
|
+// appiumTask312.setIsMust(false);
|
|
|
+//
|
|
|
+//
|
|
|
+// AppiumTask appiumTask3121 = new AppiumTask();
|
|
|
+// appiumTask3121.setFindType("id");
|
|
|
+// appiumTask3121.setFindKey("com.android.packageinstaller:id/ok_button");
|
|
|
+// appiumTask3121.setClickType("element");
|
|
|
+// appiumTask3121.setLoopType("noloop");
|
|
|
+// appiumTask3121.setIsMust(true);
|
|
|
+// appiumTask3121.setLoopRate(3000L);
|
|
|
+//
|
|
|
+// AppiumTask appiumTask3122 = new AppiumTask();
|
|
|
+// appiumTask3122.setFindType("id");
|
|
|
+// appiumTask3122.setFindKey("com.android.packageinstaller:id/launch_button");
|
|
|
+// appiumTask3122.setClickType("element");
|
|
|
+// appiumTask3122.setLoopType("noloop");
|
|
|
+// appiumTask3122.setIsMust(true);
|
|
|
+// appiumTask3121.setLoopRate(3000L);
|
|
|
+//
|
|
|
+// AppiumTask appiumTask3124 = new AppiumTask();
|
|
|
+// appiumTask3124.setFindType("id");
|
|
|
+// appiumTask3124.setFindKey("com.android.packageinstaller:id/permission_allow_button");
|
|
|
+// appiumTask3124.setClickType("element");
|
|
|
+// appiumTask3124.setLoopType("noloop");
|
|
|
+// appiumTask3124.setIsMust(false);
|
|
|
+// appiumTask3124.setWaitTime(3000L);
|
|
|
+//
|
|
|
+// AppiumTask appiumTask3125 = new AppiumTask();
|
|
|
+// appiumTask3125.setFindType("id");
|
|
|
+// appiumTask3125.setFindKey("com.android.packageinstaller:id/permission_allow_button");
|
|
|
+// appiumTask3125.setClickType("element");
|
|
|
+// appiumTask3125.setLoopType("noloop");
|
|
|
+// appiumTask3125.setIsMust(false);
|
|
|
+// appiumTask3125.setWaitTime(3000L);
|
|
|
+//
|
|
|
+// AppiumTask appiumTask3126 = new AppiumTask();
|
|
|
+// appiumTask3126.setFindType("id");
|
|
|
+// appiumTask3126.setFindKey("com.android.packageinstaller:id/permission_allow_button");
|
|
|
+// appiumTask3126.setClickType("element");
|
|
|
+// appiumTask3126.setLoopType("noloop");
|
|
|
+// appiumTask3126.setIsMust(false);
|
|
|
+// appiumTask3126.setWaitTime(3000L);
|
|
|
+//
|
|
|
+// AppiumTask appiumTask3127 = new AppiumTask();
|
|
|
+// appiumTask3127.setFindType("id");
|
|
|
+// appiumTask3127.setFindKey("com.android.packageinstaller:id/permission_allow_button");
|
|
|
+// appiumTask3127.setClickType("element");
|
|
|
+// appiumTask3127.setLoopType("noloop");
|
|
|
+// appiumTask3127.setIsMust(false);
|
|
|
+// appiumTask3127.setWaitTime(3000L);
|
|
|
+// appiumTask3127.setIsClose(true);
|
|
|
+//
|
|
|
+// List<AppiumTask> subList4 = new ArrayList<>();
|
|
|
+// subList4.add(appiumTask3121);
|
|
|
+// subList4.add(appiumTask3122);
|
|
|
+//// subList4.add(appiumTask3123);
|
|
|
+// subList4.add(appiumTask3124);
|
|
|
+// subList4.add(appiumTask3125);
|
|
|
+// subList4.add(appiumTask3126);
|
|
|
+// subList4.add(appiumTask3127);
|
|
|
+// appiumTask312.setSubTask(subList4);
|
|
|
+//
|
|
|
+// List<AppiumTask> subList3 = new ArrayList<>();
|
|
|
+// subList3.add(appiumTask311);
|
|
|
+// subList3.add(appiumTask312);
|
|
|
+// appiumTask31.setSubTask(subList3);
|
|
|
+//
|
|
|
+//// List<AppiumTask> subList2 = new ArrayList<>();
|
|
|
+//// subList2.add(appiumTask321);
|
|
|
+//// appiumTask32.setSubTask(subList2);
|
|
|
+//
|
|
|
+// List<AppiumTask> subList1 = new ArrayList<>();
|
|
|
+// subList1.add(appiumTask31);
|
|
|
+//// subList1.add(appiumTask32);
|
|
|
+// appiumTask3.setSubTask(subList1);
|
|
|
+//
|
|
|
+// list.add(appiumTask1);
|
|
|
+// list.add(appiumTask2);
|
|
|
+// list.add(appiumTask3);
|
|
|
+// return list;
|
|
|
+// }
|
|
|
+//
|
|
|
+// public void t() {
|
|
|
+// try {
|
|
|
+//// AndroidDriver androidDriver = initAndroidDriver("http://39.106.184.70:4723/wd/hub","183.131.157.66:10005","com.smile.gifmaker","com.yxcorp.gifshow.HomeActivity");
|
|
|
+// AndroidDriver androidDriver = initAndroidDriver("http://39.106.184.70:4723/wd/hub", "183.131.157.66:10005", "com.smile.gifmaker", "com.yxcorp.gifshow.HomeActivity");
|
|
|
+//
|
|
|
+// List<AppiumTask> list = initTask();
|
|
|
+// for (AppiumTask task : list) {
|
|
|
+// runTask(androidDriver, task, null);
|
|
|
+// }
|
|
|
+// androidDriver.quit();
|
|
|
+// System.out.println("task success");
|
|
|
+// } catch (Exception e) {
|
|
|
+// e.printStackTrace();
|
|
|
+// }
|
|
|
+//
|
|
|
//
|
|
|
-// List<WebElement> list1 = androidDriver.findElementsByXPath("//android.view.View[@content-desc=\"发现\"]");
|
|
|
-// if(list1 != null && list1.size() > 0){
|
|
|
-// list1.get(0).click();
|
|
|
+// }
|
|
|
+//
|
|
|
+// public void runTask(AndroidDriver androidDriver, AppiumTask appiumTask, WebElement loopElement) throws Exception {
|
|
|
+// if (appiumTask != null) {
|
|
|
+// System.out.println(new Gson().toJson(appiumTask));
|
|
|
+// if (appiumTask.getWaitTime() != null && appiumTask.getWaitTime() > 0) {
|
|
|
+// Thread.sleep(appiumTask.getWaitTime());
|
|
|
+// }
|
|
|
+// if (appiumTask.getLoopType() != null && "noloop".equals(appiumTask.getLoopType())) {
|
|
|
+// if (appiumTask.getFindType() != null) {
|
|
|
+// WebElement element = null;
|
|
|
+// if ("id".equals(appiumTask.getFindType())) {
|
|
|
+// element = AppiumUtil.getElementById(androidDriver, appiumTask.getFindKey());
|
|
|
+// } else if ("class".equals(appiumTask.getFindType())) {
|
|
|
+// element = getElementByClass(androidDriver, appiumTask.getFindKey());
|
|
|
+// } else if ("xpath".equals(appiumTask.getFindType())) {
|
|
|
+// element = getElementByXpath(androidDriver, appiumTask.getFindKey());
|
|
|
+// } else if ("loop".equals(appiumTask.getFindType())) {
|
|
|
+// element = loopElement;
|
|
|
+// }
|
|
|
+// if (element != null) {
|
|
|
+// if (appiumTask.getTextEqualType() != null) {
|
|
|
+// if ("eq".equals(appiumTask.getTextEqualType())) {
|
|
|
+// if (!element.getText().equals(appiumTask.getTextEqualKey())) {
|
|
|
+// return;
|
|
|
+// }
|
|
|
+// } else if ("neq".equals(appiumTask.getTextEqualType())) {
|
|
|
+// if (element.getText() == null || element.getText().equals(appiumTask.getTextEqualKey())) {
|
|
|
+// return;
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// if (appiumTask.getClickType() != null) {
|
|
|
+// if ("element".equals(appiumTask.getClickType())) {
|
|
|
+// element.click();
|
|
|
+// } else if ("point".equals(appiumTask.getClickType())) {
|
|
|
+// Point point = element.getLocation();
|
|
|
+// tapPoint(androidDriver, point.getX() + appiumTask.getOffsiteX(), point.getY() + appiumTask.getOffsiteY());
|
|
|
+// }
|
|
|
+// }
|
|
|
+// List<AppiumTask> subTask = appiumTask.getSubTask();
|
|
|
+// if (subTask != null && subTask.size() > 0) {
|
|
|
+// for (AppiumTask task : subTask) {
|
|
|
+// runTask(androidDriver, task, element);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// } else {
|
|
|
+// if (appiumTask.getIsMust() != null && appiumTask.getIsMust() == true) {
|
|
|
+// if (appiumTask.getLoopRate() != null && appiumTask.getLoopRate() > 0) {
|
|
|
+// Thread.sleep(appiumTask.getLoopRate());
|
|
|
+// }
|
|
|
+// runTask(androidDriver, appiumTask, element);
|
|
|
+// return;
|
|
|
+// }
|
|
|
+// if (appiumTask.getClickType() != null && "point".equals(appiumTask.getClickType())) {
|
|
|
+// tapPoint(androidDriver, appiumTask.getOffsiteX(), appiumTask.getOffsiteY());
|
|
|
+// }
|
|
|
+// }
|
|
|
// }
|
|
|
-// appiumTest.swipeToUp(androidDriver);
|
|
|
-//
|
|
|
-// Thread.sleep(2000);
|
|
|
-// List<WebElement> webElementList = androidDriver.findElementsById("com.smile.gifmaker:id/subject");
|
|
|
-// if(webElementList != null && webElementList.size() > 0){
|
|
|
-// for(WebElement element : webElementList){
|
|
|
-// if(element.getText().equals("广告")){
|
|
|
-// Point point = element.getLocation();
|
|
|
-// appiumTest.tapPoint(androidDriver,point.getX()-100,point.getY()-100);
|
|
|
-//// Thread.sleep(1000);
|
|
|
-//// androidDriver.findElementById("com.smile.gifmaker:id/like_button").click();
|
|
|
-//// Thread.sleep(1000);
|
|
|
-// appiumTest.swipeToUp(androidDriver);
|
|
|
-// Thread.sleep(5000);
|
|
|
-//// String text = androidDriver.findElementById("com.smile.gifmaker:id/label").getText();
|
|
|
-//// System.out.println(text);
|
|
|
-//// String title = text.split(":")[1].trim();
|
|
|
-//
|
|
|
-//// if(title.startsWith("超级有趣的小游戏")){
|
|
|
-//// Thread.sleep(1000);
|
|
|
-//// androidDriver.findElementById("com.smile.gifmaker:id/editor_holder_text").click();
|
|
|
-//// Thread.sleep(1000);
|
|
|
-//// androidDriver.findElementById("com.smile.gifmaker:id/editor").sendKeys("这个广告看着很吸引人!");
|
|
|
-//// Thread.sleep(1000);
|
|
|
-//// androidDriver.findElementById("com.smile.gifmaker:id/finish_button").click();
|
|
|
-// Thread.sleep(5000);
|
|
|
-// List<WebElement> webElement = androidDriver.findElementsById("com.smile.gifmaker:id/ad_simplified_style_enhanced_ad_install_text");
|
|
|
-// if (webElement != null && webElement.size() > 0){
|
|
|
-// webElement.get(0).click();
|
|
|
-// while (true){
|
|
|
-// Thread.sleep(5000);
|
|
|
-// List<WebElement> element1 = androidDriver.findElementsById("com.android.packageinstaller:id/ok_button");
|
|
|
-// if(element1 != null && element1.size() > 0){
|
|
|
-// System.out.println(element1.get(0).getText());
|
|
|
-// element1.get(0).click();
|
|
|
-// break;
|
|
|
-// }
|
|
|
-// }
|
|
|
-// while (true){
|
|
|
-// Thread.sleep(5000);
|
|
|
-// List<WebElement> element1 = androidDriver.findElementsById("com.android.packageinstaller:id/launch_button");
|
|
|
-// if(element1 != null && element1.size() > 0){
|
|
|
-// System.out.println(element1.get(0).getText());
|
|
|
-// element1.get(0).click();
|
|
|
-// break;
|
|
|
-// }
|
|
|
-// }
|
|
|
-// while (true){
|
|
|
-// Thread.sleep(5000);
|
|
|
-// List<WebElement> element1 = androidDriver.findElementsById("com.android.packageinstaller:id/permission_allow_button");
|
|
|
-// if (element1 != null && element1.size() > 0){
|
|
|
-// element1.get(0).click();
|
|
|
-// }else {
|
|
|
-// break;
|
|
|
-// }
|
|
|
-// }
|
|
|
-// Thread.sleep(5000);
|
|
|
-// List<WebElement> element1 = androidDriver.findElementsById("com.game.matrix_pixelpaint:id/nr");
|
|
|
-// if(element1 != null && element1.size() > 0){
|
|
|
-// element1.get(0).click();
|
|
|
-// }
|
|
|
-// for(int i = 0; i < 10;i++){
|
|
|
-// Thread.sleep(2000);
|
|
|
-// appiumTest.swipeToUp(androidDriver);
|
|
|
+// if (appiumTask.getSwapType() != null) {
|
|
|
+// if ("up".equals(appiumTask.getSwapType())) {
|
|
|
+// this.swipeToUp(androidDriver);
|
|
|
+// } else if ("down".equals(appiumTask.getSwapType())) {
|
|
|
+// this.swipeToDown(androidDriver);
|
|
|
+// } else if ("left".equals(appiumTask.getSwapType())) {
|
|
|
+// this.swipeToLeft(androidDriver);
|
|
|
+// } else if ("right".equals(appiumTask.getSwapType())) {
|
|
|
+// this.swipeToRight(androidDriver);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// } else if (appiumTask.getLoopType() != null && "loop".equals(appiumTask.getLoopType())) {
|
|
|
+// while (isLoop) {
|
|
|
+// System.out.println("loop:" + isLoop);
|
|
|
+// if (appiumTask.getFindType() != null) {
|
|
|
+// List<WebElement> list = null;
|
|
|
+// if ("id".equals(appiumTask.getFindType())) {
|
|
|
+// list = androidDriver.findElementsById(appiumTask.getFindKey());
|
|
|
+// } else if ("class".equals(appiumTask.getFindType())) {
|
|
|
+// list = androidDriver.findElementsByClassName(appiumTask.getFindKey());
|
|
|
+// } else if ("xpath".equals(appiumTask.getFindType())) {
|
|
|
+// list = androidDriver.findElementsByXPath(appiumTask.getFindKey());
|
|
|
+// }
|
|
|
+// if (list != null && list.size() > 0) {
|
|
|
+// for (WebElement element : list) {
|
|
|
+// if (!isLoop) {
|
|
|
+// break;
|
|
|
+// }
|
|
|
+// if (appiumTask.getLoopRate() != null && appiumTask.getLoopRate() > 0) {
|
|
|
+// Thread.sleep(appiumTask.getLoopRate());
|
|
|
+// }
|
|
|
+// List<AppiumTask> subTask = appiumTask.getSubTask();
|
|
|
+// if (subTask != null && subTask.size() > 0) {
|
|
|
+// for (AppiumTask task : subTask) {
|
|
|
+// runTask(androidDriver, task, element);
|
|
|
// }
|
|
|
-// System.out.println("操作完成");
|
|
|
-// }else {
|
|
|
-// androidDriver.findElementById("com.smile.gifmaker:id/back_btn").click();
|
|
|
// }
|
|
|
-// //按钮 com.smile.gifmaker:id/ad_simplified_style_enhanced_ad_install_text
|
|
|
-// //转化 com.smile.gifmaker:id/ad_simplified_style_enhanced_app_name_text
|
|
|
-// //喜欢 com.smile.gifmaker:id/like_button
|
|
|
-// //举报 com.smile.gifmaker:id/inform_button
|
|
|
-// //分享 com.smile.gifmaker:id/forward_button
|
|
|
-// //头像 com.smile.gifmaker:id/avatar
|
|
|
-// //返回 com.smile.gifmaker:id/back_btn
|
|
|
-// //昵称标题 com.smile.gifmaker:id/label
|
|
|
-// //评论数 com.smile.gifmaker:id/more_comments
|
|
|
-// //点赞数 com.smile.gifmaker:id/number_like
|
|
|
-// //播放数 com.smile.gifmaker:id/number_review
|
|
|
-// //新增评论 com.smile.gifmaker:id/text_top
|
|
|
-// //评论内容 com.smile.gifmaker:id/editor
|
|
|
-// //评论提交 com.smile.gifmaker:id/finish_button
|
|
|
-//
|
|
|
-//// }else {
|
|
|
-//// System.out.println(title);
|
|
|
-//// androidDriver.findElementById("com.smile.gifmaker:id/back_btn").click();
|
|
|
-//// }
|
|
|
-//
|
|
|
-//
|
|
|
-//// Thread.sleep(5000);
|
|
|
-//// androidDriver.findElementById("com.smile.gifmaker:id/back_btn").click();
|
|
|
-//// System.out.println("广告坐标为:"+point.getX()+","+point.getY());
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// if (appiumTask.getSwapType() != null) {
|
|
|
+// if ("up".equals(appiumTask.getSwapType())) {
|
|
|
+// this.swipeToUp(androidDriver);
|
|
|
+// } else if ("down".equals(appiumTask.getSwapType())) {
|
|
|
+// this.swipeToDown(androidDriver);
|
|
|
+// } else if ("left".equals(appiumTask.getSwapType())) {
|
|
|
+// this.swipeToLeft(androidDriver);
|
|
|
+// } else if ("right".equals(appiumTask.getSwapType())) {
|
|
|
+// this.swipeToRight(androidDriver);
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
-// }catch (Exception e){
|
|
|
-// e.printStackTrace();
|
|
|
-// }
|
|
|
//
|
|
|
+// }
|
|
|
+// if (appiumTask.getIsClose() != null && appiumTask.getIsClose()) {
|
|
|
+// this.isLoop = false;
|
|
|
+// }
|
|
|
// }
|
|
|
-
|
|
|
-// androidDriver.findElementById("com.smile.gifmaker:id/player_cover").click();
|
|
|
-// Thread.sleep(5000);
|
|
|
-// //退出
|
|
|
-// androidDriver.quit();
|
|
|
- }
|
|
|
-
|
|
|
- public WebElement getElementById(AndroidDriver androidDriver, String id) {
|
|
|
- WebElement element = null;
|
|
|
- List<WebElement> elements = androidDriver.findElementsById(id);
|
|
|
- if (elements != null && elements.size() > 0) {
|
|
|
- element = elements.get(0);
|
|
|
- }
|
|
|
- return element;
|
|
|
- }
|
|
|
-
|
|
|
- public WebElement getElementByClass(AndroidDriver androidDriver, String className) {
|
|
|
- WebElement element = null;
|
|
|
- List<WebElement> elements = androidDriver.findElementsByClassName(className);
|
|
|
- if (elements != null && elements.size() > 0) {
|
|
|
- element = elements.get(0);
|
|
|
- }
|
|
|
- return element;
|
|
|
- }
|
|
|
-
|
|
|
- public WebElement getElementByXpath(AndroidDriver androidDriver, String xpath) {
|
|
|
- WebElement element = null;
|
|
|
- List<WebElement> elements = androidDriver.findElementsByXPath(xpath);
|
|
|
- if (elements != null && elements.size() > 0) {
|
|
|
- element = elements.get(0);
|
|
|
- }
|
|
|
- return element;
|
|
|
- }
|
|
|
-}
|
|
|
+// }
|
|
|
+//
|
|
|
+// public static void main(String[] args) throws MalformedURLException, InterruptedException {
|
|
|
+// // TODO Auto-generated method stub
|
|
|
+// //1.添加配置,创建DesiredCapabilities对象
|
|
|
+// AppiumTest appiumTest = new AppiumTest();
|
|
|
+// appiumTest.t();
|
|
|
+// //2.创建驱动...URL是appium的固定地址;指定appium通讯的地址,将相对应的配置传入到驱动里边
|
|
|
+//
|
|
|
+//// com.longene.lglocation/.activity.MainActivity
|
|
|
+//// com.longene.setcardproperty/.MainActivity
|
|
|
+// //打开地图后点击同意继续
|
|
|
+//// androidDriver.findElementById("com.smile.gifmaker:id/button").click();
|
|
|
+// //点击进入地图
|
|
|
+// //加线程等待
|
|
|
+//// Thread.sleep(5000);
|
|
|
+//// while (true){
|
|
|
+//// try {
|
|
|
+//// AndroidDriver androidDriver = appiumTest.initAndroidDriver("http://39.106.184.70:4723/wd/hub","","","");
|
|
|
+////
|
|
|
+//// List<WebElement> list = androidDriver.findElementsByClassName("android.widget.CheckedTextView");
|
|
|
+//// if(list != null && list.size() > 0){
|
|
|
+//// list.get(0).click();
|
|
|
+//// }
|
|
|
+////
|
|
|
+//// List<WebElement> list1 = androidDriver.findElementsByXPath("//android.view.View[@content-desc=\"发现\"]");
|
|
|
+//// if(list1 != null && list1.size() > 0){
|
|
|
+//// list1.get(0).click();
|
|
|
+//// }
|
|
|
+//// appiumTest.swipeToUp(androidDriver);
|
|
|
+////
|
|
|
+//// Thread.sleep(2000);
|
|
|
+//// List<WebElement> webElementList = androidDriver.findElementsById("com.smile.gifmaker:id/subject");
|
|
|
+//// if(webElementList != null && webElementList.size() > 0){
|
|
|
+//// for(WebElement element : webElementList){
|
|
|
+//// if(element.getText().equals("广告")){
|
|
|
+//// Point point = element.getLocation();
|
|
|
+//// appiumTest.tapPoint(androidDriver,point.getX()-100,point.getY()-100);
|
|
|
+////// Thread.sleep(1000);
|
|
|
+////// androidDriver.findElementById("com.smile.gifmaker:id/like_button").click();
|
|
|
+////// Thread.sleep(1000);
|
|
|
+//// appiumTest.swipeToUp(androidDriver);
|
|
|
+//// Thread.sleep(5000);
|
|
|
+////// String text = androidDriver.findElementById("com.smile.gifmaker:id/label").getText();
|
|
|
+////// System.out.println(text);
|
|
|
+////// String title = text.split(":")[1].trim();
|
|
|
+////
|
|
|
+////// if(title.startsWith("超级有趣的小游戏")){
|
|
|
+////// Thread.sleep(1000);
|
|
|
+////// androidDriver.findElementById("com.smile.gifmaker:id/editor_holder_text").click();
|
|
|
+////// Thread.sleep(1000);
|
|
|
+////// androidDriver.findElementById("com.smile.gifmaker:id/editor").sendKeys("这个广告看着很吸引人!");
|
|
|
+////// Thread.sleep(1000);
|
|
|
+////// androidDriver.findElementById("com.smile.gifmaker:id/finish_button").click();
|
|
|
+//// Thread.sleep(5000);
|
|
|
+//// List<WebElement> webElement = androidDriver.findElementsById("com.smile.gifmaker:id/ad_simplified_style_enhanced_ad_install_text");
|
|
|
+//// if (webElement != null && webElement.size() > 0){
|
|
|
+//// webElement.get(0).click();
|
|
|
+//// while (true){
|
|
|
+//// Thread.sleep(5000);
|
|
|
+//// List<WebElement> element1 = androidDriver.findElementsById("com.android.packageinstaller:id/ok_button");
|
|
|
+//// if(element1 != null && element1.size() > 0){
|
|
|
+//// System.out.println(element1.get(0).getText());
|
|
|
+//// element1.get(0).click();
|
|
|
+//// break;
|
|
|
+//// }
|
|
|
+//// }
|
|
|
+//// while (true){
|
|
|
+//// Thread.sleep(5000);
|
|
|
+//// List<WebElement> element1 = androidDriver.findElementsById("com.android.packageinstaller:id/launch_button");
|
|
|
+//// if(element1 != null && element1.size() > 0){
|
|
|
+//// System.out.println(element1.get(0).getText());
|
|
|
+//// element1.get(0).click();
|
|
|
+//// break;
|
|
|
+//// }
|
|
|
+//// }
|
|
|
+//// while (true){
|
|
|
+//// Thread.sleep(5000);
|
|
|
+//// List<WebElement> element1 = androidDriver.findElementsById("com.android.packageinstaller:id/permission_allow_button");
|
|
|
+//// if (element1 != null && element1.size() > 0){
|
|
|
+//// element1.get(0).click();
|
|
|
+//// }else {
|
|
|
+//// break;
|
|
|
+//// }
|
|
|
+//// }
|
|
|
+//// Thread.sleep(5000);
|
|
|
+//// List<WebElement> element1 = androidDriver.findElementsById("com.game.matrix_pixelpaint:id/nr");
|
|
|
+//// if(element1 != null && element1.size() > 0){
|
|
|
+//// element1.get(0).click();
|
|
|
+//// }
|
|
|
+//// for(int i = 0; i < 10;i++){
|
|
|
+//// Thread.sleep(2000);
|
|
|
+//// appiumTest.swipeToUp(androidDriver);
|
|
|
+//// }
|
|
|
+//// System.out.println("操作完成");
|
|
|
+//// }else {
|
|
|
+//// androidDriver.findElementById("com.smile.gifmaker:id/back_btn").click();
|
|
|
+//// }
|
|
|
+//// //按钮 com.smile.gifmaker:id/ad_simplified_style_enhanced_ad_install_text
|
|
|
+//// //转化 com.smile.gifmaker:id/ad_simplified_style_enhanced_app_name_text
|
|
|
+//// //喜欢 com.smile.gifmaker:id/like_button
|
|
|
+//// //举报 com.smile.gifmaker:id/inform_button
|
|
|
+//// //分享 com.smile.gifmaker:id/forward_button
|
|
|
+//// //头像 com.smile.gifmaker:id/avatar
|
|
|
+//// //返回 com.smile.gifmaker:id/back_btn
|
|
|
+//// //昵称标题 com.smile.gifmaker:id/label
|
|
|
+//// //评论数 com.smile.gifmaker:id/more_comments
|
|
|
+//// //点赞数 com.smile.gifmaker:id/number_like
|
|
|
+//// //播放数 com.smile.gifmaker:id/number_review
|
|
|
+//// //新增评论 com.smile.gifmaker:id/text_top
|
|
|
+//// //评论内容 com.smile.gifmaker:id/editor
|
|
|
+//// //评论提交 com.smile.gifmaker:id/finish_button
|
|
|
+////
|
|
|
+////// }else {
|
|
|
+////// System.out.println(title);
|
|
|
+////// androidDriver.findElementById("com.smile.gifmaker:id/back_btn").click();
|
|
|
+////// }
|
|
|
+////
|
|
|
+////
|
|
|
+////// Thread.sleep(5000);
|
|
|
+////// androidDriver.findElementById("com.smile.gifmaker:id/back_btn").click();
|
|
|
+////// System.out.println("广告坐标为:"+point.getX()+","+point.getY());
|
|
|
+//// }
|
|
|
+//// }
|
|
|
+//// }
|
|
|
+//// }catch (Exception e){
|
|
|
+//// e.printStackTrace();
|
|
|
+//// }
|
|
|
+////
|
|
|
+//// }
|
|
|
+//
|
|
|
+//// androidDriver.findElementById("com.smile.gifmaker:id/player_cover").click();
|
|
|
+//// Thread.sleep(5000);
|
|
|
+//// //退出
|
|
|
+//// androidDriver.quit();
|
|
|
+// }
|
|
|
+//}
|