美文网首页
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