走进 Visual Studio Mobile Center for Xamarin.Forms
前几篇分别介绍了 Xamarin.Forms 的 MVVM 的 Prism,UITest,Nuint Test,那这样算下来,代码部分基本结构都有了(逻辑就先忽略吧)
那接下来就应该是自动 Build,Test,部署之类的,总之该是朝着 DevOps 的方向前进了,虽然我不能完全搞定
如果所有环境都自己搭建的话,还是很费事的,嗯,关键是我好多细节不会配置,比如写各种 yml 配置,所以我就偷偷懒,直接用 Visual Studio Mobile Center 好了
一、Mobile Center 是什么
看官网介绍,基本就是 DevOps 都可以搞定了,还不用自己搭建环境,关键还支持这么多平台,干嘛不用

二、环境和版本
- Win 10 17017 preview
- VS 2017 15.4.2
- Xamarin.Forms 2.3.4.270
- UITest 2.1.2
三、准备工作
- 项目:还是之前的 SD.Xamarin 项目,大家就自己建一个项目,按照之前的文章搞一下就好了
- Mobile Center:注册一下账号(https://mobile.azure.com/login?original_url=%2Forgs)
二、配置
- 项目部分

如图这里的 1,2,3 项目都需要添加相关的 Nuget 包,搜索 Mobile Center 即可

添加后,再修改下Portable 项目的 App.xaml.cs 文件的构造函数添加相关代码
public App(IPlatformInitializer initializer = null)
: base(initializer)
{
MobileCenter.Start("android=5c81276c-2895-4204-a743-080b1e18ff04;"
+ "ios=d9bb5279-f4b5-4d57-9888-8d6a16dfa690",
//+ "uwp={Your UWP App secret here};"
typeof(Analytics), typeof(Crashes));
}
这里的红色字符是 Mobile Center 创建项目后生成的那个(后边会看到的),Get started 里都给出的,请正确粘贴哦,非最后一个注意后边的分号
- Mobile Center 部分
注册并登录后就是下边这个样子,

然后你可以创建一个组织,也可以直接添加 App ,这里我建了一个 XamarinTest 的组织,并添加了一个 Android 和 IOS 项目

每个项目又有一些设置,具体的可以根据你的需要设置,默认是告诉你怎么开始使用,除了之前添加的 Nuget ,还有和左边菜单项对应的功能,都可以添加相应的 Nuget 来使用

这里选择 Xamarin.Forms 并记住这里提供的 ID 字符串,稍后代码里需要用,当然如果没记也没关系,再去 Setting 里复制一下也可以

这里就是所有的步骤截图了,相应功能的具体说明链接如下
选择一个 App 后会先让你选择代码库,默认是 VSTS 的,我这里选的是 GitHub ,然后选择项目,这样以后提交代码就会自动 Build 和 Test 了

之后就是设置这个 App 的一些参数,根据需要修改就可以了,这是 Build 的一些配置

还有 Test 的配置,这里基本和 Xamarin Test Cloud 差不多了,选择设备什么的

配置 Test 的分支和类别

最后是提交,Build 之后应该是会自动提交的,这里也介绍了手动提交

这是完整的截图,是不是觉的就是 Test Cloud 那一套,所以官方的宣传 Visual Studio Mobile Ceter 是下一代的 Hockey App + Xamarin Test Cloud 一点都没错,会让你很自然的过度过来
这里的命令规则复制下来改成自己的就可以了

自动 Test 就不用管了,这里说下手动上传跑 Test 吧,估计是给不提交代码但是想验证用的吧
1.cmd 打开命令行窗口
2.转到代码所在目录盘符,这里是 E 盘——E:
3.转到代码目录—— cd E:\Code\SD.Xamarin
4.登录 Mobile Center ——mobile-center login
这时会打开浏览器,弹出一个网页,给你一个 Token

此时的命令行会要求你填入这个 Token,然后提示你登录成功

之后就和 Test Cloud 一样了,填入命令就可以了

跑完后就可以去 Mobile Center 看结果了,这里的第二个是我手动上传的,至于时间间隔这么大,就是因为之前命令写错参数了,然后开了个会

具体的信息可以点进去查看

OK ,到这里就完成了 Test 部分,至于其他的 Crashes 和 Analytics 可以添加其他的 Nuget 尝试一下
因为之前的文章都被移除了首页,因为图片太多,这篇应该是最多的了吧,但是没图片会缺少过程,如果你能看到这篇,请手动找一下以前的文章吧,我也无能为力
走进 Visual Studio Mobile Center for Xamarin.Forms的更多相关文章
- [WPF] 使用 Visual Studio App Center 持续监视应用使用情况和问题
1. 什么是AppCenter Visual Studio App Center 是几个常见移动开发和云集成服务(如持续集成.持续交付和自动 UI 测试等服务)的集合. 这些 App Center 服 ...
- Visual Studio App Center 中的 Bug 跟踪服务
我在之前的一篇文章 <使用 Visual Studio App Center 持续监视应用使用情况和问题> 中介绍了 App Center 的基本功能及使用入门,其中 诊断 可以自动手机用 ...
- Xamarin+Prism开发详解三:Visual studio 2017 RC初体验
Visual studio 2017 RC出来一段时间了,最近有时间就想安装试试,随带分享一下安装使用体验. 1,卸载visual studio 2015 虽然可以同时安装visual studio ...
- Visual Studio 2017正式版发布全纪录
又是一年发布季,微软借着Visual Studio品牌20周年之际,于美国太平洋时间2017年3月7日9点召开发布会议,宣布正式发布新一代开发利器Visual Studio 2017.同时发布的还有 ...
- Build 2017 Revisited: .NET, XAML, Visual Studio
For the next couple months we're going to revisit Build 2017, each post focusing on different aspect ...
- Visual Studio 2017RC 版本相关资料
Visual Studio 2017 RC版本说明 1.社区版 Visual Studio Community 2017 RC Visual Studio Community 2017 RC 是针对个 ...
- Visual Studio 2017 针对移动开发的新特性介绍
欢迎大家持续关注葡萄城控件技术团队博客,更多更好的原创文章尽在这里~~ Visual Studio是世界上最好的IDE之一,如果是 .NET世界,那就没有之一了(^_^),而最近推出的Visual S ...
- Xamarin.Forms教程开发Xamarin.Forms应用程序需要的工具
开发Xamarin.Forms应用程序需要的工具 Xamarin.Forms教程开发Xamarin.Forms应用程序需要的工具,2014年5月8日在发布的Xamrin 3中引进了Xamarin.Fo ...
- GetBuiltProjectOutputRecursive error running Xamarin Forms iOS on Visual Studio
Seems like I get this weird problem while running Xamarin.iOS on Visual studio. This happened after ...
随机推荐
- RobotFramework自动化测试框架-移动手机自动化测试Clear Text关键字的使用
Clear Text关键字用来清除输入框的数据,该关键字接收一个参数[ locator ],这里的locator指的就是界面元素的定位方式. 示例1:Clear Text清除输入框数据时,采用reso ...
- struts1.3整合spring2.5(将spring委托给struts方式)
前提是配置完struts1.3 导包 spring-2.5.6.jar //spring核心包 spring-webmvc-struts-2.5.5.jar //struts整合spring使用 lo ...
- 一张图告诉你移动Web前端所有技术(工程化、预编译、自动化)
你要的移动web前端都在这里! 大前端方向:移动Web前端.Native客户端.Node.js. 大前端框架:React.Vue.js.Koa 跨终端技术:HTML5.CSS 3.JavaScript ...
- 最小覆盖_KEY
最小覆盖(cover)..线段树 [题目描述] 给定 N 个区间[Li,Ri],需要你按照顺序选出一个区间序列使得[1,M]完全被覆盖.并且在选出来的序列中,某个区间[a,b]之前必须保证[1,a]都 ...
- 复选框demo
本篇文章是关于复选框的,有2种形式:1.全选.反选由2个按钮实现:2.全选.反选由一个按钮实现. <!DOCTYPE html> <html> <head> < ...
- 在JavaScript中使用json.js:Ajax项目之GET请求(同步)
1.用php编写一个提供数据的响应程序(phpdata.php) <?php $arr=array(1,2,3,4); //将数组编码为JSON格式的数据 $jsonarr=json_encod ...
- HashMap的源码分析(一)
1.hashMap的关键值 DEFAULT_INITIAL_CAPACITY:默认初始容量16,∈(0,1<<30),实际大小为2的整数次幂: DEFAULT_LOAD_FACTOR:默认 ...
- Mybatis Dynamic Query 2.0.2
项目地址:https://github.com/wz2cool/mybatis-dynamic-query 文档地址:https://wz2cool.gitbooks.io/mybatis-dynam ...
- B树、B+树、B*树
二叉搜索树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right): 2.所有结点存储一个关键字: 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树: 如 ...
- IOC模式理解
理解IOC inversion of control 控制反转 与 DI Dependency Injection 依赖注入概念之前,我们需要知道在一个系统的设计过程中,降低各模块之间的相 ...