学习目标
完成本单元后,您将能够:
- 完成Lightning Experience开发环境的设置。
- 描述在开发过程中查看Lightning Experience中Visualforce页面的两种不同方式。
- 描述在开发过程中预览Visualforce页面和正式测试该页面的区别。
- 创建一个测试矩阵,描述在对Visualforce页面进行正式测试时需要包含和测试的不同因素。
为闪电体验开发Visualforce页面
在本单元中,我们将介绍设置开发环境的细节,然后介绍在构建过程中测试页面的“正确”方式的细节。好消息是,您需要使用Lightning Experience进行开发的过程与用于开发Salesforce移动页面的过程相同。
设置您的编辑器
您要设置的第一件事就是您将用于编写代码的编辑工具。无论您是为Lightning Experience,Salesforce Classic还是Salesforce应用程序创建页面,以及是否使用Developer Console,Force.com IDE或旧的安装编辑器,此过程都保持不变。
如果您已经有了首选的Visualforce编辑工具,则无需在此处执行任何操作。编写和保存您的Visualforce标记仍然完全相同。开发者控制台拥有自己的用户界面,在Lightning Experience和Salesforce Classic之间不会改变。安装程序中的编辑器也保持不变,在所有用户界面上下文中保留Salesforce Classic用户界面。当然,如果您使用的是本地工具(如Force.com IDE或许多第三方工具中的一种),则这些工具都有自己的用户界面。
一个例外是Visualforce开发模式页脚中的编辑器。如果您已经在用户设置中启用了开发模式,并且正在使用Salesforce Classic,那么使用开发模式页脚查看和编辑Visualforce页面的方式与您所期望的相同。如果您切换到Lightning Experience,然后使用传统的https://yourInstance.salesforce.com/apex/PageName URL模式访问页面,则可能会惊讶于在Salesforce Classic中找回自己。
这是预期的,当我们查看和测试您的Visualforce页面时,我们会进一步讨论它。现在,请了解Visualforce的开发模式仅适用于Salesforce Classic。
在开发过程中查看Visualforce页面
无论您的用户界面设置如何,您使用直接URL访问查看的页面都始终显示在Salesforce Classic中,也就是说,“经典”Visualforce容器。如果您创建具有Lightning Experience特定行为的Visualforce页面,则仅使用通常的直接URL访问权限就无法查看该行为。
超越基础
幕后造成这种情况的是什么?这很简单,真的。为了在Lightning Experience中查看您的页面,您需要访问Lightning Experience容器应用程序。这意味着访问/one/one.app。如果您正在访问,则无法访问/ apex / PageName。他们只是两个不重复的网址。
那么开发人员要做什么?您需要从Lightning Experience应用程序本身查看您的页面,以便它在Lightning Experience容器内运行。这意味着您需要导航到Lightning Experience中的页面,并且有多种方法可以做到这一点。
获取特定Visualforce页面的最简单方法是为其创建一个选项卡,然后通过应用程序启动器中的所有项目部分导航到该选项卡。一个更长远的方法是创建一个“In Development”应用程序,并在您处理它们时添加Visualforce标签,并在它们转入生产时移动或移除它们。由于这样做的控制已经移动了一下,下面是简短的说明。
- 从设置中,在快速查找框中输入应用程序,然后选择应用程序管理器。
您应该看到Lightning Experience App Manager设置页面。 -
点击New Lightning App,然后在开发中为您的页面创建一个自定义的应用程序。
考虑限制您的应用程序仅限于系统管理员,或者您为组织中的开发人员创建的配置文件。您不需要用户在用户界面中将其添加到永久位置之前查看您的页面。
- 从设置中,在快速查找框中输入应用程序菜单,然后选择应用程序菜单。
你应该看到应用程序菜单设置页面。
- 确保您的In Development应用程序在应用程序启动器中设置为可见。
当你在这个时候,你可能想重新排列项目,甚至隐藏你不使用的应用程序。
- 从设置中,在快速查找框中输入标签,然后选择标签。
您应该看到自定义选项卡设置页面。
- 在“Visualforce选项卡”部分中单击“新建”,然后为当前正在开发的页面创建一个自定义选项卡。
使该选项卡仅可见于您的开发用户配置文件,并将该选项卡仅添加到您的In Development应用程序中。
- 对要添加到In Development应用程序中的每个页面重复上一步骤。为了将来添加新的页面,这是唯一需要的步骤。
尽管如此,在您处理页面的过程中,您可以轻松查看自己的页面,但与仅将网页名称输入到URL中并不相同。对于在Lightning Experience中测试页面的开销相似的方式,您可以在JavaScript控制台中键入以下内容:
$A.get("e.force:navigateToURL").setParams(
{"url": "/apex/pageName"}).fire();
为了使用起来更方便一些,请将以下小书签添加到浏览器的菜单或工具栏中。 (为了便于阅读,我们封装了这些代码。)
javascript:(function(){
var pageName = prompt('Visualforce page name:');
$A.get("e.force:navigateToURL").setParams(
{"url": "/apex/" + pageName}).fire();})();
在多个环境中查看Visualforce页面
如果您正在创建将在Lightning Experience,Salesforce Classic和Salesforce应用程序中使用的页面,那么您需要在所有环境中查看这些页面。为此,您需要在多个浏览器和多个设备上打开该页面。
将在不同的Salesforce用户界面上下文中使用的Visualforce页面和外观因素在开发过程中很难进行审阅。您可以使用配置文件菜单中的环境选择器在Salesforce Classic和Lightning Experience之间来回切换,但这种情况会很快变老。您也可以使用浏览器的用户代理设置来模拟Salesforce移动环境,但这更麻烦。
相反,您将要使用多个浏览器甚至多个设备来查看您的页面。而且您还希望至少可以访问另外一个测试用户。以下是如何设置开发环境的示例。
- 主要发展环境
- 此环境是您在安装程序中对组织进行更改的位置,例如添加自定义对象和字段,也可能是编写实际代码的位置(如果使用开发人员控制台)。
- 浏览器: Chrome
- 用户:您的开发人员用户
- 用户界面设置:Salesforce Classic
- 在此环境中查看您的页面在Salesforce Classic中的设计和行为。
- 闪电体验评论环境
- 这个环境是你在Lightning Experience中检查你的页面设计和行为的地方。
- 浏览器:Safari或Firefox
- 用户:您的测试用户
- 用户界面设置:闪电体验
- Salesforce移动审查环境
- 此环境用于检查您的页面在Salesforce应用程序中的设计和行为。
- 设备:iOS或Android手机或平板电脑
- 浏览器:Salesforce应用程序
- 用户:您的测试用户
- 用户界面设置:闪电体验
测试您的Visualforce页面
这只是一个示例设置,您可以使用Salesforce Classic和Lightning Experience中的任何现代浏览器或移动设备。关键是要使用两种不同的浏览器,以便您可以同时访问Salesforce Classic和Lightning Experience,并使用实际设备来测试Salesforce应用程序。
这可能听起来相当复杂,初始设置起来有点麻烦,特别是如果你正在寻找编码的话。但请记住两件事。首先,一旦你成立,就完成了。其次,这个工作区不仅为您提供了一个很好的开发环境,还为您提供了正式测试页面所需的环境。因为你不会梦想在没有经过正式测试的情况下将网页投入生产,对吗?
测试您的Visualforce页面
测试您的Visualforce页面,然后将其部署到生产环境中是一项重要的开发任务。当您的组织采用Lightning Experience时,测试页面的过程变得更加复杂。
我们刚刚讨论了在开发页面时需要设置的环境,以进行快速,非正式的测试。这些环境的需求也适用于正式测试您的网页和应用程序。让我们来谈谈为什么你需要这些不同的环境,而不是重复它们。
在Lightning Experience和Salesforce Classic中测试页面的需求相当明显,但为什么不能在同一个浏览器中使用相同的用户来测试?事实上,你可以,你应该。您的用户可以在不同的用户界面之间来回切换,并且您应该确认您的页面在这些用户界面中工作。
但是,您也希望以更加独立和系统的方式来测试页面,以确保您正在测试的是页面的基本功能,尽可能与其他代码的效果分离,不管代码是否属于您,我们的,浏览器的,或者设备的。
这突出了另一个测试问题。在过去,我们建议您在台式机或笔记本电脑上进行Salesforce移动开发以及导航到Salesforce应用使用的/one/one.app URL是合理的。此方法不再有效,因为/one/one.app由Salesforce应用程序和Lightning Experience共享,具体取决于连接到它的设备。虽然你可以通过更改浏览器的用户代理来欺骗/one/one.app,但这是一个坏主意,反模式。原因是,即使是来自同一供应商的台式机和移动浏览器的行为也有所不同,有时甚至会有所不同。除非您正在测试每个设备和您计划支持的每个浏览器,否则无法进行严格的正式测试。
如果你正在开发一个单独的页面,或者一个基本的应用程序相同的设备,你的“矩阵”的不同因素可能很简单。但对于更有雄心的项目,如果您正在开发需要在各种可能性范围内支持的功能,那么您的测试计划应该考虑跨越测试的需求:
- 每个不同的支持设备。
- 每个不同的支持的操作系统
- 每种不同的支持浏览器 – 包括嵌入自己的Salesforce应用程序。
- 每个不同的受支持的用户界面上下文(Lightning Experience,Salesforce Classic和Salesforce应用程序)。
幸运的是,为了您的理智,其中一些因素一起崩溃,减少了组合爆炸。例如,大多数的苹果移动设备可以指望更新到最新版本的iOS。这意味着设备,操作系统和浏览器实际上只是一个组合。因此,您的测试计划可能会选择仅测试一个iPhone和一个iPad,并更新到最新的iOS和Salesforce应用程序。
关于测试的最后一句话。我们强烈建议您的开发和测试环境相似的另一个原因是,您可以在开发过程的早期开始测试和全面测试。我们发现,直到项目后期才开始对辅助设备进行测试。当发生这种情况时,发现问题时不可避免地会受到挫折。
提前测试,经常测试,测试一切。