美文网首页
UI自动化相关内容

UI自动化相关内容

作者: 水漾涟漪penny | 来源:发表于2018-12-04 18:26 被阅读0次

UI自动化相关内容

1. Appium

    1. 服务端  Node.js应用,在电脑上,用于WDA通信

    2. 客户端 扩展的WebDriver协议库,用某个语音写case,将该语言扩展的WebDriver库添加到自己的环境中

2. 可以做什么

    1. 方法

    2. 找到元素后干什么:

        1. 获点击事件 Click()        driver.findElement(By.id(“com.systoon.toon:id/formula”)).click

        2. 输入事件  Sendkeys()      driver.findElement(By.id(“com.systoon.toon:id/et_phone_num”)).sendKeys(“18511022548”)

        3. 滑动事件  Swipe()        driver.swipe(int start-x, int start-y, int end-x, int end-y, int during)

        4. 获取页面层级结构:          driver.getpagesource()

        5. 重启app driver.resetapp()

        6. 启动app driver.lanchapp()

        7. 获取元素属性值:   

            1. driver.findElement(By.name(“fiud”)). getAttribute(“value”);

            2. driver.findElement(By.name(“fiud”)) . getAttribute(“isDisplayed”);

        8. 滑屏

            1. TouchAction touchAction = new TouchAction(ios_driver);

            2. touchAction.press(startx, starty).waitAction(duration).moveTo(endx, endy).perform().release();

        9. 获取元素位置

            1. IosElement e = findElementsByClassName(className).get(index);

            2. e.getLocation().getX();

            3. e. isDisplayed();

        10. 官方api地址:http://appium.github.io/java-client/

3. 基于现有测试框架写测试脚本

    1. 测试脚本和Java层代码分离

    2. 测试易于维护

    3. 可重用性

4. 支持定位信息

    1. Id 定位 (安卓特有的定位方式) index = “1”  默认为0

    2.  xpath定位

    3. name 定位  index = “1”  默认为0

    4. classname定位  index = “1”  默认为0

    5. accessibilityId定位(安卓端对应的是安卓控件的content-desc属性值,ios对应的是name)

    6.  androidUIAutomator(安卓端特有的定位方式)

5. 常用标签

    1. <testsuit></testsuit>属性值

        1. 测试用例集标签,一个xml文件只有一个testsuit。测试用例要放到一个testsuit中

        2. 属性值  sname="IM" reportName="IM" description="IM"

    2. <testcase></testcase>

        1. 测试用例标签,测试用例由一系列测试步骤组成,测试用例对应的一系列测试

        2. 步骤放在一个testcase标签里。

        3. 属性值:cname=“IM_01_能正常发送单聊消息” exec=“true” description=“发送单聊消息"

    3. <condition><if></if><else></else><condition>

        1. 判断标签,放在testcase标签里。可以只有if判断没有else。条件判断为真,则执行if里面包含的内容,为假则执行else里面包含的内容

        2. 属性值:description:描述信息

    4. <for></for>

        1. 需要循环执行操作放在for标签中

        2. 属性值  count:-1表示无限循环,具体数字代表循环对应次数,默认为0

        3. description:描述信息

    5. < capture ></ capture > 截图

        1. 属性值: fileName:文件名称 description

    6. < clear />  清空输入框本文

        1. 属性值:description:描述信息

    7. <click/> 点击操作

        1. 属性值  description:描述信息

    8. < l_click/> 长按

        1. 属性值:description

    9. < xy_click />  清空本文

        1. 属性值:x:x坐标值  y:y坐标值description:描述信息

    10. <Input /> 输入文本

        1. 属性值:content :文本内容 description:描述信息

    11. < input_repeat /> 输入字符后+次数

        1. 用于:多次发送同样的消息,后添加次数字段用以区分

        2. 属性值 content :文本内容,description:描述信息

    12. < log /> 记录日志

        1. 属性值: txt:记录日志内容  description

    13. <open/> 打开浏览器:ios是safari,android是谷歌

        1. 属性值:url:浏览器  description:描述信息

    14. < partialCapture /> 部分截图

        1. 属性值:fileName :文件名称  description:描述信息

        2. a.根据坐标截图,x,y,height,weigth截图

        3. b.根据定位方式截图,截图部分图片

    15. < slide/>滑屏

        1. 属性值  direction:LEFT,RIGHT,UP,DOWN,向四个方向滑动,description:描述信息

        2. startx,starty,endx,endy:一个点向另一个点滑动

    16. < slide_defined/> 滑屏

        1. 属性值  a = 0, b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0默认值,从屏幕b/a x, e/f y 滑到

        2. c/d x,g/h y。 按屏幕比例滑屏 description

    17. < slidetoend /> 滑到屏幕底部

        1. 属性值: description

    18. < slidetotop />滑到屏幕顶部

        1. 属性值: description

    19. < startup/>回到初始页面,安卓回到的是启动的activity,ios回到app主页

        1. 属性值: description

    20. < wait />强制等待

        1. 属性值:time不设置默认为3s。 description

    21. < wait_by/>等待元素加载

        1. 属性值: time,该时间内找到则继续下面脚本执行,最长等待默认时间20秒。

    22. < getpagesource />获取界面结构信息

        1. 属性值: description

    23. < getmessage />获取某位置的文本信息,例如获取第一个小组名称

        1. 属性值: description

    24. <a_equal/>断言字段,判断预期文本与某位置文本信息相等

        1. 属性值: description

    25. < a_contains />断言,判断包含预期文本

        1. 属性值: description

    26. < a_exist />断言,判断元素存在

        1. 属性值: description

    27. < a_notcontains />断言不包含

        1. 属性值: description

    28. < a_notexist />断言控件不存在

        1. 属性值: description

    29. < a_clickable />判断是否可点击

        1. 属性值: description

    30. <a_notequal/>断言字段,判断预期文本与某位置文本信息不相等

        1. 属性值: description

6. case包含几个要素

    1. 数据准备(尽量不依赖数据)

    2. 具体操作步骤

    3. 验证点,加断言

    4. 注意事项:

        1. 可执行性

        2. 可反复执行

        3. 稳定性,可加条件判断

        4. 数据回收

相关文章

网友评论

      本文标题:UI自动化相关内容

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