当前位置: 首页 > news >正文

临夏金属装饰网站建设为什么没有人做像58一样的网站

临夏金属装饰网站建设,为什么没有人做像58一样的网站,seo外链专员,WordPress徽章系统学习资料 官方文档 在 Android 平台上测试应用 | Android 开发者 | Android Developers 测试了解 【玩转Test】开篇-Android test 介绍 Android单元测试全解_android 单元测试_一代小强的博客-CSDN博客 Android单元测试-对Activity的测试_activitytestrule_许佳佳233的博客…

学习资料


官方文档

在 Android 平台上测试应用 | Android 开发者 | Android Developers

测试了解

【玩转Test】开篇-Android test 介绍

Android单元测试全解_android 单元测试_一代小强的博客-CSDN博客

Android单元测试-对Activity的测试_activitytestrule_许佳佳233的博客-CSDN博客

单元测试注解相关

ActivityScenarioRule懒加载_airgreen的博客-CSDN博客

学习资料可以了解一下,不用进行深入,重点需要的准备在下面。


前置准备


  • 按照 Android 项目导入高德 SDK 使用(从小白到入门) 这篇文档,把高德地图 SDK 环境给部署在自己的空项目中,然后能够正常的调用基本高德地图SDK

  • 学习SDK这部分看到什么程度,了解即可。不熟悉 可以 照着文档 控件交互-与地图交互-开发指南-Android 地图SDK | 高德地图API 调用SDK接口写几个简单的功能能够正常运行展示即可)

  • 了解 Junit 框架的一些注解和断言方法就没问题,不用深入

步骤记录


简单上手 AndroidTest 来测试验证高德地图SDK的接口,简单记录一下操作过程


0、首先我们有一个部署好高德 SDK 环境的项目,能够正常显示一个地图 MapView 。


1、把下列配置代码 贴到模块的 build.gradle 文件里面,在 dependencies 闭包中


testImplementation 'junit:junit:4.13.2'androidTestImplementation 'androidx.test.ext:junit:1.1.3'androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'//测试添加implementation 'androidx.recyclerview:recyclerview:1.1.0'implementation 'androidx.appcompat:appcompat:1.1.0'implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
//    implementation 'pub.devrel:easypermissions:2.0.1'implementation 'com.google.code.gson:gson:2.8.5'androidTestImplementation 'com.android.support.test:runner:1.0.2'
//    androidTestImplementation 'com.android.support.test:rules:1.0.2'androidTestImplementation 'androidx.test:rules:1.1.0'androidTestImplementation 'com.android.support:support-annotations:28.0.0'androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.3'

2、我们在 AndroidTest 的 test 测试类中默认就能看到有下列代码,之后我们就会在 androidTest 目录下的类中写测试用例代码。


[图片]


3、我们在 layout 建一个页面视图activity_exercise.xml,添加一个 mapView 标签即可,在对应的 Java类 ExerciseActivity 显示地图,这里可以设置一个默认显示的地图中心点,方便后面进行测试验证。


public class ExerciseActivity extends AppCompatActivity {public MapView mapView;public static final LatLng SHANGHAI = new LatLng(31.238068, 121.501654);@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_exercise);mapView = findViewById(R.id.map);// findViewByid()得到mapView一定要在onCreate里面mapView.onCreate(savedInstanceState);// 显示地图changeToCenter();// 改变地图的中心点}/*** 获取到该页面的 map控制对象* @return*/public AMap getMap(){// 测试类可以通过 activity 拿到这个AMap对象进行 验证 高德地图对象 的其他接口return ((MapView)findViewById(R.id.map)).getMap();}// 改变地图默认显示的中心点public void changeToCenter(){AMap aMap = mapView.getMap();aMap.moveCamera(CameraUpdateFactory.newCameraPosition(new CameraPosition(SHANGHAI,10.0f,10.0f,10.0f)));}}

可以运行一下这个App代码,看在手机上是否运行成功,显示上海为中心点


[图片]


5、在 AndroidTest 测试类中加入 ActivityTestRule @Rule,表明这个测试类对哪个 activity 进行测试(之后在每次测试用例代码执行前然后进行 Activity 初始化,进行 Activity 启动等操作)


- ActivityTestRule - Android中文版 - API参考文档
- JUnit单元测试6—@Rule注解


这个类和注解的作用可以看一下文档了解一下,在测试方法执行之前对Activity初始化


[图片]


@Rule
public ActivityTestRule<被测试类> activityTestRule = new ActivityTestRule<>(被测试类.class); 

