IBM®网站监控是用于网站探测和警报的综合解决方案。 此软件即服务(SaaS)产品包括:
第三方Mozilla Firefox附加组件:用于脚本编写的Selenium 应用程序性能管理以存储和运行探针 IBM Alert Notification(SaaS)用作警报系统本系列从头到尾说明了如何使用IBM网站监控,包括脚本,设置警报以及配置技巧和窍门。 在这一部分中,您将学习如何使用Selenium创建脚本来探究您自己的网站。 Selenium工具有助于自动化Web应用程序以进行测试。
探测技巧
探测的概念是确定站点是否正常运行。 如果探针检测到站点问题,则会根据警报配置报告问题。 在开始探究网站之前,请最小化步骤或交易的数量。 另外,使脚本尽可能简单。
Selenium集成开发环境(IDE)具有记录/回放工具,因此您可以编写测试,而无需了解测试脚本语言。 这些说明适用于基本的Selenium脚本,该脚本约占探针的90%。 在本教程中,您将创建一个脚本,该脚本:
开启Google 在Google中搜索Selenium IDE 单击搜索结果页面中的Selenium主页链接verifyText命令自动插入到脚本中,以确保链接位于结果页面上。 在每个页面上都使用此Selenium命令(或assertText命令),以确保方案仍在进行中,并且探针继续正常运行。
要完成探测方案,请单击Selenium-Web Browser Automation链接。 记住,Selenium应该仍在录音。 验证What is Selenium? 文本在Selenium主页上。 使用步骤7中说明的相同方法。现在,您已经记录了探测场景。
重新排列脚本,使每个测试用例代表一页。 该组织是必要的,因为如果每个测试用例都代表一个页面,那么Selenium脚本与IBM Website Monitoring一起使用会更好。 对于这些步骤,请使用在上一节中创建的脚本。
停止录音。 下图显示了录制的脚本。 所有命令都在一个名为Untitled的测试用例下。 将当前测试用例从Untitled重命名为demo_google_page 。 创建两个额外的测试用例,以代表构成该探针的三个页面。 选择文件>创建新的测试用例 。重要提示: verifyText命令与打开它的命令位于同一测试用例页面上。
通过使用剪切和粘贴,将命令重新分配到它们各自所属的位置。 完成后,您应该有三个包含这些命令的测试用例。 下图显示了demo-google-page测试用例。下图显示了结果页面测试用例。
下图显示了Selenium主页测试用例。
使用与自己的html文件相同的名称保存每个测试用例(页面)。 将此探测方案另存为一个测试套件。 使用.testsuite扩展名使Application Performance Management仪表板工具了解这是一个合成脚本。重新排列并保存了测试用例页面。 现在运行脚本进行测试:
单击运行测试套件按钮。 在日志选项卡上,验证结果。 您可能会发现Web Browser Automation not found错误消息,如下图所示。显示错误消息的原因是,当您单击“ 搜索”按钮时,没有在Google中打开新页面。 Selenium click命令无法识别此按钮。 要解决此问题,请在verifyText命令之前添加一个pause命令。 确保在目标字段中添加暂停所需的时间。 在这种情况下,暂停时间为5000 (5秒)。
保存并重新运行测试套件,这应该通过此时间。测试脚本后,将其压缩为IBM Website Monitoring接受的形式。 要使用IBM网站监视(V8.1.1),. .zip文件必须包含以下文件:
一个.testsuite文件 在.html代表在测试用例文件.testsuite文件保存.zip文件,以备以后在需要将文件导入IBM Website Monitoring环境中时使用。
您可能希望对脚本流程进行更多控制,例如购物探针何时登录网站并开始购物。 记录的探针可能期望购物车为空,脚本才能正常工作。 因此,您需要在脚本中构建逻辑,可以使用Firefox提供的Selenium IDE:Flow Control插件来完成:
if cart is empty go to continue else empty the cart continue导航到Firefox中的Selenium IDE:流控制 ,然后单击添加到Firefox 。 按照提示安装附加应用程序。
此安装中添加了以下命令:
gotoIf gotolabel while, label这三个命令为您提供了对Selenium脚本的更多控制。
您可以在脚本中实施控制,就像检查空的购物车一样简单。 gotoIf命令验证购物车中的变量$ {total}是否为0。 如果购物车是空的,脚本将跳过命令并转到nothingincart行。
除了流控制之外,另一个强大的资产是使用Selenium IDE中可用的变量。 两个示例是for循环和return变量 。
使用充当计数器的变量和gotoIf命令,可以创建一个for循环。
通过使用store命令创建一个名为counter的变量。
当在Flow Control插件中将counter变量与gotoIf和label命令一起使用时,将具有for循环,如下图所示。
此循环again从gotolabel >开始,并一直循环直到counter变量达到10。这时,循环停止并转到very_end标签。
某些命令返回正确或错误的结果。 您可以将布尔值存储在变量中以供以后使用。
下图显示了Selenium变量示例。 在“目标”字段中测试条件并将其存储在isDone变量中之后, storeElementPresent返回true或false。 然后,在转到脚本的另一部分(例如标记为Done的脚本)之前,使用gotoIf命令检查isDone变量。
通过执行本部分中的步骤,您现在可以创建一个自定义的Selenium脚本来探测您自己的站点。 在第2部分中 ,您将学习如何将此脚本上传到Application Performance Management并开始监视您的站点。
翻译自: https://www.ibm.com/developerworks/library/mw-1604-chan1-trs/1604-chan.html