HJ3-10.10 属性获取与断言

get attribute 原理分析

页面代码分析

  • page_source 获取页面源码
    • selenium-html,appium-xml
    • uiautomatorviewer 里面的结构
    • get_attribute 获取的元素属性基本上都来自于 page_source 里面元素展示的属性

获取页面 attribute 流程

  • appium server 在 android 原生应用上获取 attribute 的大致流程为:
    • 从 client 收到获取 attribute 的请求
    • 把请求转发给在手机上运行的 bootstrap
    • bootstrap 调用相关方法进行实际操作
    • bootstrap 返回结果给 appium server
    • appium server 把结果返回给 client

源代码

  • https://github.com/appium
  • 下载 appium-uiautomator2-server
    • appium 收到请求之后,对于 android 自动化,都会转发给 appium-uiautomator2-server

断言

  • import static org.junit.jupiter.api.Assertions.*;
  • assert 断言,用于判断一个表达式,在表达式条件为 false 的时候触发异常
  • 例如:
    • Integer a = new Integer(1);
    • Integer b = new Integer(2);
    • assertEquals(a,b);
    • asserNotNull(a);
    • assertTrue(false);
    • assertFalse(true);
    • assertNull(b);
    • assertSame(a,b);
    • assertNotSame(a,b);
    • assertArrayEquals(new int[]{7,8,9},new int[]{2,3,4});

hamcrest 断言

  • 官网 http://hamcrest.org/JavaHamcrest/
  • hamcrest 框架介绍
    • Hamcrest 是一个为了测试为目的,能组合成灵活表达式的匹配器类库。用于编写断言的框架,使用这个框架编写断言,提高可读性级开发测试的效率。
    • Hamcrest 提供了大量被称为“匹配器”的方法。每个匹配器都涉及用于执行特定的比较操作。
    • Hamcrest 的可扩展性强,让你能够创建自定义的匹配器。
    • 支持多种语言,java,python,ruby,object-c,php,erlang,swift
  • 使用方法
  • 常用方法 API
    • equal_to 比较两个对象 assertThat("说明","字符串",equalTo("另一个字符串"));
    • greaterThan 比较两个数值的大小 assertThat("说明", 200, greaterThan(300));

属性命名规则

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容