网上有比较多相关教程,自己写一遍,加深下印象。
据说,很多人都被繁琐的环境搭建给吓到了。
是的,确实,繁琐。
网址
cmd输入node -v,出现下图说明成功。
网址
百度一下“配置Java”
cmd输入java -version,出现下图说明成功。
网址
百度一下"配置Android SDK环境变量"
cmd输入adb,出现下图说明成功。
网址1 / 网址2
网址
百度一下“maven环境配置”
cmd输入mvn -version,出现下图说明成功。
网址
网址
把Android SDK目录下\platform-tools的adb.exe拷贝
打开Nox\bin目录
粘贴替换adb.exe
打开模拟器
cmd输入adb connect 127.0.0.1:62001
再输入adb devices
网址
下载后,apk文件存放在某目录下即可。
将apk文件直接拖入安卓模拟器中。
至此,环境搭建完毕,共安装了8个程序。
打开IntelliJ
创建maven项目
点击ok后,复制下面代码到pom.xm中
io.appiumjava-client4.1.2org.testngtestng6.14.2
复制粘贴下面代码
import org.testng.annotations.Test; import org.testng.annotations.BeforeClass; import org.testng.annotations.AfterClass; import io.appium.java_client.AppiumDriver; import io.appium.java_client.android.AndroidDriver; import java.net.URL; import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; public class AppDemo { private AppiumDriver driver; @BeforeClass public void setup() throws Exception { DesiredCapabilities cap = new DesiredCapabilities(); cap.setCapability(CapabilityType.BROWSER_NAME, ""); cap.setCapability("platformName", "Android"); //指定测试平台 cap.setCapability("deviceName", "127.0.0.1:62001"); //指定测试机的ID,通过adb命令`adb devices`获取 cap.setCapability("platformVersion", "5.1.1"); //将上面获取到的包名和Activity名设置为值 cap.setCapability("appPackage", "com.youdao.calculator"); cap.setCapability("appActivity", "com.youdao.calculator.activities.MainActivity"); // //A new session could not be created的解决方法 // cap.setCapability("appWaitActivity", "com.meizu.flyme.calculator.Calculator"); // //每次启动时覆盖session,否则第二次后运行会报错不能新建session // cap.setCapability("sessionOverride", true); driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap); } @Test public void plus() throws Exception { Thread.sleep(3000); int width = driver.manage().window().getSize().width; int height = driver.manage().window().getSize().height; int x0 = (int)(width * 0.8); // 起始x坐标 int x1 = (int)(height * 0.2); // 终止x坐标 int y = (int)(height * 0.5); // y坐标 for (int i=0; i<5; i++) { driver.swipe(x0, y, x1, y, 500); Thread.sleep(1000); } driver.findElementById("com.youdao.calculator:id/guide_button").click(); for (int i=0; i<6; i++) { driver.findElementByXPath("//android.webkit.WebView[@text='Mathbot Editor']").click(); Thread.sleep(1000); } String btn_xpath = "//*[@resource-id='com.youdao.calculator:id/view_pager_keyboard']/android.widget.GridView/android.widget.FrameLayout[%d]/android.widget.FrameLayout"; driver.findElementByXPath(String.format(btn_xpath, 7)).click(); driver.findElementByXPath(String.format(btn_xpath, 10)).click(); driver.findElementByXPath(String.format(btn_xpath, 8)).click(); Thread.sleep(3000); } @AfterClass public void tearDown() throws Exception { driver.quit(); } }
文件右键run
然后可以看到脚本在跑了
打开安卓模拟器
一会就看到
计算器app在自己动了!