selenium编写脚本_用Selenium编写脚本

IBM®网站监控是用于网站探测和警报的综合解决方案。 此软件即服务(SaaS)产品包括:

  • 第三方Mozilla Firefox附加组件:用于脚本编写的Selenium
  • 应用程序性能管理以存储和运行探针
  • IBM Alert Notification(SaaS)用作警报系统

本系列从头到尾说明了如何使用IBM网站监控,包括脚本,设置警报以及配置技巧和窍门。 在这一部分中,您将学习如何使用Selenium创建脚本来探究您自己的网站。 Selenium工具有助于自动化Web应用程序以进行测试。

创建一个基本的Selenium脚本

Selenium集成开发环境(IDE)具有记录/回放工具,因此您可以编写测试,而无需了解测试脚本语言。 这些说明适用于基本的Selenium脚本,该脚本约占探针的90%。 在本教程中,您将创建一个脚本,该脚本:

  • 开启Google
  • 在Google中搜索Selenium IDE
  • 单击搜索结果页面中的Selenium主页链接

记录脚本

  1. Selenium IDE部分中,单击Firefox插件链接的当前版本(在发布本教程时为v2.9.0)以安装插件。
    selenium编写脚本_用Selenium编写脚本_第1张图片
  2. 单击立即安装以安装列出的所有五个必需的插件。
  3. 从Firefox启动Selenium IDE。 确保仅打开一个选项卡; 关闭Firefox中的所有其他标签。
  4. 单击红色的录制图标以开始录制。
    selenium编写脚本_用Selenium编写脚本_第2张图片
  5. 在Firefox的“基本URL”字段中,键入www.google.com以转到Google网站。
  6. 在搜索字段中,输入Selenium scripting ,然后按Enter。 结果可能会自动显示,但是对于本教程,请按Enter。 一些命令已经记录在Selenium IDE中。
  7. 在Google结果页上,验证是否列出了Selenium主页:
    1. 在Firefox中,突出显示Selenium-Web Browser Automation链接,然后单击鼠标右键。
    2. 选择verify text link = Selenium-Web浏览器自动化Selenium
      selenium编写脚本_用Selenium编写脚本_第3张图片

      verifyText命令自动插入到脚本中,以确保链接位于结果页面上。 在每个页面上都使用此Selenium命令(或assertText命令),以确保方案仍在进行中,并且探针继续正常运行。

  8. 要完成探测方案,请单击Selenium-Web Browser Automation链接。 记住,Selenium应该仍在录音。
  9. 验证What is Selenium? 文本在Selenium主页上。 使用步骤7中说明的相同方法。
    selenium编写脚本_用Selenium编写脚本_第4张图片

现在,您已经记录了探测场景。

整理脚本

重新排列脚本,使每个测试用例代表一页。 该组织是必要的,因为如果每个测试用例都代表一个页面,那么Selenium脚本与IBM Website Monitoring一起使用会更好。 对于这些步骤,请使用在上一节中创建的脚本。

  1. 停止录音。 下图显示了录制的脚本。 所有命令都在一个名为Untitled的测试用例下。
    selenium编写脚本_用Selenium编写脚本_第5张图片
  2. 将当前测试用例从Untitled重命名为demo_google_page
  3. 创建两个额外的测试用例,以代表构成该探针的三个页面。 选择文件>创建新的测试用例
    selenium编写脚本_用Selenium编写脚本_第6张图片
  4. 通过使用剪切和粘贴,将命令重新分配到它们各自所属的位置。 完成后,您应该有三个包含这些命令的测试用例。 下图显示了demo-google-page测试用例。
    selenium编写脚本_用Selenium编写脚本_第7张图片

    下图显示了结果页面测试用例。

    selenium编写脚本_用Selenium编写脚本_第8张图片

    下图显示了Selenium主页测试用例。

    selenium编写脚本_用Selenium编写脚本_第9张图片
  5. 使用与自己的html文件相同的名称保存每个测试用例(页面)。
    selenium编写脚本_用Selenium编写脚本_第10张图片
  6. 将此探测方案另存为一个测试套件。 使用.testsuite扩展名使Application Performance Management仪表板工具了解这是一个合成脚本。
    selenium编写脚本_用Selenium编写脚本_第11张图片

