|
@@ -7,6 +7,7 @@ import io.appium.java_client.android.Activity;
|
|
|
import io.appium.java_client.android.AndroidDriver;
|
|
|
import io.appium.java_client.touch.WaitOptions;
|
|
|
import io.appium.java_client.touch.offset.PointOption;
|
|
|
+import org.apache.xpath.operations.Bool;
|
|
|
import org.openqa.selenium.Point;
|
|
|
import org.openqa.selenium.WebElement;
|
|
|
import org.openqa.selenium.remote.DesiredCapabilities;
|
|
@@ -77,13 +78,340 @@ public class AppiumUtil {
|
|
|
try {
|
|
|
// AndroidDriver androidDriver = appiumUtil.initAndroidDriver("http://39.106.184.70:4723/wd/hub", "183.131.157.66:10005", "com.smile.gifmaker", "com.yxcorp.login.userlogin.QuickLoginActivity");
|
|
|
AndroidDriver androidDriver = appiumUtil.initAndroidDriver("http://39.106.184.70:4723/wd/hub", "183.131.157.66:10005", "com.smile.gifmaker", "com.yxcorp.gifshow.HomeActivity");
|
|
|
- appiumUtil.loginKuaishou(androidDriver);
|
|
|
+// appiumUtil.loginKuaishou(androidDriver);
|
|
|
+ appiumUtil.loginTask(androidDriver, null, null);
|
|
|
// appiumUtil.test(androidDriver);
|
|
|
} catch (Exception e) {
|
|
|
-
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
+ }
|
|
|
+
|
|
|
+ public Boolean loginTask(AndroidDriver androidDriver, String settoken, String setmobile) throws Exception {
|
|
|
+ Thread.sleep(5000);
|
|
|
+ String token = settoken;
|
|
|
+ String mobile = setmobile;
|
|
|
+ String pkg = androidDriver.getCurrentPackage();
|
|
|
+ String activity = androidDriver.currentActivity();
|
|
|
+ System.out.println("当前包:" + pkg);
|
|
|
+ System.out.println("当前activity:" + activity);
|
|
|
+ Boolean isContinue = true;
|
|
|
+ if (pkg.equals("com.android.packageinstaller")) {
|
|
|
+ switch (activity) {
|
|
|
+ case ".permission.ui.GrantPermissionsActivity":
|
|
|
+ WebElement permissionAllowBtn = getElementById(androidDriver, "com.android.packageinstaller:id/permission_allow_button");
|
|
|
+ if (permissionAllowBtn != null) {
|
|
|
+ permissionAllowBtn.click();
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case ".PackageInstallerActivity":
|
|
|
+ WebElement okBtn = getElementById(androidDriver, "com.android.packageinstaller:id/ok_button");
|
|
|
+ if (okBtn != null) {
|
|
|
+ okBtn.click();
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case ".InstallAppProgress":
|
|
|
+ WebElement centerText = getElementById(androidDriver, "com.android.packageinstaller:id/center_text");
|
|
|
+ WebElement doneBtn = getElementById(androidDriver, "com.android.packageinstaller:id/done_button");
|
|
|
+
|
|
|
+ if (centerText != null) {
|
|
|
+ System.out.println(centerText.getText());
|
|
|
+ }
|
|
|
+ if (doneBtn != null) {
|
|
|
+ doneBtn.click();
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ isContinue = false;
|
|
|
+ System.out.println("当前activity无法处理");
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ } else if (pkg.equals("com.smile.gifmaker")) {
|
|
|
+ WebElement positive = getElementById(androidDriver, "com.smile.gifmaker:id/positive");
|
|
|
+ if (positive != null) {
|
|
|
+ positive.click();
|
|
|
+ }
|
|
|
+
|
|
|
+ switch (activity) {
|
|
|
+ case "com.yxcorp.gifshow.webview.KwaiWebViewActivity":
|
|
|
+// WebElement leftTv = getElementById(androidDriver,"com.smile.gifmaker:id/left_tv");
|
|
|
+ WebElement leftBtn1 = getElementById(androidDriver, "com.smile.gifmaker:id/left_btn");
|
|
|
+ if (leftBtn1 != null) {
|
|
|
+ leftBtn1.click();
|
|
|
+ }
|
|
|
+// if (leftTv != null){
|
|
|
+// leftTv.click();
|
|
|
+// }
|
|
|
+ break;
|
|
|
+ case "com.yxcorp.gifshow.HomeActivity":
|
|
|
+
|
|
|
+ WebElement loginText = getElementById(androidDriver, "com.smile.gifmaker:id/login_text");
|
|
|
+ WebElement leftText = getElementById(androidDriver, "com.smile.gifmaker:id/left_text");
|
|
|
+ WebElement phoneLoginBtn = getElementById(androidDriver, "com.smile.gifmaker:id/phone_login_view");
|
|
|
+ WebElement leftBtn = getElementById(androidDriver, "com.smile.gifmaker:id/left_btn");
|
|
|
+ WebElement closeBtn = getElementById(androidDriver, "com.smile.gifmaker:id/close_btn");
|
|
|
+// WebElement qrcodeImage = getElementById(androidDriver,"com.smile.gifmaker:id/qr_code_image");
|
|
|
+// if(qrcodeImage != null){
|
|
|
+// qrcodeImage.click();
|
|
|
+// break;
|
|
|
+// }
|
|
|
+ if (closeBtn != null) {
|
|
|
+ closeBtn.click();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if (loginText != null) {
|
|
|
+ loginText.click();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if (leftText != null) {
|
|
|
+ leftText.click();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if (phoneLoginBtn != null) {
|
|
|
+ phoneLoginBtn.click();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if (leftBtn != null) {
|
|
|
+ leftBtn.click();
|
|
|
+ Thread.sleep(5000);
|
|
|
+ WebElement tabAvatar = getElementById(androidDriver, "com.smile.gifmaker:id/tab_avatar");
|
|
|
+ if (tabAvatar != null) {
|
|
|
+ tabAvatar.click();
|
|
|
+ } else {
|
|
|
+ Thread.sleep(3000);
|
|
|
+ tapPoint(androidDriver, 650, 1230);
|
|
|
+ Thread.sleep(3000);
|
|
|
+ tapPoint(androidDriver, 650, 1230);
|
|
|
+ Thread.sleep(3000);
|
|
|
+// WebElement qrCodeImage = getElementById(androidDriver,"com.smile.gifmaker:id/qr_code_image");
|
|
|
+// if(qrCodeImage != null){
|
|
|
+//
|
|
|
+// }
|
|
|
+ tapPoint(androidDriver, 650, 400);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "com.yxcorp.gifshow.profile.activity.MyProfileActivity":
|
|
|
+// WebElement qrCodeImage = getElementById(androidDriver,"com.smile.gifmaker:id/qr_code_image");
|
|
|
+ WebElement loadingTitle = getElementById(androidDriver, "com.smile.gifmaker:id/loading_title");
|
|
|
+ if (loadingTitle != null) {
|
|
|
+ System.out.println(loadingTitle.getText());
|
|
|
+ }
|
|
|
+ tapPoint(androidDriver, 650, 400);
|
|
|
+// if(qrCodeImage != null){
|
|
|
+//
|
|
|
+// }
|
|
|
+ break;
|
|
|
+ case "com.yxcorp.plugin.qrcode.MyQRCodeActivity":
|
|
|
+ WebElement kwaiId = getElementById(androidDriver, "com.smile.gifmaker:id/kwai_id");
|
|
|
+ if (kwaiId != null) {
|
|
|
+ System.out.println(kwaiId.getText());
|
|
|
+ isContinue = false;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "com.yxcorp.gifshow.activity.BrowseSettingsActivity":
|
|
|
+ //com.smile.gifmaker:id/browse_setting_new_btn 开启大屏模式 关闭大屏模式
|
|
|
+ //com.smile.gifmaker:id/left_btn 返回
|
|
|
+ break;
|
|
|
+ case "com.yxcorp.login.userlogin.LoginActivity":
|
|
|
+ WebElement loginTitleTv = getElementById(androidDriver, "com.smile.gifmaker:id/login_title_tv");
|
|
|
+ WebElement loginNameEt = getElementById(androidDriver, "com.smile.gifmaker:id/login_name_et");
|
|
|
+ WebElement nextView = getElementById(androidDriver, "com.smile.gifmaker:id/next_view");
|
|
|
+// WebElement forgetPsdBtn = getElementById(androidDriver,"com.smile.gifmaker:id/forget_psd_btn");
|
|
|
|
|
|
+ if (loginTitleTv != null) {
|
|
|
+ System.out.println(loginTitleTv.getText());
|
|
|
+ if (loginTitleTv.getText().equals("输入密码")) {
|
|
|
+ WebElement forgetPsdBtn = getElementById(androidDriver, "com.smile.gifmaker:id/forget_psd_btn");
|
|
|
+ if (forgetPsdBtn != null) {
|
|
|
+ forgetPsdBtn.click();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (loginNameEt != null) {
|
|
|
+ token = KuaimiUtil.kuaimiLogin();
|
|
|
+ mobile = KuaimiUtil.getMobile(token, "2307");
|
|
|
+ loginNameEt.sendKeys(mobile);
|
|
|
+ Thread.sleep(5000);
|
|
|
+ nextView.click();
|
|
|
+ }
|
|
|
+// if(forgetPsdBtn != null){
|
|
|
+// forgetPsdBtn.click();
|
|
|
+// }
|
|
|
+// if(mobile != null){
|
|
|
+// KuaimiUtil.cancelRecv(token,"2307",mobile);
|
|
|
+// }
|
|
|
+ break;
|
|
|
+ case "com.yxcorp.login.userlogin.RetrievePasswordActivity":
|
|
|
+ WebElement nameEt = getElementById(androidDriver, "com.smile.gifmaker:id/name_et");
|
|
|
+ if (nameEt != null) {
|
|
|
+// token = KuaimiUtil.kuaimiLogin();
|
|
|
+// mobile = KuaimiUtil.getMobile(token, "2307");
|
|
|
+// nameEt.sendKeys(mobile);
|
|
|
+ Thread.sleep(5000);
|
|
|
+ WebElement verifyTv = getElementById(androidDriver, "com.smile.gifmaker:id/verify_tv");
|
|
|
+ if (verifyTv != null) {
|
|
|
+ verifyTv.click();
|
|
|
+ int i = 0;
|
|
|
+ String msg = null;
|
|
|
+ while (i < 20) {
|
|
|
+ i++;
|
|
|
+ if (msg != null) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ msg = KuaimiUtil.getMessage(token, "2307", mobile);
|
|
|
+ } catch (Exception e) {
|
|
|
+ System.out.println("等待" + mobile + "短信验证码");
|
|
|
+ Thread.sleep(5000);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (msg != null) {
|
|
|
+ WebElement verifyEt = getElementById(androidDriver, "com.smile.gifmaker:id/verify_et");
|
|
|
+ if (verifyEt != null) {
|
|
|
+ verifyEt.sendKeys(msg);
|
|
|
+ Thread.sleep(5000);
|
|
|
+ WebElement confirmBtn = getElementById(androidDriver, "com.smile.gifmaker:id/confirm_btn");
|
|
|
+ if (confirmBtn != null) {
|
|
|
+ confirmBtn.click();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "com.yxcorp.login.userlogin.ResetSelectedAccountPasswordActivity":
|
|
|
+ WebElement confirmBtn = getElementById(androidDriver, "com.smile.gifmaker:id/confirm_btn");
|
|
|
+ WebElement loginPsdEt = getElementById(androidDriver, "com.smile.gifmaker:id/login_psd_et");
|
|
|
+ if (loginPsdEt != null) {
|
|
|
+ loginPsdEt.sendKeys("a123456");
|
|
|
+ Thread.sleep(5000);
|
|
|
+ if (confirmBtn != null) {
|
|
|
+ confirmBtn.click();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "com.yxcorp.login.userlogin.MultiLoginAccountSelectActivity":
|
|
|
+ WebElement iconOne = getElementById(androidDriver, "com.smile.gifmaker:id/icon_one");
|
|
|
+ if (iconOne != null) {
|
|
|
+ iconOne.click();
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "com.yxcorp.login.userlogin.RegisterUserInfoSettingActivity":
|
|
|
+ //com.smile.gifmaker:id/right_btn
|
|
|
+ WebElement rightBtn = getElementById(androidDriver, "com.smile.gifmaker:id/right_btn");
|
|
|
+ if (rightBtn != null) {
|
|
|
+ rightBtn.click();
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "com.yxcorp.gifshow.activity.InterestTagActivity":
|
|
|
+ WebElement closeIv = getElementById(androidDriver, "com.smile.gifmaker:id/close_iv");
|
|
|
+ if (closeIv != null) {
|
|
|
+ closeIv.click();
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "com.yxcorp.login.userlogin.QuickLoginActivity":
|
|
|
+ WebElement phoneLoginView = getElementById(androidDriver, "com.smile.gifmaker:id/phone_login_view");
|
|
|
+ if (phoneLoginView != null) {
|
|
|
+ phoneLoginView.click();
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "com.yxcorp.login.userlogin.FullScreenLoginActivity":
|
|
|
+ WebElement phoneOneKeyLoginBtn = getElementById(androidDriver, "com.smile.gifmaker:id/phone_one_key_login_btn");
|
|
|
+ if (phoneOneKeyLoginBtn != null) {
|
|
|
+ phoneOneKeyLoginBtn.click();
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "com.yxcorp.login.userlogin.CaptchaCodeLoginActivity":
|
|
|
+ WebElement captchaEt = getElementById(androidDriver, "com.smile.gifmaker:id/captcha_et");
|
|
|
+ if (captchaEt != null) {
|
|
|
+ int i = 0;
|
|
|
+ String msg = null;
|
|
|
+ while (i < 20) {
|
|
|
+ i++;
|
|
|
+ if (msg != null) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ msg = KuaimiUtil.getMessage(token, "2307", mobile);
|
|
|
+ } catch (Exception e) {
|
|
|
+ System.out.println("等待" + mobile + "短信验证码");
|
|
|
+ Thread.sleep(5000);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (msg != null) {
|
|
|
+ captchaEt.sendKeys(msg);
|
|
|
+ Thread.sleep(5000);
|
|
|
+ WebElement captchaFinish = getElementById(androidDriver, "com.smile.gifmaker:id/captcha_finish");
|
|
|
+ if (captchaFinish != null) {
|
|
|
+ captchaFinish.click();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //com.smile.gifmaker:id/captcha_et
|
|
|
+ //com.smile.gifmaker:id/captcha_finish
|
|
|
+ //com.smile.gifmaker:id/captcha_title 验证码已发送至+86 18349780352
|
|
|
+ break;
|
|
|
+ case "com.yxcorp.login.userlogin.PhoneLoginV2Activity":
|
|
|
+ WebElement phoneEt = getElementById(androidDriver, "com.smile.gifmaker:id/phone_et");
|
|
|
+ if (phoneEt != null) {
|
|
|
+ token = KuaimiUtil.kuaimiLogin();
|
|
|
+ mobile = KuaimiUtil.getMobile(token, "2307");
|
|
|
+ phoneEt.sendKeys(mobile);
|
|
|
+ Thread.sleep(5000);
|
|
|
+ WebElement fetchCodeTv = getElementById(androidDriver, "com.smile.gifmaker:id/fetch_code_tv");
|
|
|
+ if (fetchCodeTv != null) {
|
|
|
+ fetchCodeTv.click();
|
|
|
+ int i = 0;
|
|
|
+ String msg = null;
|
|
|
+ while (i < 20) {
|
|
|
+ i++;
|
|
|
+ if (msg != null) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ msg = KuaimiUtil.getMessage(token, "2307", mobile);
|
|
|
+ } catch (Exception e) {
|
|
|
+ System.out.println("等待" + mobile + "短信验证码");
|
|
|
+ Thread.sleep(5000);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (msg != null) {
|
|
|
+ WebElement captchaCodeEt = getElementById(androidDriver, "com.smile.gifmaker:id/captcha_code_et");
|
|
|
+ if (captchaCodeEt != null) {
|
|
|
+ captchaCodeEt.sendKeys(msg);
|
|
|
+ Thread.sleep(5000);
|
|
|
+ WebElement cfmBtn = getElementById(androidDriver, "com.smile.gifmaker:id/confirm_btn");
|
|
|
+ if (cfmBtn != null) {
|
|
|
+ cfmBtn.click();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ isContinue = false;
|
|
|
+ System.out.println("当前activity无法处理");
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ } else if (pkg.equals("cn.com.longene.www.myapplication")) {
|
|
|
+ switch (activity) {
|
|
|
+ case ".MainActivity":
|
|
|
+ isContinue = false;
|
|
|
+ System.out.println("快手已崩溃");
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ isContinue = false;
|
|
|
+ System.out.println("当前activity无法处理");
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ System.out.println("当前包为非操作包:" + pkg);
|
|
|
+ }
|
|
|
+ if (isContinue) {
|
|
|
+ isContinue = loginTask(androidDriver, token, mobile);
|
|
|
+ }
|
|
|
+ return isContinue;
|
|
|
}
|
|
|
|
|
|
public void test(AndroidDriver androidDriver) throws Exception {
|