|
@@ -0,0 +1,530 @@
|
|
|
+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://127.0.0.1:4723/wd/hub", "127.0.0.1:62001", "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 && appiumTask.getLoopType().equals("noloop")) {
|
|
|
+ if (appiumTask.getFindType() != null) {
|
|
|
+ WebElement element = null;
|
|
|
+ if (appiumTask.getFindType().equals("id")) {
|
|
|
+ element = getElementById(androidDriver, appiumTask.getFindKey());
|
|
|
+ } else if (appiumTask.getFindType().equals("class")) {
|
|
|
+ element = getElementByClass(androidDriver, appiumTask.getFindKey());
|
|
|
+ } else if (appiumTask.getFindType().equals("xpath")) {
|
|
|
+ element = getElementByXpath(androidDriver, appiumTask.getFindKey());
|
|
|
+ } else if (appiumTask.getFindType().equals("loop")) {
|
|
|
+ element = loopElement;
|
|
|
+ }
|
|
|
+ if (element != null) {
|
|
|
+ if (appiumTask.getTextEqualType() != null) {
|
|
|
+ if (appiumTask.getTextEqualType().equals("eq")) {
|
|
|
+ if (!element.getText().equals(appiumTask.getTextEqualKey())) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ } else if (appiumTask.getTextEqualType().equals("neq")) {
|
|
|
+ if (element.getText() == null || element.getText().equals(appiumTask.getTextEqualKey())) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (appiumTask.getClickType() != null) {
|
|
|
+ if (appiumTask.getClickType().equals("element")) {
|
|
|
+ element.click();
|
|
|
+ } else if (appiumTask.getClickType().equals("point")) {
|
|
|
+ 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.getSwapType() != null) {
|
|
|
+ if (appiumTask.getSwapType().equals("up")) {
|
|
|
+ this.swipeToUp(androidDriver);
|
|
|
+ } else if (appiumTask.getSwapType().equals("down")) {
|
|
|
+ this.swipeToDown(androidDriver);
|
|
|
+ } else if (appiumTask.getSwapType().equals("left")) {
|
|
|
+ this.swipeToLeft(androidDriver);
|
|
|
+ } else if (appiumTask.getSwapType().equals("right")) {
|
|
|
+ this.swipeToRight(androidDriver);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (appiumTask.getLoopType() != null && appiumTask.getLoopType().equals("loop")) {
|
|
|
+ while (isLoop) {
|
|
|
+ System.out.println("loop:" + isLoop);
|
|
|
+ if (appiumTask.getFindType() != null) {
|
|
|
+ List<WebElement> list = null;
|
|
|
+ if (appiumTask.getFindType().equals("id")) {
|
|
|
+ list = androidDriver.findElementsById(appiumTask.getFindKey());
|
|
|
+ } else if (appiumTask.getFindType().equals("class")) {
|
|
|
+ list = androidDriver.findElementsByClassName(appiumTask.getFindKey());
|
|
|
+ } else if (appiumTask.getFindType().equals("xpath")) {
|
|
|
+ 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 (appiumTask.getSwapType().equals("up")) {
|
|
|
+ this.swipeToUp(androidDriver);
|
|
|
+ } else if (appiumTask.getSwapType().equals("down")) {
|
|
|
+ this.swipeToDown(androidDriver);
|
|
|
+ } else if (appiumTask.getSwapType().equals("left")) {
|
|
|
+ this.swipeToLeft(androidDriver);
|
|
|
+ } else if (appiumTask.getSwapType().equals("right")) {
|
|
|
+ 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();
|
|
|
+// }
|
|
|
+//
|
|
|
+// 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();
|
|
|
+ }
|
|
|
+
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+}
|