Appium自动化测Android studio模拟器App(基于mac及IntelliJ Idea)
Tips
入门新手小白,就是来记录一下,时隔有点久,很多都忘了,写的也不算详细。欢迎大家纠正。
一.Appium下载与安装
这边网上已经写的很详细,就不再阐述了,主要是当时自己安装的时候,没有截屏做记录。如果能找到,还有相应的好的mac安装链接会再来编辑的。但是请下载Appium Desktop…别去终端下载appium…两者的区别,小白觉得一个就是clion写代码一个就是终端写代码。而且appium安装虐了我两星期,最后还是gg了没办法连接到android模拟器。然后在小伙伴的帮助下,desktop就很方便。翻墙在youtube上也有相应的安装视频。
二. Appium desktop使用
1.允许软件,选择第一个放大镜的图标
2. 输入对应的信息,再Start Session
{
"platformName": "Android",
"platformVersion": "7.0",
"deviceName": "Nexus",
"noRest": "true",
"appPackage": "com.example.dingluxin.timeline",
"appActivity": "com.example.dingluxin.timeline.LoginActivity",
"app": "/Users/greenxiaye2/Desktop/Timeline/app/build/outputs/apk/debug/debug.apk"
}
也可以通过Send key去传值模拟一下,还可以按上面的小眼睛去start recording,随便点击操作,自动生成代码,但是emmm实用性一般,应该是自己还不太会用。等等。
三. 用java基于Appium写测试
不知道为什么一写下滑模拟不了,所以用java开始写
//上滑
TouchAction action2 = new TouchAction(driver)
.press(PointOption.point(width / 2, height / 4)).waitAction(WaitOptions.waitOptions(duration))
.moveTo(PointOption.point(width / 2, height * 3 / 4)).release();
action2.perform();
System.out.println("上滑好了");
for (int i = 1; i < 2; i++) {
Thread.sleep(1000);
}
//下滑到更多 两次
for(int i=0;i<2;i++){
WebElement comm = (new WebDriverWait(driver, 60))
.until(new ExpectedCondition<WebElement>() {
@Override
public WebElement apply(WebDriver d) {
TouchAction action1=new TouchAction(driver)
.press(PointOption.point(width/2, height*9/10)).waitAction(WaitOptions.waitOptions(duration))
.moveTo(PointOption.point(width/2,height/10)).release();
action1.perform();
WebElement moreButton1 = driver.findElement(By.id("com.example.dingluxin.timeline:id/btn_more"));
return moreButton1;
}
});
Thread.sleep(1000);
//点击更多
WebElement moreButton1 = driver.findElement(By.id("com.example.dingluxin.timeline:id/btn_more"));
moreButton1.click();
System.out.println("点击更多了");
for (int j= 1; j < 5; j++) {
Thread.sleep(1000);
}
}