selenium编写脚本

    技术2022-08-01  70

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

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

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

    创建一个基本的Selenium脚本

    探测技巧

    探测的概念是确定站点是否正常运行。 如果探针检测到站点问题,则会根据警报配置报告问题。 在开始探究网站之前,请最小化步骤或交易的数量。 另外,使脚本尽可能简单。

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

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

    记录脚本

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

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

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

    gotoIf gotolabel while, label

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

    在脚本中构建流控制逻辑

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

    Selenium脚本中的变量

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

    for循环

    使用充当计数器的变量和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

    Processed: 0.010, SQL: 9