测试录制的脚本

重新排列并保存了测试用例页面。 现在运行脚本进行测试:

  1. 单击运行测试套件按钮。
    selenium编写脚本_用Selenium编写脚本_第12张图片
  2. 日志选项卡上,验证结果。 您可能会发现Web Browser Automation not found错误消息,如下图所示。
    selenium编写脚本_用Selenium编写脚本_第13张图片

    显示错误消息的原因是,当您单击“ 搜索”按钮时,没有在Google中打开新页面。 Selenium click命令无法识别此按钮。 要解决此问题,请在verifyText命令之前添加一个pause命令。 确保在目标字段中添加暂停所需的时间。 在这种情况下,暂停时间为5000 (5秒)。

    selenium编写脚本_用Selenium编写脚本_第14张图片
  3. 保存并重新运行测试套件,这应该通过此时间。

压缩文件以准备进行IBM Website Monitoring

测试脚本后,将其压缩为IBM Website Monitoring接受的形式。 要使用IBM网站监视(V8.1.1),. .zip文件必须包含以下文件:

  • 一个.testsuite文件
  • .html代表在测试用例文件.testsuite文件
selenium编写脚本_用Selenium编写脚本_第15张图片

保存.zip文件,以备以后在需要将文件导入IBM Website Monitoring环境中时使用。

将流控制添加到脚本

您可能希望对脚本流程进行更多控制,例如购物探针何时登录网站并开始购物。 记录的探针可能期望购物车为空,脚本才能正常工作。 因此,您需要在脚本中构建逻辑,可以使用Firefox提供的Selenium IDE:Flow Control插件来完成:

if cart is empty
		go to continue
	else 
		empty the cart
           continue

流控制Firefox附加组件

导航到Firefox中的Selenium IDE:流控制 ,然后单击添加到Firefox 按照提示安装附加应用程序。

此安装中添加了以下命令:

  • gotoIf
  • gotolabel
  • while, label

这三个命令为您提供了对Selenium脚本的更多控制。

在脚本中构建流控制逻辑

您可以在脚本中实施控制,就像检查空的购物车一样简单。 gotoIf命令验证购物车中的变量$ {total}是否为0。 如果购物车是空的,脚本将跳过命令并转到nothingincart行。

selenium编写脚本_用Selenium编写脚本_第16张图片

Selenium脚本中的变量

除了流控制之外,另一个强大的资产是使用Selenium IDE中可用的变量。 两个示例是for循环return变量

for循环

使用充当计数器的变量和gotoIf命令,可以创建一个for循环。

通过使用store命令创建一个名为counter的变量。

命令是存储,目标0,值计数器

当在Flow Control插件中将counter变量与gotoIflabel命令一起使用时,将具有for循环,如下图所示。

selenium编写脚本_用Selenium编写脚本_第17张图片

此循环againgotolabel >开始,并一直循环直到counter变量达到10。这时,循环停止并转到very_end标签。

返回变量

某些命令返回正确错误的结果。 您可以将布尔值存储在变量中以供以后使用。

下图显示了Selenium变量示例。 在“目标”字段中测试条件并将其存储在isDone变量中之后, storeElementPresent返回true或false。 然后,在转到脚本的另一部分(例如标记为Done的脚本)之前,使用gotoIf命令检查isDone变量。

selenium编写脚本_用Selenium编写脚本_第18张图片

结论

通过执行本部分中的步骤,您现在可以创建一个自定义的Selenium脚本来探测您自己的站点。 在第2部分中 ,您将学习如何将此脚本上传到Application Performance Management并开始监视您的站点。

翻译自: https://www.ibm.com/developerworks/library/mw-1604-chan1-trs/1604-chan.html

你可能感兴趣的:(selenium编写脚本_用Selenium编写脚本)