Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import io.appium.java_client.MobileElement;
- import io.appium.java_client.TouchAction;
- import io.appium.java_client.android.AndroidDriver;
- import io.appium.java_client.android.AndroidElement;
- import io.appium.java_client.remote.MobileCapabilityType;
- import io.appium.java_client.touch.offset.PointOption;
- import org.openqa.selenium.remote.DesiredCapabilities;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.util.Random;
- import java.util.concurrent.TimeUnit;
- /*
- Software necessário:
- - Android Studio (para o Android SDK)
- - Um IDE de Java (Intellij IDEA, por exemplo)
- - Emulador Android (que funcione bem com ADB, genymotion for personal use é uma boa opção)
- - Appium Desktop
- Vídeos de referência:
- - https://www.youtube.com/watch?v=Qxts1w8uR1M
- -https://www.youtube.com/watch?v=i1tQ1pjEFWw
- */
- public class tiktoktest {
- public static void delay(int start, int end) throws InterruptedException {
- Random rand = new Random();
- TimeUnit.SECONDS.sleep(rand.nextInt(end - start) + start);
- }
- public static void main(String args[]) throws MalformedURLException, InterruptedException {
- DesiredCapabilities dc = new DesiredCapabilities();
- Random rand = new Random();
- // o que aparece com `adb devices`
- dc.setCapability(MobileCapabilityType.DEVICE_NAME, "192.168.56.101:5555");
- dc.setCapability("platformName", "android");
- // package da app a automatizar
- dc.setCapability("appPackage", "com.zhiliaoapp.musically");
- // activity da app, fazer adb logcat para um ficheiro e procurar por "for activity"
- //dc.setCapability("appActivity", "com.ss.android.ugc.aweme.main.MainActivity");
- dc.setCapability("appActivity", "com.ss.android.ugc.aweme.splash.SplashActivity");
- // Impedir que o Appium reset a app data e cache a cada automatização
- dc.setCapability("noReset", "true");
- dc.setCapability("fullReset", "false");
- AndroidDriver<AndroidElement> driver = new AndroidDriver<AndroidElement>(new URL("http://127.0.0.1:4723/wd/hub"), dc);
- // Automatizações começam aqui, comecei a usar por coordenadas porque localizar elementos por xpath de vez em quando
- delay(5, 7);
- (new TouchAction(driver)).tap(PointOption.point(318,1693)).perform();
- delay(4, 7);
- (new TouchAction(driver)).tap(PointOption.point(162, 132)).perform();
- delay(4, 7);
- (new TouchAction(driver)).tap(PointOption.point(175, 266)).perform();
- delay(4, 7);
- //(new TouchAction(driver)).tap(117, 920).perform();
- (new TouchAction(driver)).tap(PointOption.point(117,920)).perform();
- delay(4, 7);
- (new TouchAction(driver)).tap(PointOption.point(544, 734)).perform();
- delay(4, 7);
- //(new TouchAction(driver)).tap(916, 408).perform();
- (new TouchAction(driver)).tap(PointOption.point(916,408)).perform();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement