网上有比较多相关教程,自己写一遍,加深下印象。
环境搭建
据说,很多人都被繁琐的环境搭建给吓到了。
是的,确实,繁琐。
node.js
网址
cmd输入node -v,出现下图说明成功。

JDK
网址
百度一下“配置Java”
cmd输入java -version,出现下图说明成功。

Android SDK
网址


百度一下"配置Android SDK环境变量"
cmd输入adb,出现下图说明成功。

Appium Desktop
网址1 / 网址2


Maven
网址
百度一下“maven环境配置”
cmd输入mvn -version,出现下图说明成功。

IntelliJ IDEA
网址
安卓模拟器
网址
把Android SDK目录下platform-tools的adb.exe拷贝
打开Noxbin目录
粘贴替换adb.exe
打开模拟器
cmd输入adb connect 127.0.0.1:62001

再输入adb devices

有道计算器
网址
下载后,apk文件存放在某目录下即可。
将apk文件直接拖入安卓模拟器中。


至此,环境搭建完毕,共安装了8个程序。
实现步骤
打开IntelliJ
创建maven项目





点击ok后,复制下面代码到pom.xm中
<dependencies>
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.14.2</version>
</dependency>
</dependencies>




复制粘贴下面代码
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,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在自己动了! (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|