美文网首页
Appium学习笔记2

Appium学习笔记2

作者: 丛鹏 | 来源:发表于2017-08-21 23:01 被阅读0次

创建测试文件夹

在Idea项目src文件夹下创建test文件(Idea如果语句错误或者遗漏都可以检查出来,个人觉得好用一些),继续在test文件夹下创建java文件,然后设置文件夹属性为"Test Sources Root",以后生成的测试文件都要在java文件夹下;

如何连接夜魔/真机

1.启动夜魔,更正常手机一样设置,把它设置为开发者模式,终端敲入“adb connect 127.0.0.1:62001” 同时启动appium 服务器;

2.真机调成开发者模式,然后启动USB调试,终端敲入“adb devices” 同时启动appium 服务器;

3.借助sdk里面的工具tools目录下的uiautomatorviewer映射当前机器,启动“uiautomatorviewer”就能定位到索要找的元素

元素定位方法

一般通过以下方法进行定位id/name/classname/xpath,可通过uiautomatorviewer定位,name相对来比定位的比较多;

id定位:driver.find_element_by_id(resource-Id)、 driver.find_element_by_id("com.sankuai.meituan:id/search_edit")

name定位:driver.find_element_by_name(text)、driver.find_element_by_name("输入商家、分类或商圈")

classname定位:driver.find_element_by_class_name(class)、driver.find_element_by_class_name(“android.widget.TextView”)

xpath定位:driver.findElementsByXPath()、By.xpah(“//android.widget.TextView[contains(@Text,”abc”)]”)

注意虽然xpath是万能的但是尽量还是用ByName、ByID

实例讲解

在这里先说一下简单的实例吧,我们在这里用junit,在测试类中创建一个class文件

public classDemoTest {

privateAppiumDriverdriver;

@Before

public voidsetUp()throwsException{

DesiredCapabilities cap =newDesiredCapabilities();

cap.setCapability("platformName","Android");

cap.setCapability("deviceName","127.0.0.1:62001");//需要连接的真机或者模拟机

cap.setCapability("platformVersion","4.4.2");//版本

cap.setCapability("unicodeKeyboard",true);

cap.setCapability("resetKeyboard",true);

cap.setCapability("appPackage","安装包名字");//要测试的安装包

cap.setCapability("appActivity","安装包的activity");//要测试的安装包activity

driver=newAndroidDriver(newURL("http://127.0.0.1:4723/wd/hub"),cap);//appium本地地址和断开号

driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);

}

@After

public voidtearDown()throwsException{

driver.quit();

}

如何获取测试app 的安装包名字package、launch able-activity属性的名字呢?

有两种方式:第一种先进入build-tools目录下,执行“aapt dump badging app存放的目录“;第二种就是启动appium的时候查看启动日志;

连接的机器的条件我们已经准备好了,现在我们主要写测试用例了,创建一个方法在前面添加@Test,把它放在Before、After中间,以为junit每次执行test的时候都会执行Before和After,这样我们可以写多个用例每次都需要重新加载一下

public void test4() throws Exception{

Thread.sleep(2000);//等待时间

driver.findElementByName("定位元素的test").click();

driver.findElementById("定位元素的id").click();

driver.findElementByClassName("定位元素classname").sendKeys("输入字符");

driver.findElementByXPath("定位元素xpath").click();

可以理解为把这个页面截取出来找到它的元素,然后把操作分开点击(click)、输入(sendkeys)等,元素后面有很多的操作,这里简单介绍一下。

这里注意的是,在执行时确保连接到真机或者模拟机、appium已经启动,有的时候执行的时候种报错那时因为定位的元素变了,获取不到,需要重新配置下;

相关文章

网友评论

      本文标题:Appium学习笔记2

      本文链接:https://www.haomeiwen.com/subject/nwyqdxtx.html