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

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

  8. 要完成探测方案,请单击Selenium-Web Browser Automation链接。 记住,Selenium应该仍在录音。
  9. 验证What is Selenium? 文本在Selenium主页上。 使用步骤7中说明的相同方法。
    另一个verifyText上下文菜单

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

整理脚本

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

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

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

    click和verifyText命令

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

    verifyText命令
  5. 使用与自己的html文件相同的名称保存每个测试用例(页面)。
    将测试用例另存为html页面
  6. 将此探测方案另存为一个测试套件。 使用.testsuite扩展名可使Application Performance Management仪表板工具了解这是一个合成脚本。
    将测试套件另存为probe_demo1.testsuite

测试录制的脚本

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

  1. 单击运行测试套件按钮。
    运行测试套件按钮
  2. 日志选项卡上,验证结果。 您可能会发现Web Browser Automation not found错误消息,如下图所示。
    Selenium中的“日志”选项卡

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

    为解决方法添加暂停命令
  3. 保存并重新运行测试套件,这应该通过此时间。

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

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

  • 一个.testsuite文件
  • .html代表在测试用例文件.testsuite文件
压缩所有Selenium文件

保存.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 IDE中可用的变量。 两个示例是for循环return变量

for循环

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

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

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

当您将gotoIfcounter变量与gotoIflabel命令一起使用时,将具有for循环,如下图所示。

gotoIf标记流控制示例

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

返回变量

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

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

Selenium变量示例

结论

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

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

selenium编写脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值