美文网首页
Appium框架API学习(一)

Appium框架API学习(一)

作者: sherlywu88 | 来源:发表于2017-11-16 16:17 被阅读41次

    本教程是基于本人学习android NativeApp自动化测试过程积累总结的,学习过程用到的工具是appium+python+UIAutomator+android手机+待测APP!

    一、准备定位工具

    首先我们需要先下载android studio,然后安装android sdk,在系统变量里添加export ANDROID_HOME="/Users/xxx/Library/Android/sdk"。我们需要的工具就是uiautomator,它在android_sdk/tools/uiautomatorviewer里。

    二、启动定位工具

    1、在终端上用命令进入tools目录,我的tools目录在/Users/wuyanjiao/Library/Android/sdk/tools,然后直接执行命令./uiautomatorviewer,当看到如下页面就表示工具启动成功。

    定位工具

    2、手机连接上电脑
    用数据线把手机和电脑连接上,并把手机设置成开发者模式,USB调试开启。然后在终端上执行adb devices,可以查看是否连接成功。连接成功后,我们在手机上打开待测APP,在这里我以自带计算器APP为例。打开后,点击图片中左上角第二个按钮,就可以看到app的页面元素了。想要找哪个元素,鼠标移动到上面,就可以看到详细的元素了。

    image.png

    三、基本定位元素方法

    1、find_element_by_id()
    当遇到resource-id有唯一值。以定位计算器上8这个元素并点击为例:

    number8 = self.driver.find_element_by_id("digit8")
    number8.click()
    

    2、find_elements_by_id()
    当遇到的resource-id有多个相同的值,可以使用该方法。以元素在列表中的位置来定位,以定位计算器上的8并点击为例:

    elements = self.driver.find_elements_by_id("digit8")
    elements[0].click()
    

    3、find_element_by_accessibility()
    当某个元素的content-desc有值的时候,可以使用该方法。以定位计算器上的÷号为例:

    element = self.driver.find_element_by_accessibility_id(u"除")
    element.click()
    

    4、find_elements_by_accessibility()
    当页面的content-desc值有多个相同的时候,可以使用该方法。以定位计算器上的÷号为例:

    elements = self.driver.find_elements_by_accessibility_id(u"除")
    elements[0].click()
    

    5、find_element_by_class_name()
    当页面的class有值的时候,可以使用该方法,以向计算器上的输入框输入数字为例:

    input=self.driver.find_element_by_class_name("android.widget.EditText")
    input.send_keys("10")
    

    6、find_elements_by_class_name()
    当页面的class有多个值的时候,可以使用该方法,以向计算器上的输入框输入数字为例:

    input=self.driver.find_elements_by_class_name("android.widget.EditText")
    input[0].send_keys("10")
    

    7、press_keycode()
    该方法是发送键值,以下是部分键值,例如手机上的按键“0”它的键值是7,手机上的按键“1”,它的键值是8。若要了解更详细的android键值表,可以访问此链接:http://www.cnblogs.com/larack/p/4223465.html

    image.png
    以下是计算器计算10除以5的具体代码:
    #输入10
    self.driver.press_keycode(8)
    self.driver.press_keycode(7)
    #点击除号
    element = self.driver.find_element_by_accessibility_id(u"除")
    element.click()
    #输入5
    self.driver.press_keycode(12)
    #点击=号
    equal = self.driver.find_element_by_id("equal")
    equal.click()
    

    相关文章

      网友评论

          本文标题:Appium框架API学习(一)

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