6、拿到 Activity页面中的 AMap对象,对其进行测试。


被测试的 activity 类中的方法,都可以通过 activityTestRule.getActivity() 的方法进行拿到


注意:最好记住,线程睡眠几秒,有时候set之后直接get,测试的程序执行太快,在手机Map上有些元素还没加载,所以在 get 之前可以 强制线程等待几秒

/*** 设置一个中心点,对于中心点的坐标进行测试*/@Testpublic void testCase2(){Log.i("START TESTCASE1","测试 中心点坐标 的用例开始执行!!!");LatLng SHANGHAI = new LatLng(31.238068, 121.501654);AMap aMap = activityTestRule.getActivity().getMap();
//        aMap.moveCamera(CameraUpdateFactory.newCameraPosition(CameraPosition.builder().target(SHANGHAI).bearing(10.0f).tilt(10.0f).zoom(10.0f ).build()));try {Thread.sleep(3000);} catch (InterruptedException e) {throw new RuntimeException(e);}Assert.assertEquals(SHANGHAI.latitude,aMap.getCameraPosition().target.latitude,0.1);// 第三个参数dalt是误差,float、double比较都需要写一个误差值,精度有时候设置的不一样,造成误差}

7、点击执行,查看用例执行的结果。


[图片]

8、之后我们就可以在其他的 testcase 方法中对 高德 aMap 对象的其他接口方法进行验证,查看断言结果,来熟悉测试用例编写的过程。


/*** 验证 设置map_type 的方法是否正常*/
public void testCase3(){Log.i("START TESTCASE1","测试 MAP_TYPE的用例开始执行!!!");AMap aMap = activityTestRule.getActivity().getMap();aMap.setMapType(AMap.MAP_TYPE_NIGHT);try {Thread.sleep(3000);} catch (InterruptedException e) {throw new RuntimeException(e);}Assert.assertEquals("测试case3未通过!",AMap.MAP_TYPE_NIGHT,aMap.getMapType());}/*** 验证 地图 控件显示 是否符合 预期*/
@Test
public void testCase4() throws InterruptedException {Log.i("START TESTCASE2", "测试 地图的UI控件是否按照预期显示");AMap aMap = activityTestRule.getActivity().getMap();UiSettings settings = aMap.getUiSettings();// 显示指南针,预期结果为trueboolean expect = true;settings.setCompassEnabled(expect);// 等待 3stry {Thread.sleep(3000);} catch (InterruptedException e) {throw new RuntimeException(e);}boolean actual = settings.isCompassEnabled();// 然后断言Assert.assertEquals("未通过测试用例!!",expect,actual);
}
http://www.yayakq.cn/news/586165/

相关文章:

  • 专业网专业网站建设为网站网站做代理怎么判
  • 优良的定制网站建设提供商山东东营市属于几线城市
  • 郑州购物网站建设长春市长春网站建设
  • 江门网站建设公司哪家好找工作室的网站
  • 北京网站设计十年乐云seowordpress可以做淘宝客
  • 用cms做网站的具体步骤统计局网站建设情况
  • 中国建设银行网站首页怎么销户官方制作网站
  • 外贸机械网站建设品牌购买网站
  • 网站界面设计规划wordpress 海贼王
  • 检察院门户网站建设情况总结郑州网站设计汉狮
  • 营销型网站建设需要注意什么云南网站设计
  • 大连成品网站建设珠海的门户网站有哪些
  • 番禺低价网站建设镇赉县做网站的
  • 网站建设与程序编辑展厅展览设计
  • 长春专业网站建设哪家口碑好湖北省最新消息今天
  • 个人网站建设的论文中山专业门户网站制作平台
  • 自己有网站怎么推广局域网聊天工具免费版
  • 用asp做网站优势wordpress中文cms
  • 承德网站制作公司青海建设局网站
  • 网上超市网站的设计与实现wordpress分类内没有文章
  • 个人域名可以建公司网站吗wordpress评论回复通知
  • asp 手机网站中文网站建设中模板下载
  • html网站 怎么做seo淘宝联盟 网站建设 内容少
  • 网站建设费计入什么费用wordpress手机评论
  • 北京网站建设 知乎百度的主页
  • 公司品牌官网建站如何创建网站的快捷方式
  • 西安高校定制网站建设公司推荐大连智能模板建站
  • 丽水城乡建设局网站wordpress模板如何设置
  • 安徽住房和城乡建设厅网站wordpress 批注
  • 电话销售网站建设多少钱一个月呼和浩特网站建设设计