Gần đây tôi đã bắt đầu xem xét thực hiện một số thử nghiệm chức năng với Appium. Tôi muốn chạy các bài kiểm tra Appium thông qua Android studio thông qua gradle.Thử nghiệm Android với Appium và Gradle
Có ai cố gắng để làm điều này và nếu như vậy bạn có thể cho tôi một số thông tin về việc thiết lập, chẳng hạn như những nhiệm vụ gradle sử dụng vv
Tôi đã bao gồm các phụ thuộc cần thiết trong xây dựng của tôi file:
androidTestCompile ('io.appium: java-client: 2.0.0')
tôi có một bài kiểm tra mẫu dưới đây, tôi chỉ cần một cách để chạy nó qua gradle :)
package com.appium.trial;
import junit.framework.Assert;
import io.appium.java_client.AppiumDriver;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit;
public class TrialTest {
private static WebDriver wd;
@Before
public void setUp() {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("appium-version", "1.0");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("platformVersion", "4.4");
capabilities.setCapability("deviceName", "Samsung Galaxy S4 - 4.2.2 - API 17 - 1080x1920");
capabilities.setCapability("app", "/Users/chuckster/Documents/Dev/AppiumTrial/appium-trial.apk");
capabilities.setCapability("appPackage", "com.appium.trial");
capabilities.setCapability("appActivity", "com.appium.trial.TrialTest");
try {
wd = new AppiumDriver(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);
} catch (MalformedURLException e) {
e.printStackTrace();
}
wd.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
}
@Test
public static void testThatClickingTheMotorSectionLeadsToSubSection(){
wd.findElement(By.xpath("//android.widget.LinearLayout[1]/android.widget.FrameLayout[2]/android.widget.RelativeLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.ScrollView[1]/android.widget.RelativeLayout[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[5]/android.widget.TextView[1]")).click();
wd.close();
}
@After
public void tearDown() {
if (wd != null) {
wd.quit();
}
}
}